diff --git a/.github/workflows/semantic.yml b/.github/workflows/semantic.yml index 56ef18ce..4cb3eabe 100644 --- a/.github/workflows/semantic.yml +++ b/.github/workflows/semantic.yml @@ -17,7 +17,7 @@ jobs: - name: Platform label uses: agilepathway/label-checker@v1.0.104 with: - any_of: config,core,catalogs,csd,csf,curp,pdf,rfc,utils,xml,xsd,complementos,openssl,saxon,schema + any_of: config,core,catalogs,csd,csf,curp,pdf,rfc,utils,xml,xsd,complementos,openssl,saxon,schema,transform,types,elements repo_token: ${{ secrets.GITHUB_TOKEN }} check-title: @@ -48,3 +48,8 @@ jobs: saxon publish schema + transform + types + elements + expresiones + xml2json diff --git a/commitlint.config.js b/commitlint.config.js index 7143d4bc..84fc003e 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -27,14 +27,19 @@ module.exports = { 'saxon', 'publish', 'xsd', - 'schema' + 'schema', + 'transform', + 'types', + 'elements', + 'expresiones', + 'xml2json' ] ], 'type-enum': [ 2, 'always', [ - 'feat', 'fix', 'docs', 'style', 'refactor', 'test', 'revert', 'content', 'npm', // For articles, tutorials, etc... + 'feat', 'fix', 'docs', 'style', 'refactor', 'test', 'revert', 'content', 'npm', 'chore' // For articles, tutorials, etc... ], ], } diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 935fa918..2515554d 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -402,10 +402,6 @@ "name": "eslint-plugin-react", "allowedCategories": [ "libraries" ] }, - { - "name": "eslint-plugin-react-hooks", - "allowedCategories": [ "libraries" ] - }, { "name": "eslint-plugin-sort-destructure-keys", "allowedCategories": [ "libraries" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index aab5d0d6..ba13eea8 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -22,11 +22,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -61,7 +61,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -79,11 +79,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -104,11 +104,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -143,7 +143,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -164,11 +164,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -201,11 +201,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -243,7 +243,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -264,11 +264,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -289,17 +289,20 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) '@types/node': specifier: ^18.11.3 version: 18.19.57 + '@types/pdf-parse': + specifier: ^1.1.4 + version: 1.1.4 '@vitest/coverage-v8': specifier: 2.1.3 version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) @@ -307,7 +310,7 @@ importers: specifier: 2.1.3 version: 2.1.3(vitest@2.1.3) eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 rimraf: specifier: ^5.0.0 @@ -322,11 +325,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -350,11 +353,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -389,7 +392,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -407,11 +410,166 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + vitest: + specifier: 2.1.3 + version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) + + ../../packages/cfdi/elements: + dependencies: + '@cfdi/catalogos': + specifier: workspace:* + version: link:../catalogos + '@cfdi/complementos': + specifier: workspace:* + version: link:../complementos + '@cfdi/csd': + specifier: workspace:* + version: link:../csd + '@cfdi/xsd': + specifier: workspace:* + version: link:../xsd + '@saxon-he/cli': + specifier: workspace:* + version: link:../../clir/saxon-he + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + devDependencies: + '@recreando/eslint-settings': + specifier: workspace:* + version: link:../../../rigs/eslint + '@recreando/typescript-settings': + specifier: workspace:* + version: link:../../../rigs/typescript + '@rushstack/eslint-config': + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/heft': + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) + '@size-limit/preset-small-lib': + specifier: ^7.0.8 + version: 7.0.8(size-limit@7.0.8) + '@types/node': + specifier: ^18.11.3 + version: 18.19.57 + '@vitest/coverage-v8': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) + '@vitest/ui': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3) + eslint: + specifier: ^8.57.0 + version: 8.57.1 + rimraf: + specifier: ^5.0.0 + version: 5.0.10 + size-limit: + specifier: ^7.0.8 + version: 7.0.8 + tsdx: + specifier: ^0.14.1 + version: 0.14.1(@types/babel__core@7.20.5)(@types/node@18.19.57) + tslib: + specifier: ^2.4.0 + version: 2.8.0 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ~4.2.1 + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + vitest: + specifier: 2.1.3 + version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) + + ../../packages/cfdi/expresiones: + dependencies: + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + devDependencies: + '@recreando/eslint-settings': + specifier: workspace:* + version: link:../../../rigs/eslint + '@recreando/jest': + specifier: workspace:* + version: link:../../../rigs/jest + '@recreando/typescript-settings': + specifier: workspace:* + version: link:../../../rigs/typescript + '@rushstack/eslint-config': + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/heft': + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) + '@size-limit/preset-small-lib': + specifier: ^7.0.8 + version: 7.0.8(size-limit@7.0.8) + '@testing-library/dom': + specifier: ^8.19.0 + version: 8.20.1 + '@testing-library/jest-dom': + specifier: ^5.16.1 + version: 5.17.0 + '@types/deep-freeze': + specifier: ^0.1.2 + version: 0.1.5 + '@types/jest': + specifier: ^27.5.0 + version: 27.5.2 + '@types/node': + specifier: ^18.11.3 + version: 18.19.57 + '@types/testing-library__jest-dom': + specifier: ^5.9.1 + version: 5.14.9 + '@vitest/coverage-v8': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) + '@vitest/ui': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3) + chalk: + specifier: ^4.0.0 + version: 4.1.2 + chokidar: + specifier: ^3.5.2 + version: 3.6.0 + eslint: + specifier: ^8.57.0 + version: 8.57.1 + husky: + specifier: ^8.0.1 + version: 8.0.3 + jest: + specifier: ^28.1.2 + version: 28.1.3(@types/node@18.19.57) + rimraf: + specifier: ^5.0.0 + version: 5.0.10 + size-limit: + specifier: ^7.0.8 + version: 7.0.8 + tsdx: + specifier: ^0.14.1 + version: 0.14.1(@types/babel__core@7.20.5)(@types/node@18.19.57) + tslib: + specifier: ^2.4.0 + version: 2.8.0 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ~4.2.1 + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -462,11 +620,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -504,7 +662,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -522,11 +680,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -543,11 +701,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -582,7 +740,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -600,11 +758,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -637,11 +795,93 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/heft': + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) + '@size-limit/preset-small-lib': + specifier: ^7.0.8 + version: 7.0.8(size-limit@7.0.8) + '@testing-library/dom': + specifier: ^8.19.0 + version: 8.20.1 + '@testing-library/jest-dom': + specifier: ^5.16.1 + version: 5.17.0 + '@types/deep-freeze': + specifier: ^0.1.2 + version: 0.1.5 + '@types/jest': + specifier: ^27.5.0 + version: 27.5.2 + '@types/node': + specifier: ^18.11.3 + version: 18.19.57 + '@types/testing-library__jest-dom': + specifier: ^5.9.1 + version: 5.14.9 + '@vitest/coverage-v8': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) + '@vitest/ui': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3) + chalk: + specifier: ^4.0.0 + version: 4.1.2 + chokidar: + specifier: ^3.5.2 + version: 3.6.0 + eslint: + specifier: ^8.57.0 + version: 8.57.1 + husky: + specifier: ^8.0.1 + version: 8.0.3 + jest: + specifier: ^28.1.2 + version: 28.1.3(@types/node@18.19.57) + size-limit: + specifier: ^7.0.8 + version: 7.0.8 + tsdx: + specifier: ^0.14.1 + version: 0.14.1(@types/babel__core@7.20.5)(@types/node@18.19.57) + tslib: + specifier: ^2.4.0 + version: 2.8.0 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ~4.2.1 + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + vitest: + specifier: 2.1.3 + version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) + + ../../packages/cfdi/transform: + dependencies: + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + devDependencies: + '@recreando/eslint-settings': + specifier: workspace:* + version: link:../../../rigs/eslint + '@recreando/jest': + specifier: workspace:* + version: link:../../../rigs/jest + '@recreando/typescript-settings': + specifier: workspace:* + version: link:../../../rigs/typescript + '@rushstack/eslint-config': + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -676,7 +916,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -684,6 +924,9 @@ importers: jest: specifier: ^28.1.2 version: 28.1.3(@types/node@18.19.57) + rimraf: + specifier: ^5.0.0 + version: 5.0.10 size-limit: specifier: ^7.0.8 version: 7.0.8 @@ -694,11 +937,81 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + vitest: + specifier: 2.1.3 + version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) + + ../../packages/cfdi/types: + dependencies: + '@cfdi/catalogos': + specifier: workspace:* + version: link:../catalogos + '@cfdi/complementos': + specifier: workspace:* + version: link:../complementos + '@cfdi/csd': + specifier: workspace:* + version: link:../csd + '@cfdi/xsd': + specifier: workspace:* + version: link:../xsd + '@saxon-he/cli': + specifier: workspace:* + version: link:../../clir/saxon-he + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + devDependencies: + '@recreando/eslint-settings': + specifier: workspace:* + version: link:../../../rigs/eslint + '@recreando/typescript-settings': + specifier: workspace:* + version: link:../../../rigs/typescript + '@rushstack/eslint-config': + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/heft': + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) + '@size-limit/preset-small-lib': + specifier: ^7.0.8 + version: 7.0.8(size-limit@7.0.8) + '@types/node': + specifier: ^18.11.3 + version: 18.19.57 + '@vitest/coverage-v8': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) + '@vitest/ui': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3) + eslint: + specifier: ^8.57.0 + version: 8.57.1 + rimraf: + specifier: ^5.0.0 + version: 5.0.10 + size-limit: + specifier: ^7.0.8 + version: 7.0.8 + tsdx: + specifier: ^0.14.1 + version: 0.14.1(@types/babel__core@7.20.5)(@types/node@18.19.57) + tslib: + specifier: ^2.4.0 + version: 2.8.0 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ~4.2.1 + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -722,11 +1035,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -761,7 +1074,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -779,11 +1092,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -816,26 +1129,111 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/heft': + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) + '@size-limit/preset-small-lib': + specifier: ^7.0.8 + version: 7.0.8(size-limit@7.0.8) + '@types/node': + specifier: ^18.11.3 + version: 18.19.57 + '@vitest/coverage-v8': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) + '@vitest/ui': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3) + eslint: + specifier: ^8.57.0 + version: 8.57.1 + rimraf: + specifier: ^5.0.0 + version: 5.0.10 + size-limit: + specifier: ^7.0.8 + version: 7.0.8 + tsdx: + specifier: ^0.14.1 + version: 0.14.1(@types/babel__core@7.20.5)(@types/node@18.19.57) + tslib: + specifier: ^2.4.0 + version: 2.8.0 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ~4.2.1 + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + vitest: + specifier: 2.1.3 + version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) + + ../../packages/cfdi/xml2json: + dependencies: + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + devDependencies: + '@recreando/eslint-settings': + specifier: workspace:* + version: link:../../../rigs/eslint + '@recreando/jest': + specifier: workspace:* + version: link:../../../rigs/jest + '@recreando/typescript-settings': + specifier: workspace:* + version: link:../../../rigs/typescript + '@rushstack/eslint-config': + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) + '@testing-library/dom': + specifier: ^8.19.0 + version: 8.20.1 + '@testing-library/jest-dom': + specifier: ^5.16.1 + version: 5.17.0 + '@types/deep-freeze': + specifier: ^0.1.2 + version: 0.1.5 + '@types/jest': + specifier: ^27.5.0 + version: 27.5.2 '@types/node': specifier: ^18.11.3 version: 18.19.57 + '@types/testing-library__jest-dom': + specifier: ^5.9.1 + version: 5.14.9 '@vitest/coverage-v8': specifier: 2.1.3 version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) '@vitest/ui': specifier: 2.1.3 version: 2.1.3(vitest@2.1.3) + chalk: + specifier: ^4.0.0 + version: 4.1.2 + chokidar: + specifier: ^3.5.2 + version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 + husky: + specifier: ^8.0.1 + version: 8.0.3 + jest: + specifier: ^28.1.2 + version: 28.1.3(@types/node@18.19.57) rimraf: specifier: ^5.0.0 version: 5.0.10 @@ -849,11 +1247,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -883,11 +1281,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -922,7 +1320,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -943,11 +1341,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -974,11 +1372,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -1016,7 +1414,7 @@ importers: specifier: ^3.5.2 version: 3.6.0 eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 husky: specifier: ^8.0.1 @@ -1034,11 +1432,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -1059,11 +1457,11 @@ importers: specifier: workspace:* version: link:../../../rigs/typescript '@rushstack/eslint-config': - specifier: ^2.6.0 - version: 2.6.2(eslint@8.57.1)(typescript@4.9.5) + specifier: ^4.0.2 + version: 4.0.2(eslint@8.57.1)(typescript@5.6.3) '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@size-limit/preset-small-lib': specifier: ^7.0.8 version: 7.0.8(size-limit@7.0.8) @@ -1077,7 +1475,7 @@ importers: specifier: 2.1.3 version: 2.1.3(vitest@2.1.3) eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 size-limit: specifier: ^7.0.8 @@ -1089,11 +1487,11 @@ importers: specifier: ^2.4.0 version: 2.8.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 vite-tsconfig-paths: specifier: ~4.2.1 - version: 4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + version: 4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) vitest: specifier: 2.1.3 version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) @@ -1101,35 +1499,23 @@ importers: ../../rigs/eslint: dependencies: '@typescript-eslint/eslint-plugin': - specifier: ^5.22.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) + specifier: ^8.13.0 + version: 8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) '@typescript-eslint/parser': - specifier: ^5.22.0 - version: 5.62.0(eslint@8.57.1)(typescript@4.9.5) - eslint-config-airbnb: - specifier: ^19.0.4 - version: 19.0.4(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@2.5.1(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1) - eslint-config-airbnb-base: - specifier: ^15.0.0 - version: 15.0.0(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1) - eslint-config-airbnb-typescript: - specifier: ^17.0.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1) + specifier: ^8.13.0 + version: 8.13.0(eslint@8.57.1)(typescript@5.6.3) eslint-config-prettier: specifier: ^8.5.0 version: 8.10.0(eslint@8.57.1) eslint-import-resolver-typescript: specifier: ^2.7.1 version: 2.7.1(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1) - eslint-plugin-better-styled-components: - specifier: ^1.1.2 - version: 1.1.2 eslint-plugin-import: specifier: ^2.26.0 version: 2.31.0(eslint@8.57.1) eslint-plugin-jest: - specifier: ^26.1.5 - version: 26.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) + specifier: ^28.9.0 + version: 28.9.0(@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(jest@28.1.3)(typescript@5.6.3) eslint-plugin-jsdoc: specifier: ^39.2.6 version: 39.9.1(eslint@8.57.1) @@ -1151,46 +1537,28 @@ importers: stylelint-config-recommended: specifier: ^5.0.0 version: 5.0.0(stylelint@13.13.1) - stylelint-config-styled-components: - specifier: ^0.1.1 - version: 0.1.1 stylelint-order: specifier: ^4.1.0 version: 4.1.0(stylelint@13.13.1) - stylelint-processor-styled-components: - specifier: ^1.10.0 - version: 1.10.0 devDependencies: eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 ../../rigs/jest: devDependencies: '@babel/core': specifier: ^7.17.9 - version: 7.25.8 + version: 7.25.8(supports-color@9.4.0) '@babel/preset-env': specifier: ^7.17.10 version: 7.25.8(@babel/core@7.25.8) '@recreando/typescript-settings': specifier: workspace:* version: link:../typescript - '@testing-library/dom': - specifier: ^8.19.0 - version: 8.20.1 - '@testing-library/jest-dom': - specifier: ^5.16.1 - version: 5.17.0 - '@testing-library/react': - specifier: ^13.2.0 - version: 13.4.0 - '@testing-library/user-event': - specifier: ^13.5.0 - version: 13.5.0(@testing-library/dom@8.20.1) '@types/jest': specifier: ^27.5.0 version: 27.5.2 @@ -1221,30 +1589,21 @@ importers: jest-light-runner: specifier: ^0.2.1 version: 0.2.2(jest@28.1.3(@types/node@18.19.57)) - jest-styled-components: - specifier: ^7.0.8 - version: 7.2.0(styled-components@5.3.0(@babel/core@7.25.8)(react-is@18.3.1)) - jest-transform-graphql: - specifier: ^2.1.0 - version: 2.1.0 jest-watch-typeahead: specifier: ^1.0.0 version: 1.1.0(jest@28.1.3(@types/node@18.19.57)) - styled-components: - specifier: 5.3.0 - version: 5.3.0(@babel/core@7.25.8)(react-is@18.3.1) ts-jest: specifier: ^28.0.3 - version: 28.0.8(@babel/core@7.25.8)(@jest/types@28.1.3)(babel-jest@28.1.3(@babel/core@7.25.8))(jest@28.1.3(@types/node@18.19.57))(typescript@4.9.5) + version: 28.0.8(@babel/core@7.25.8)(@jest/types@28.1.3)(babel-jest@28.1.3(@babel/core@7.25.8))(jest@28.1.3(@types/node@18.19.57))(typescript@5.6.3) ts-loader: specifier: 9.2.6 - version: 9.2.6(typescript@4.9.5)(webpack@5.95.0) + version: 9.2.6(typescript@5.6.3)(webpack@5.95.0) tsconfig-paths-webpack-plugin: specifier: ^3.5.2 version: 3.5.2 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 webpack: specifier: ^5.72.0 version: 5.95.0 @@ -1252,23 +1611,45 @@ importers: ../../rigs/typescript: dependencies: '@rushstack/heft': - specifier: ^0.45.1 - version: 0.45.14 + specifier: ^0.68.6 + version: 0.68.6(@types/node@18.19.57) '@rushstack/heft-jest-plugin': - specifier: ^0.3.1 - version: 0.3.45(@rushstack/heft@0.45.14) + specifier: ^0.12.18 + version: 0.12.18(@rushstack/heft@0.68.6(@types/node@18.19.57))(@types/node@18.19.57)(jest-environment-node@29.7.0) eslint: - specifier: ^8.26.0 + specifier: ^8.57.0 version: 8.57.1 jest-environment-node: - specifier: ^27.5.1 - version: 27.5.1 + specifier: ^29.5.0 + version: 29.7.0 tsconfig-paths: specifier: ^4.0.0 version: 4.2.0 typescript: - specifier: ^4.8.4 - version: 4.9.5 + specifier: ^5.6.3 + version: 5.6.3 + + ../../rigs/vite: + dependencies: + vite: + specifier: ^4.0.0 + version: 4.5.5(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0) + devDependencies: + '@vitest/coverage-v8': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0)) + '@vitest/ui': + specifier: 2.1.3 + version: 2.1.3(vitest@2.1.3) + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ~4.2.1 + version: 4.2.3(typescript@5.6.3)(vite@4.5.5(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)) + vitest: + specifier: 2.1.3 + version: 2.1.3(@types/node@18.19.57)(@vitest/ui@2.1.3)(jsdom@19.0.0)(sugarss@2.0.0)(terser@5.36.0) packages: @@ -1881,18 +2262,6 @@ packages: engines: {node: '>=0.1.95'} hasBin: true - '@emotion/is-prop-valid@0.8.8': - resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} - - '@emotion/memoize@0.7.4': - resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} - - '@emotion/stylis@0.8.5': - resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==} - - '@emotion/unitless@0.7.5': - resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} - '@es-joy/jsdoccomment@0.36.1': resolution: {integrity: sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==} engines: {node: ^14 || ^16 || ^17 || ^18 || ^19} @@ -1903,60 +2272,120 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -1969,72 +2398,144 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -2047,8 +2548,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.1': - resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': @@ -2120,30 +2621,30 @@ packages: resolution: {integrity: sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==} engines: {node: '>= 8.3'} - '@jest/console@27.5.1': - resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/console@28.1.3': resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/core@25.5.4': resolution: {integrity: sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==} engines: {node: '>= 8.3'} - '@jest/core@27.4.7': - resolution: {integrity: sha512-n181PurSJkVMS+kClIFSX/LLvw9ExSb+4IMtD6YnfxZVerw9ANYtW0bPrm0MJu2pfe9SY9FJ9FtQ+MdZkrZwjg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/core@28.1.3': + resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - '@jest/core@28.1.3': - resolution: {integrity: sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/core@29.5.0': + resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -2154,62 +2655,70 @@ packages: resolution: {integrity: sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==} engines: {node: '>= 8.3'} - '@jest/environment@27.5.1': - resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/environment@28.1.3': resolution: {integrity: sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect-utils@28.1.3': resolution: {integrity: sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect@28.1.3': resolution: {integrity: sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/fake-timers@25.5.0': resolution: {integrity: sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==} engines: {node: '>= 8.3'} - '@jest/fake-timers@27.5.1': - resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/fake-timers@28.1.3': resolution: {integrity: sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/globals@25.5.2': resolution: {integrity: sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==} engines: {node: '>= 8.3'} - '@jest/globals@27.5.1': - resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/globals@28.1.3': resolution: {integrity: sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/reporters@25.5.1': resolution: {integrity: sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==} engines: {node: '>= 8.3'} - '@jest/reporters@27.4.6': - resolution: {integrity: sha512-+Zo9gV81R14+PSq4wzee4GC2mhAN9i9a7qgJWL90Gpx7fHYkWpTBvwWNZUXvJByYR9tAVBdc8VxDWqfJyIUrIQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/reporters@28.1.3': + resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - '@jest/reporters@28.1.3': - resolution: {integrity: sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/reporters@29.5.0': + resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -2220,70 +2729,74 @@ packages: resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/source-map@25.5.0': resolution: {integrity: sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==} engines: {node: '>= 8.3'} - '@jest/source-map@27.5.1': - resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/source-map@28.1.2': resolution: {integrity: sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-result@25.5.0': resolution: {integrity: sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==} engines: {node: '>= 8.3'} - '@jest/test-result@27.5.1': - resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/test-result@28.1.3': resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-sequencer@25.5.4': resolution: {integrity: sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==} engines: {node: '>= 8.3'} - '@jest/test-sequencer@27.5.1': - resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/test-sequencer@28.1.3': resolution: {integrity: sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/transform@25.5.1': resolution: {integrity: sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==} engines: {node: '>= 8.3'} - '@jest/transform@27.4.6': - resolution: {integrity: sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - '@jest/transform@27.5.1': - resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/transform@28.1.3': resolution: {integrity: sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/transform@29.5.0': + resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/types@25.5.0': resolution: {integrity: sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==} engines: {node: '>= 8.3'} - '@jest/types@27.5.1': - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/types@28.1.3': resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -2305,11 +2818,23 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@microsoft/tsdoc-config@0.16.2': - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + '@jsep-plugin/assignment@1.3.0': + resolution: {integrity: sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==} + engines: {node: '>= 10.16.0'} + peerDependencies: + jsep: ^0.4.0||^1.0.0 + + '@jsep-plugin/regex@1.0.4': + resolution: {integrity: sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==} + engines: {node: '>= 10.16.0'} + peerDependencies: + jsep: ^0.4.0||^1.0.0 + + '@microsoft/tsdoc-config@0.17.0': + resolution: {integrity: sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==} - '@microsoft/tsdoc@0.14.2': - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + '@microsoft/tsdoc@0.15.0': + resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -2452,74 +2977,98 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@rushstack/eslint-config@2.6.2': - resolution: {integrity: sha512-EcZENq5HlXe5XN9oFZ90K8y946zBXRgliNhy+378H0oK00v3FYADj8aSisEHS5OWz4HO0hYWe6IU57CNg+syYQ==} + '@rushstack/eslint-config@4.0.2': + resolution: {integrity: sha512-RFLynEk5hiGjgzFKephENrBWZZfoQe+3e76Q78KXjeGsndbaZXDHy0OxLfZethlEutDQEDiE3vpkbJ1mfcMeGg==} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '>=3.0.0' + eslint: ^8.57.0 + typescript: '>=4.7.0' - '@rushstack/eslint-patch@1.1.4': - resolution: {integrity: sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA==} + '@rushstack/eslint-patch@1.10.4': + resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} - '@rushstack/eslint-plugin-packlets@0.4.1': - resolution: {integrity: sha512-A+mb+45fAUV6SRRlRy5EXrZAHNTnvOO3ONxw0hmRDcvyPAJwoX0ClkKQriz56QQE5SL4sPxhYoqbkoKbBmsxcA==} + '@rushstack/eslint-plugin-packlets@0.9.2': + resolution: {integrity: sha512-rZofSLJpwyP7Xo6e4eKYkI7N4JM5PycvPuoX5IEK08PgxPDm/k5pdltH9DkIKnmWvLrxIMU+85VrB5xnjbK0RQ==} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@rushstack/eslint-plugin-security@0.3.1': - resolution: {integrity: sha512-LOBJj7SLPkeonBq2CD9cKqujwgc84YXJP18UXmGYl8xE3OM+Fwgnav7GzsakyvkeWJwq7EtpZjjSW8DTpwfA4w==} + '@rushstack/eslint-plugin-security@0.8.3': + resolution: {integrity: sha512-2l6bSIyTgaejiRPiFCsons/HA8sS7bKhmL/RHdAZo54jm/W/Xqb4zaFn4+OuMCNLASQhqXMc8FeYPF0V7t1Aow==} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@rushstack/eslint-plugin@0.9.1': - resolution: {integrity: sha512-iMfRyk9FE1xdhuenIYwDEjJ67u7ygeFw/XBGJC2j4GHclznHWRfSGiwTeYZ66H74h7NkVTuTp8RYw/x2iDblOA==} + '@rushstack/eslint-plugin@0.16.1': + resolution: {integrity: sha512-e+VVtwBvuGqvVCcXUDTireQFfaIncmlD6rOBils0BeGkrLbP1r330/AFcRoYQEZUZpdhVxFtJrIq48HIlWBFzA==} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@rushstack/heft-config-file@0.11.3': - resolution: {integrity: sha512-QovvxzgCRYOIjidJbps/t70J2467AKJsqe+pcfEkkf2s5LU0LEuda+jaCyctpPBHo8fEH+jsFS+MZl+VD8aihA==} - engines: {node: '>=10.13.0'} - - '@rushstack/heft-config-file@0.8.9': - resolution: {integrity: sha512-Gb+a7KFXv9mUuogrCfNAvSsnbn25DfAqoqOWXk2s9HpKOpqNK1Gbpd8d5e8JeaBIV3LqFOyav8lj/PXn1Fe1CQ==} + '@rushstack/heft-config-file@0.15.8': + resolution: {integrity: sha512-qIhNBEwAZ+Ceh/axEbW4UoUP5F/hzzmjkYFZZuKQd91LWcWKKVriiy0izcx5uYMIJEtm5F0JhS/OUykO0xEpLg==} engines: {node: '>=10.13.0'} - '@rushstack/heft-jest-plugin@0.3.45': - resolution: {integrity: sha512-8mPtcP8YShrLRmBJyzpRiCO7KClbjM3agydfDJMCsBcjycETV0J98unrg+8A+Rm6Uftmcrk+SDq7Xd5ugt0IBw==} + '@rushstack/heft-jest-plugin@0.12.18': + resolution: {integrity: sha512-aHtHIdQiW7uxihUvc2SicfCfKEGGkxm9+qjMvktCn3m/f0GBP7aAGByuJR1+aJM4oO9HnUeRpI4hqD0QXBcVyg==} peerDependencies: - '@rushstack/heft': ^0.48.8 + '@rushstack/heft': ^0.68.6 + jest-environment-jsdom: ^29.5.0 + jest-environment-node: ^29.5.0 + peerDependenciesMeta: + jest-environment-jsdom: + optional: true + jest-environment-node: + optional: true - '@rushstack/heft@0.45.14': - resolution: {integrity: sha512-1tR91ICXj74DBnCuAJlG2ZmHXCMCryYc3r0MzD1iX3DTkFrP+etliyOttuBQY2h9cb+l/CKWt/oUFZH0IohdMg==} + '@rushstack/heft@0.68.6': + resolution: {integrity: sha512-effhdx7MzVQqVms1Fwh7Ey9qsBJ2y47+PTv3qM2fh+M/mprKDL6iex6Mnb6KwkN3C8f744dTXHxNKdF3+6fOnQ==} engines: {node: '>=10.13.0'} hasBin: true - '@rushstack/node-core-library@3.48.0': - resolution: {integrity: sha512-vgkG5gfYGiomnv3Lx4fxFhw0ytTBiAgMAT/6gkiYYracyv6g/Id7BYN+NtTFsHwSA8hSHvK42MOqQXqx04jYoA==} + '@rushstack/node-core-library@5.9.0': + resolution: {integrity: sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true - '@rushstack/node-core-library@3.53.2': - resolution: {integrity: sha512-FggLe5DQs0X9MNFeJN3/EXwb+8hyZUTEp2i+V1e8r4Va4JgkjBNY0BuEaQI+3DW6S4apV3UtXU3im17MSY00DA==} + '@rushstack/operation-graph@0.2.33': + resolution: {integrity: sha512-bokTOAt8jNAMiMZuMs83GXK4GkfAVbj3mx7g0hYuyqTVw7M/EgJO7eL2S/WjqyLxljwHL3cesXSY+csvhbbggA==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true - '@rushstack/rig-package@0.3.13': - resolution: {integrity: sha512-4/2+yyA/uDl7LQvtYtFs1AkhSWuaIGEKhP9/KK2nNARqOVc5eCXmu1vyOqr5mPvNq7sHoIR+sG84vFbaKYGaDA==} + '@rushstack/rig-package@0.5.3': + resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} - '@rushstack/rig-package@0.3.17': - resolution: {integrity: sha512-nxvAGeIMnHl1LlZSQmacgcRV4y1EYtgcDIrw6KkeVjudOMonlxO482PhDj3LVZEp6L7emSf6YSO2s5JkHlwfZA==} + '@rushstack/terminal@0.14.2': + resolution: {integrity: sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true - '@rushstack/tree-pattern@0.2.4': - resolution: {integrity: sha512-H8i0OinWsdKM1TKEKPeRRTw85e+/7AIFpxm7q1blceZJhuxRBjCGAUZvQXZK4CMLx75xPqh/h1t5WHwFmElAPA==} + '@rushstack/tree-pattern@0.3.4': + resolution: {integrity: sha512-9uROnkiHWsQqxW6HirXABfTRlgzhYp6tevbYIGkwKQ09VaayUBkvFvt/urDKMwlo+tGU0iQQLuVige6c48wTgw==} - '@rushstack/ts-command-line@4.12.1': - resolution: {integrity: sha512-S1Nev6h/kNnamhHeGdp30WgxZTA+B76SJ/P721ctP7DrnC+rrjAc6h/R80I4V0cA2QuEEcMdVOQCtK2BTjsOiQ==} + '@rushstack/ts-command-line@4.23.0': + resolution: {integrity: sha512-jYREBtsxduPV6ptNq8jOKp9+yx0ld1Tb/Tkdnlj8gTjazl1sF3DwX2VbluyYrNd0meWIL0bNeer7WDf5tKFjaQ==} '@sinclair/typebox@0.24.51': resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sinonjs/commons@1.8.6': resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} - '@sinonjs/fake-timers@8.1.0': - resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} '@sinonjs/fake-timers@9.1.2': resolution: {integrity: sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==} @@ -2566,23 +3115,6 @@ packages: resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==} engines: {node: '>=8', npm: '>=6', yarn: '>=1'} - '@testing-library/react@13.4.0': - resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==} - engines: {node: '>=12'} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - - '@testing-library/user-event@13.5.0': - resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==} - engines: {node: '>=10', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' - - '@tootallnate/once@1.1.2': - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - '@tootallnate/once@2.0.0': resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} @@ -2656,9 +3188,6 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@12.20.24': - resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} - '@types/node@18.19.57': resolution: {integrity: sha512-I2ioBd/IPrYDMv9UNR5NlPElOZ68QB7yY5V2EsLtSrTO0LM0PnCEFF9biLWHf5k+sIy4ohueCV9t4gk1AEdlVA==} @@ -2671,6 +3200,9 @@ packages: '@types/parse5@6.0.3': resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + '@types/pdf-parse@1.1.4': + resolution: {integrity: sha512-+gbBHbNCVGGYw1S9lAIIvrHW47UYOhMIFUsJcMkMrzy1Jf0vulBN3XQIjPgnoOXveMuHnF3b57fXROnY/Or7eg==} + '@types/pdfkit@0.13.5': resolution: {integrity: sha512-cR4gZA3xiMVDUf/O/ijVr6aIguvN72ZmCDLcWwM0ycqn5P8XDSjMX9PixzWEoDnlINoofxo2LCdV4KvdD9Waqg==} @@ -2683,15 +3215,6 @@ packages: '@types/prettier@2.7.3': resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - '@types/prop-types@15.7.13': - resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - - '@types/react-dom@18.3.1': - resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} - - '@types/react@18.3.11': - resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} - '@types/resolve@1.17.1': resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} @@ -2722,9 +3245,6 @@ packages: '@types/yargs@15.0.19': resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - '@types/yargs@16.0.9': - resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} - '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} @@ -2739,23 +3259,23 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@5.20.0': - resolution: {integrity: sha512-fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/eslint-plugin@8.1.0': + resolution: {integrity: sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/eslint-plugin@5.62.0': - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/eslint-plugin@8.13.0': + resolution: {integrity: sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -2767,12 +3287,6 @@ packages: peerDependencies: eslint: '*' - '@typescript-eslint/experimental-utils@5.20.0': - resolution: {integrity: sha512-w5qtx2Wr9x13Dp/3ic9iGOGmVXK5gMwyc8rwVgZU46K9WTjPZSyPvdER9Ycy+B5lNHvoz+z2muWhUvlTpQeu+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/parser@2.34.0': resolution: {integrity: sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -2783,61 +3297,67 @@ packages: typescript: optional: true - '@typescript-eslint/parser@5.20.0': - resolution: {integrity: sha512-UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@8.1.0': + resolution: {integrity: sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@5.62.0': - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@8.13.0': + resolution: {integrity: sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@5.20.0': - resolution: {integrity: sha512-h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@6.19.1': + resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} + engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.1.0': + resolution: {integrity: sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@5.20.0': - resolution: {integrity: sha512-WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.13.0': + resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.1.0': + resolution: {integrity: sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '*' typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/type-utils@5.62.0': - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/type-utils@8.13.0': + resolution: {integrity: sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '*' typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/types@5.20.0': - resolution: {integrity: sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@6.19.1': + resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} + engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@8.1.0': + resolution: {integrity: sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.13.0': + resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@2.34.0': resolution: {integrity: sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==} @@ -2848,43 +3368,62 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@5.20.0': - resolution: {integrity: sha512-36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/typescript-estree@6.19.1': + resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/typescript-estree@8.1.0': + resolution: {integrity: sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@5.20.0': - resolution: {integrity: sha512-lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/typescript-estree@8.13.0': + resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@6.19.1': + resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/visitor-keys@5.20.0': - resolution: {integrity: sha512-1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@8.1.0': + resolution: {integrity: sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/utils@8.13.0': + resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/visitor-keys@6.19.1': + resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/visitor-keys@8.1.0': + resolution: {integrity: sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/visitor-keys@8.13.0': + resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -3026,10 +3565,26 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + 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-draft-04@1.0.0: + resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} + peerDependencies: + ajv: ^8.5.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -3038,6 +3593,12 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -3246,18 +3807,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-jest@27.5.1: - resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - babel-jest@28.1.3: resolution: {integrity: sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: '@babel/core': ^7.8.0 + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + babel-plugin-annotate-pure-calls@0.4.0: resolution: {integrity: sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==} peerDependencies: @@ -3276,14 +3837,14 @@ packages: resolution: {integrity: sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==} engines: {node: '>= 8.3'} - babel-plugin-jest-hoist@27.5.1: - resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - babel-plugin-jest-hoist@28.1.3: resolution: {integrity: sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} @@ -3307,11 +3868,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-styled-components@2.1.4: - resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} - peerDependencies: - styled-components: '>= 2' - babel-plugin-transform-import-meta@2.2.1: resolution: {integrity: sha512-AxNh27Pcg8Kt112RGa3Vod2QS2YXKKJ6+nSvRtv7qQTJAdx0MZa4UHZ4lnxHUWA2MNbLuZQv5FVab4P1CoLOWw==} peerDependencies: @@ -3336,18 +3892,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - babel-preset-jest@27.5.1: - resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - babel-preset-jest@28.1.3: resolution: {integrity: sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: '@babel/core': ^7.0.0 + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + bail@1.0.5: resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} @@ -3449,9 +4005,6 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - camelize@1.0.1: - resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - caniuse-lite@1.0.30001669: resolution: {integrity: sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==} @@ -3502,10 +4055,6 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - chokidar@3.4.3: - resolution: {integrity: sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==} - engines: {node: '>= 8.10.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -3594,10 +4143,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colors@1.2.5: - resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==} - engines: {node: '>=0.1.90'} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -3605,10 +4150,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - comment-parser@1.3.1: resolution: {integrity: sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==} engines: {node: '>= 12.0.0'} @@ -3666,13 +4207,6 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - css-color-keywords@1.0.0: - resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} - engines: {node: '>=4'} - - css-to-react-native@3.2.0: - resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} - css.escape@1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} @@ -3694,9 +4228,6 @@ packages: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - curp@1.2.3: resolution: {integrity: sha512-o/NZE+1A1y77orlN8kBRa4+yG4m1owVI9V2KzEpHDV1z2k90rPCHuECYmXLyW4bcYOHdTf36EJuz6KWLn/hyKg==} engines: {npm: '>= 8.0.0'} @@ -3714,10 +4245,6 @@ packages: data-urls@1.1.0: resolution: {integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==} - data-urls@2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} - data-urls@3.0.2: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} @@ -3767,6 +4294,14 @@ packages: dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-eql@4.1.4: resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} @@ -3832,6 +4367,10 @@ packages: resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} @@ -3863,11 +4402,6 @@ packages: resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==} deprecated: Use your platform's native DOMException instead - domexception@2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - deprecated: Use your platform's native DOMException instead - domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} @@ -3896,9 +4430,9 @@ packages: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} engines: {node: '>=12'} - emittery@0.8.1: - resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} - engines: {node: '>=10'} + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -4091,6 +4625,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -4122,31 +4661,6 @@ packages: 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} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.2 - - eslint-config-airbnb-typescript@17.1.0: - resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0 - '@typescript-eslint/parser': ^5.0.0 || ^6.0.0 - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - - eslint-config-airbnb@19.0.4: - resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} - engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.28.0 - eslint-plugin-react-hooks: ^4.3.0 - eslint-config-prettier@6.15.0: resolution: {integrity: sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==} hasBin: true @@ -4191,10 +4705,6 @@ packages: eslint: optional: true - eslint-plugin-better-styled-components@1.1.2: - resolution: {integrity: sha512-pGLIv8Z05xnmMyDyLWV65KQs7HU+FN403Tqb5xv3BZvw5kjC3K18/aYm7mcRpLLPse5/lwhX8ieGQKflPgr0xQ==} - engines: {node: '>=0.10.0'} - eslint-plugin-flowtype@3.13.0: resolution: {integrity: sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==} engines: {node: '>=4'} @@ -4207,12 +4717,12 @@ packages: peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - eslint-plugin-jest@26.9.0: - resolution: {integrity: sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-plugin-jest@28.9.0: + resolution: {integrity: sha512-rLu1s1Wf96TgUUxSw6loVIkNtUjq1Re7A9QdCCHSohnvXEBAjuL420h0T/fMmkQlNsQP2GhQzEUpYHPfxBkvYQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 jest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -4254,8 +4764,8 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-promise@6.0.1: - resolution: {integrity: sha512-uM4Tgo5u3UWQiroOyDEsYcVMOo7re3zmno0IZmB5auxoaQNIceAbXEkSt8RNrKtaYehARHG06pYK6K1JhtP0Zw==} + eslint-plugin-promise@6.1.1: + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4266,8 +4776,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 - eslint-plugin-react@7.27.1: - resolution: {integrity: sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==} + eslint-plugin-react@7.33.2: + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -4284,8 +4794,8 @@ packages: peerDependencies: eslint: 3 - 9 - eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + eslint-plugin-tsdoc@0.3.0: + resolution: {integrity: sha512-0MuFdBrrJVBjT/gyhkP2BqpD0np1NxNLfQ38xXDlSs/KVVpKI2A6vN7jx2Rve/CyUsvOsMGwp9KKrinv7q9g3A==} eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} @@ -4303,20 +4813,10 @@ packages: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} - eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4417,14 +4917,14 @@ packages: resolution: {integrity: sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==} engines: {node: '>= 8.3'} - expect@27.5.1: - resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - expect@28.1.3: resolution: {integrity: sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -4454,10 +4954,6 @@ packages: fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -4595,10 +5091,6 @@ packages: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} - form-data@3.0.2: - resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==} - engines: {node: '>= 6'} - form-data@4.0.1: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} @@ -4625,11 +5117,6 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.1.3: - resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -4702,9 +5189,9 @@ packages: getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} - glob-escape@0.0.2: - resolution: {integrity: sha512-L/cXYz8x7qer1HAyUQ+mbjcUsJVdpRxpAf7CwqHoNBs9vTpABlGfNN4tzkDxt+u3Z7ZncVyKlCNPtzb0R/7WbA==} - engines: {node: '>= 0.10'} + git-repo-info@2.1.1: + resolution: {integrity: sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==} + engines: {node: '>= 4.0'} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -4721,10 +5208,6 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - glob@7.0.6: - resolution: {integrity: sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q==} - deprecated: Glob versions prior to v9 are no longer supported - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -4855,9 +5338,6 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -4868,10 +5348,6 @@ packages: html-encoding-sniffer@1.0.2: resolution: {integrity: sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==} - html-encoding-sniffer@2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} - html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -4886,10 +5362,6 @@ packages: htmlparser2@3.10.1: resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} - http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - http-proxy-agent@5.0.0: resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} engines: {node: '>= 6'} @@ -4934,6 +5406,10 @@ packages: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} engines: {node: '>= 4'} + ignore@5.1.9: + resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} + engines: {node: '>= 4'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -5296,22 +5772,22 @@ packages: resolution: {integrity: sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==} engines: {node: '>= 8.3'} - jest-changed-files@27.5.1: - resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-changed-files@28.1.3: resolution: {integrity: sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - jest-circus@27.5.1: - resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-circus@28.1.3: resolution: {integrity: sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-cli@25.5.4: resolution: {integrity: sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==} engines: {node: '>= 8.3'} @@ -5331,18 +5807,21 @@ packages: resolution: {integrity: sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==} engines: {node: '>= 8.3'} - jest-config@27.4.7: - resolution: {integrity: sha512-xz/o/KJJEedHMrIY9v2ParIoYSrSVY6IVeE4z5Z3i101GoA5XgfbJz+1C8EYPsv7u7f39dS8F9v46BHDhn0vlw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-config@28.1.3: + resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} peerDependencies: + '@types/node': '*' ts-node: '>=9.0.0' peerDependenciesMeta: + '@types/node': + optional: true ts-node: optional: true - jest-config@28.1.3: - resolution: {integrity: sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-config@29.5.0: + resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -5364,38 +5843,38 @@ packages: resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-docblock@25.3.0: resolution: {integrity: sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==} engines: {node: '>= 8.3'} - jest-docblock@27.5.1: - resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-docblock@28.1.1: resolution: {integrity: sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-each@25.5.0: resolution: {integrity: sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==} engines: {node: '>= 8.3'} - jest-each@27.5.1: - resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-each@28.1.3: resolution: {integrity: sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-environment-jsdom@25.5.0: resolution: {integrity: sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==} engines: {node: '>= 8.3'} - jest-environment-jsdom@27.5.1: - resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-environment-jsdom@28.1.3: resolution: {integrity: sha512-HnlGUmZRdxfCByd3GM2F100DgQOajUBzEitjGqIREcb45kGjZvRrKUdlaF6escXBdcXNl0OBh+1ZrfeZT3GnAg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -5404,14 +5883,14 @@ packages: resolution: {integrity: sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==} engines: {node: '>= 8.3'} - jest-environment-node@27.5.1: - resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-environment-node@28.1.3: resolution: {integrity: sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-get-type@25.2.6: resolution: {integrity: sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==} engines: {node: '>= 8.3'} @@ -5424,38 +5903,38 @@ packages: resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-haste-map@25.5.1: resolution: {integrity: sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==} engines: {node: '>= 8.3'} - jest-haste-map@27.5.1: - resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-haste-map@28.1.3: resolution: {integrity: sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-jasmine2@25.5.4: resolution: {integrity: sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==} engines: {node: '>= 8.3'} - jest-jasmine2@27.5.1: - resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-leak-detector@25.5.0: resolution: {integrity: sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==} engines: {node: '>= 8.3'} - jest-leak-detector@27.5.1: - resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-leak-detector@28.1.3: resolution: {integrity: sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-light-runner@0.2.2: resolution: {integrity: sha512-1SuBAnfrhmMIUKbGltvbIsCW9bIrCMeyd3EHaXTVI4dkmA6790tvV0j4UudYZsnpvS8h8X9Bl5iRCrRV8nR1/A==} engines: {node: '>=12.20.0'} @@ -5474,30 +5953,34 @@ packages: resolution: {integrity: sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@25.5.0: resolution: {integrity: sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==} engines: {node: '>= 8.3'} - jest-message-util@27.5.1: - resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-message-util@28.1.3: resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-mock@25.5.0: resolution: {integrity: sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==} engines: {node: '>= 8.3'} - jest-mock@27.5.1: - resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-mock@28.1.3: resolution: {integrity: sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-pnp-resolver@1.2.3: resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} engines: {node: '>=6'} @@ -5511,126 +5994,111 @@ packages: resolution: {integrity: sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==} engines: {node: '>= 8.3'} - jest-regex-util@27.5.1: - resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-regex-util@28.0.2: resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve-dependencies@25.5.4: resolution: {integrity: sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==} engines: {node: '>= 8.3'} - jest-resolve-dependencies@27.5.1: - resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-resolve-dependencies@28.1.3: resolution: {integrity: sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve@25.5.1: resolution: {integrity: sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==} engines: {node: '>= 8.3'} - jest-resolve@27.4.6: - resolution: {integrity: sha512-SFfITVApqtirbITKFAO7jOVN45UgFzcRdQanOFzjnbd+CACDoyeX7206JyU92l4cRr73+Qy/TlW51+4vHGt+zw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - jest-resolve@27.5.1: - resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-resolve@28.1.3: resolution: {integrity: sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-resolve@29.5.0: + resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runner@25.5.4: resolution: {integrity: sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==} engines: {node: '>= 8.3'} - jest-runner@27.5.1: - resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-runner@28.1.3: resolution: {integrity: sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runtime@25.5.4: resolution: {integrity: sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==} engines: {node: '>= 8.3'} hasBin: true - jest-runtime@27.5.1: - resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-runtime@28.1.3: resolution: {integrity: sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-serializer@25.5.0: resolution: {integrity: sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==} engines: {node: '>= 8.3'} - jest-serializer@27.5.1: - resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-snapshot@25.5.1: resolution: {integrity: sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==} engines: {node: '>= 8.3'} - jest-snapshot@27.4.6: - resolution: {integrity: sha512-fafUCDLQfzuNP9IRcEqaFAMzEe7u5BF7mude51wyWv7VRex60WznZIC7DfKTgSIlJa8aFzYmXclmN328aqSDmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - jest-snapshot@27.5.1: - resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-snapshot@28.1.3: resolution: {integrity: sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - jest-styled-components@7.2.0: - resolution: {integrity: sha512-gwyyveNjvuRA0pyhbQoydXZllLZESs2VuL5fXCabzh0buHPAOUfANtW7n5YMPmdC0sH3VB7h2eUGZ23+tjvaBA==} - engines: {node: '>= 12'} - peerDependencies: - styled-components: '>= 5' + jest-snapshot@29.5.0: + resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-transform-graphql@2.1.0: - resolution: {integrity: sha512-oLVErzg6bN9eJPB/b8c1+0go3K1F1OZNkvlbUfOgK+96ulfX/fnp+4jI3tjQ1IUVL2XcSjhzwDwNdwsNI5EhRg==} - peerDependencies: - graphql-tag: ^2.0.0 + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-util@25.5.0: resolution: {integrity: sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==} engines: {node: '>= 8.3'} - jest-util@27.5.1: - resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-util@28.1.3: resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-validate@25.5.0: resolution: {integrity: sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==} engines: {node: '>= 8.3'} - jest-validate@27.5.1: - resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-validate@28.1.3: resolution: {integrity: sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-watch-typeahead@0.5.0: resolution: {integrity: sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==} @@ -5644,14 +6112,14 @@ packages: resolution: {integrity: sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==} engines: {node: '>= 8.3'} - jest-watcher@27.5.1: - resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-watcher@28.1.3: resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@24.9.0: resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==} engines: {node: '>= 6'} @@ -5668,6 +6136,10 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest@25.5.4: resolution: {integrity: sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==} engines: {node: '>= 8.3'} @@ -5716,15 +6188,6 @@ packages: canvas: optional: true - jsdom@16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - jsdom@19.0.0: resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==} engines: {node: '>=12'} @@ -5734,6 +6197,10 @@ packages: canvas: optional: true + jsep@1.4.0: + resolution: {integrity: sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==} + engines: {node: '>= 10.16.0'} + jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -5778,9 +6245,10 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonpath-plus@4.0.0: - resolution: {integrity: sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==} - engines: {node: '>=10.0'} + jsonpath-plus@10.1.0: + resolution: {integrity: sha512-gHfV1IYqH8uJHYVTs8BJX1XKy2/rR93+f8QQi0xhx95aCiXn1ettYAd5T+7FU6wfqyDoX/wy0pm/fL3jOKJ9Lg==} + engines: {node: '>=18.0.0'} + hasBin: true jsprim@1.4.2: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} @@ -5856,9 +6324,6 @@ packages: lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} @@ -6015,6 +6480,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -6474,11 +6943,6 @@ packages: engines: {node: '>=4'} hasBin: true - prettier@2.3.2: - resolution: {integrity: sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==} - engines: {node: '>=10.13.0'} - hasBin: true - prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} engines: {node: '>=10.13.0'} @@ -6496,6 +6960,10 @@ packages: resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.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} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -6523,6 +6991,9 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + qrcode@1.5.4: resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} engines: {node: '>=10.13.0'} @@ -6577,10 +7048,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@3.5.0: - resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} - engines: {node: '>=8.10.0'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -6693,10 +7160,6 @@ packages: require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - requireindex@1.1.0: - resolution: {integrity: sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==} - engines: {node: '>=0.10.5'} - requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -6720,15 +7183,16 @@ packages: resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} engines: {node: '>=10'} + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + resolve@1.1.7: resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} resolve@1.17.0: resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -6799,6 +7263,11 @@ packages: resolution: {integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==} hasBin: true + rollup@3.29.5: + resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + rollup@4.24.0: resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -6880,8 +7349,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true @@ -6911,9 +7380,6 @@ packages: resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} engines: {node: '>=0.10.0'} - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -7197,30 +7663,16 @@ packages: style-search@0.1.0: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} - styled-components@5.3.0: - resolution: {integrity: sha512-bPJKwZCHjJPf/hwTJl6TbkSZg/3evha+XPEizrZUGb535jLImwDUdjTNxXqjjaASt2M4qO4AVfoHJNe3XB/tpQ==} - engines: {node: '>=10'} - peerDependencies: - react: '>= 16.8.0' - react-dom: '>= 16.8.0' - react-is: '>= 16.8.0' - stylelint-config-recommended@5.0.0: resolution: {integrity: sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==} peerDependencies: stylelint: ^13.13.0 - stylelint-config-styled-components@0.1.1: - resolution: {integrity: sha512-z5Xz/9GmvxO6e/DLzBMwkB85zHxEEjN6K7Cj80Bi+o/9vR9eS3GX3E9VuMnX9WLFYulqbqLtTapGGY28JBiy9Q==} - stylelint-order@4.1.0: resolution: {integrity: sha512-sVTikaDvMqg2aJjh4r48jsdfmqLT+nqB1MOsaBnvM3OwLx4S+WXcsxsgk5w18h/OZoxZCxuyXMh61iBHcj9Qiw==} peerDependencies: stylelint: ^10.0.1 || ^11.0.0 || ^12.0.0 || ^13.0.0 - stylelint-processor-styled-components@1.10.0: - resolution: {integrity: sha512-g4HpN9rm0JD0LoHuIOcd/FIjTZCJ0ErQ+dC3VTxp+dSvnkV+MklKCCmCQEdz5K5WxF4vPuzfVgdbSDuPYGZhoA==} - stylelint@13.13.1: resolution: {integrity: sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==} engines: {node: '>=10.13.0'} @@ -7326,15 +7778,9 @@ packages: throat@5.0.0: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - throat@6.0.2: - resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} - through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - timsort@0.3.0: - resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} - tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} @@ -7415,10 +7861,6 @@ packages: tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tr46@2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} - tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -7430,8 +7872,11 @@ packages: trough@1.0.5: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - true-case-path@2.2.1: - resolution: {integrity: sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==} + ts-api-utils@1.4.0: + resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' ts-jest@25.5.1: resolution: {integrity: sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==} @@ -7575,9 +8020,9 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + engines: {node: '>=14.17'} hasBin: true unbox-primitive@1.0.2: @@ -7678,10 +8123,6 @@ packages: resolution: {integrity: sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==} engines: {node: 8.x.x || >=10.10.0} - v8-to-istanbul@8.1.1: - resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} - engines: {node: '>=10.12.0'} - v8-to-istanbul@9.3.0: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} @@ -7692,10 +8133,6 @@ packages: validate-rfc@2.0.3: resolution: {integrity: sha512-WS7CyAz/sfzx6DryOPZvprqz7uxHcQh1yhzDunNX1vidSmprfN7Og66VRpCyU21U82Vzkof5/bOIOKan3dEXLA==} - validator@13.12.0: - resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} - engines: {node: '>= 0.10'} - validator@9.4.1: resolution: {integrity: sha512-YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==} engines: {node: '>= 0.10'} @@ -7723,6 +8160,34 @@ packages: vite: optional: true + vite@4.5.5: + resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vite@5.4.9: resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -7786,10 +8251,6 @@ packages: w3c-xmlserializer@1.1.2: resolution: {integrity: sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==} - w3c-xmlserializer@2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - w3c-xmlserializer@3.0.0: resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} engines: {node: '>=12'} @@ -7797,6 +8258,10 @@ packages: walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + watchpack@2.4.2: resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} @@ -7810,14 +8275,6 @@ packages: webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - webidl-conversions@5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - - webidl-conversions@6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -7867,10 +8324,6 @@ packages: whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - whatwg-url@8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -8050,11 +8503,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - zwitch@1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} @@ -8082,26 +8530,6 @@ snapshots: '@babel/compat-data@7.25.8': {} - '@babel/core@7.25.8': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) - '@babel/helpers': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - convert-source-map: 2.0.0 - debug: 4.3.7 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/core@7.25.8(supports-color@9.4.0)': dependencies: '@ampproject/remapping': 2.3.0 @@ -8135,7 +8563,7 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7': dependencies: - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 transitivePeerDependencies: - supports-color @@ -8150,32 +8578,32 @@ snapshots: '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-member-expression-to-functions': 7.25.7 '@babel/helper-optimise-call-expression': 7.25.7 '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-annotate-as-pure': 7.25.7 regexpu-core: 6.1.1 semver: 6.3.1 '@babel/helper-define-polyfill-provider@0.0.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-compilation-targets': 7.25.7 - '@babel/helper-module-imports': 7.25.7 + '@babel/helper-module-imports': 7.25.7(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 - debug: 4.3.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) + debug: 4.3.7(supports-color@9.4.0) lodash.debounce: 4.0.8 resolve: 1.22.8 semver: 6.3.1 @@ -8184,10 +8612,10 @@ snapshots: '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -8195,21 +8623,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.25.7': dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.7': - dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.25.7(supports-color@5.5.0)': - dependencies: - '@babel/traverse': 7.25.7(supports-color@5.5.0) + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 transitivePeerDependencies: - supports-color @@ -8221,19 +8635,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)': - dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 - '@babel/helper-simple-access': 7.25.7 - '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)(supports-color@9.4.0)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-module-imports': 7.25.7(supports-color@9.4.0) '@babel/helper-simple-access': 7.25.7(supports-color@9.4.0) '@babel/helper-validator-identifier': 7.25.7 @@ -8249,26 +8653,19 @@ snapshots: '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-wrap-function': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-member-expression-to-functions': 7.25.7 '@babel/helper-optimise-call-expression': 7.25.7 - '@babel/traverse': 7.25.7 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.25.7': - dependencies: - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -8281,7 +8678,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.25.7': dependencies: - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 transitivePeerDependencies: - supports-color @@ -8295,7 +8692,7 @@ snapshots: '@babel/helper-wrap-function@7.25.7': dependencies: '@babel/template': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 transitivePeerDependencies: - supports-color @@ -8318,25 +8715,25 @@ snapshots: '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8) @@ -8345,15 +8742,15 @@ snapshots: '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: @@ -8361,122 +8758,122 @@ snapshots: '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-async-generator-functions@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-imports': 7.25.7(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8) transitivePeerDependencies: @@ -8484,17 +8881,17 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-class-properties@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: @@ -8502,7 +8899,7 @@ snapshots: '@babel/plugin-transform-class-static-block@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: @@ -8510,52 +8907,52 @@ snapshots: '@babel/plugin-transform-classes@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color '@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/template': 7.25.7 '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-dynamic-import@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: @@ -8563,12 +8960,12 @@ snapshots: '@babel/plugin-transform-export-namespace-from@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: @@ -8576,99 +8973,99 @@ snapshots: '@babel/plugin-transform-function-name@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-json-strings@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-literals@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-logical-assignment-operators@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 - '@babel/helper-simple-access': 7.25.7 + '@babel/helper-simple-access': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-validator-identifier': 7.25.7 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8) + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: - supports-color '@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-nullish-coalescing-operator@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-numeric-separator@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-object-rest-spread@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.8) '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8) transitivePeerDependencies: @@ -8676,12 +9073,12 @@ snapshots: '@babel/plugin-transform-optional-catch-binding@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-optional-chaining@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: @@ -8689,12 +9086,12 @@ snapshots: '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 transitivePeerDependencies: @@ -8702,7 +9099,7 @@ snapshots: '@babel/plugin-transform-private-property-in-object@7.25.8(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-annotate-as-pure': 7.25.7 '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 @@ -8711,28 +9108,28 @@ snapshots: '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 regenerator-transform: 0.15.2 '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-spread@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-skip-transparent-expression-wrappers': 7.25.7 transitivePeerDependencies: @@ -8740,46 +9137,46 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8) '@babel/helper-plugin-utils': 7.25.7 '@babel/preset-env@7.25.8(@babel/core@7.25.8)': dependencies: '@babel/compat-data': 7.25.8 - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-compilation-targets': 7.25.7 '@babel/helper-plugin-utils': 7.25.7 '@babel/helper-validator-option': 7.25.7 @@ -8852,7 +9249,7 @@ snapshots: '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.8)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-plugin-utils': 7.25.7 '@babel/types': 7.25.8 esutils: 2.0.3 @@ -8867,30 +9264,6 @@ snapshots: '@babel/parser': 7.25.8 '@babel/types': 7.25.8 - '@babel/traverse@7.25.7': - dependencies: - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 - debug: 4.3.7 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.25.7(supports-color@5.5.0)': - dependencies: - '@babel/code-frame': 7.25.7 - '@babel/generator': 7.25.7 - '@babel/parser': 7.25.8 - '@babel/template': 7.25.7 - '@babel/types': 7.25.8 - debug: 4.3.7(supports-color@5.5.0) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.25.7(supports-color@9.4.0)': dependencies: '@babel/code-frame': 7.25.7 @@ -8916,16 +9289,6 @@ snapshots: exec-sh: 0.3.6 minimist: 1.2.8 - '@emotion/is-prop-valid@0.8.8': - dependencies: - '@emotion/memoize': 0.7.4 - - '@emotion/memoize@0.7.4': {} - - '@emotion/stylis@0.8.5': {} - - '@emotion/unitless@0.7.5': {} - '@es-joy/jsdoccomment@0.36.1': dependencies: comment-parser: 1.3.1 @@ -8935,72 +9298,138 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-loong64@0.14.54': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + '@esbuild/win32-x64@0.21.5': optional: true @@ -9009,12 +9438,12 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.1': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -9060,7 +9489,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -9096,22 +9525,22 @@ snapshots: jest-util: 25.5.0 slash: 3.0.0 - '@jest/console@27.5.1': + '@jest/console@28.1.3': dependencies: - '@jest/types': 27.5.1 + '@jest/types': 28.1.3 '@types/node': 18.19.57 chalk: 4.1.2 - jest-message-util: 27.5.1 - jest-util: 27.5.1 + jest-message-util: 28.1.3 + jest-util: 28.1.3 slash: 3.0.0 - '@jest/console@28.1.3': + '@jest/console@29.7.0': dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.19.57 chalk: 4.1.2 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-message-util: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 '@jest/core@25.5.4': @@ -9150,49 +9579,12 @@ snapshots: - supports-color - utf-8-validate - '@jest/core@27.4.7': - dependencies: - '@jest/console': 27.5.1 - '@jest/reporters': 27.4.6 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.4.6 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 27.5.1 - jest-config: 27.4.7 - jest-haste-map: 27.5.1 - jest-message-util: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.4.6 - jest-resolve-dependencies: 27.5.1 - jest-runner: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.4.6 - jest-util: 27.5.1 - jest-validate: 27.5.1 - jest-watcher: 27.5.1 - micromatch: 4.0.8 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - '@jest/core@28.1.3': dependencies: '@jest/console': 28.1.3 '@jest/reporters': 28.1.3 '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 + '@jest/transform': 28.1.3(supports-color@9.4.0) '@jest/types': 28.1.3 '@types/node': 18.19.57 ansi-escapes: 4.3.2 @@ -9208,8 +9600,8 @@ snapshots: jest-resolve: 28.1.3 jest-resolve-dependencies: 28.1.3 jest-runner: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 + jest-runtime: 28.1.3(supports-color@9.4.0) + jest-snapshot: 28.1.3(supports-color@9.4.0) jest-util: 28.1.3 jest-validate: 28.1.3 jest-watcher: 28.1.3 @@ -9222,19 +9614,47 @@ snapshots: - supports-color - ts-node + '@jest/core@29.5.0': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.5.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.57 + 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.5.0(@types/node@18.19.57) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.5.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.5.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + '@jest/environment@25.5.0': dependencies: '@jest/fake-timers': 25.5.0 '@jest/types': 25.5.0 jest-mock: 25.5.0 - '@jest/environment@27.5.1': - dependencies: - '@jest/fake-timers': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - jest-mock: 27.5.1 - '@jest/environment@28.1.3': dependencies: '@jest/fake-timers': 28.1.3 @@ -9242,16 +9662,20 @@ snapshots: '@types/node': 18.19.57 jest-mock: 28.1.3 + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.57 + jest-mock: 29.7.0 + '@jest/expect-utils@28.1.3': dependencies: jest-get-type: 28.0.2 - '@jest/expect@28.1.3': + '@jest/expect-utils@29.7.0': dependencies: - expect: 28.1.3 - jest-snapshot: 28.1.3 - transitivePeerDependencies: - - supports-color + jest-get-type: 29.6.3 '@jest/expect@28.1.3(supports-color@9.4.0)': dependencies: @@ -9260,6 +9684,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@jest/expect@29.7.0': + dependencies: + expect: 29.7.0 + jest-snapshot: 29.7.0 + transitivePeerDependencies: + - supports-color + '@jest/fake-timers@25.5.0': dependencies: '@jest/types': 25.5.0 @@ -9268,15 +9699,6 @@ snapshots: jest-util: 25.5.0 lolex: 5.1.2 - '@jest/fake-timers@27.5.1': - dependencies: - '@jest/types': 27.5.1 - '@sinonjs/fake-timers': 8.1.0 - '@types/node': 18.19.57 - jest-message-util: 27.5.1 - jest-mock: 27.5.1 - jest-util: 27.5.1 - '@jest/fake-timers@28.1.3': dependencies: '@jest/types': 28.1.3 @@ -9286,31 +9708,35 @@ snapshots: jest-mock: 28.1.3 jest-util: 28.1.3 + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 18.19.57 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + '@jest/globals@25.5.2': dependencies: '@jest/environment': 25.5.0 '@jest/types': 25.5.0 expect: 25.5.0 - '@jest/globals@27.5.1': - dependencies: - '@jest/environment': 27.5.1 - '@jest/types': 27.5.1 - expect: 27.5.1 - - '@jest/globals@28.1.3': + '@jest/globals@28.1.3(supports-color@9.4.0)': dependencies: '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 + '@jest/expect': 28.1.3(supports-color@9.4.0) '@jest/types': 28.1.3 transitivePeerDependencies: - supports-color - '@jest/globals@28.1.3(supports-color@9.4.0)': + '@jest/globals@29.7.0': dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3(supports-color@9.4.0) - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/types': 29.6.3 + jest-mock: 29.7.0 transitivePeerDependencies: - supports-color @@ -9345,13 +9771,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/reporters@27.4.6': + '@jest/reporters@28.1.3': dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.4.6 - '@jest/types': 27.5.1 + '@jest/console': 28.1.3 + '@jest/test-result': 28.1.3 + '@jest/transform': 28.1.3(supports-color@9.4.0) + '@jest/types': 28.1.3 + '@jridgewell/trace-mapping': 0.3.25 '@types/node': 18.19.57 chalk: 4.1.2 collect-v8-coverage: 1.0.2 @@ -9359,29 +9786,28 @@ snapshots: glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 5.2.1(supports-color@9.4.0) istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.7 - jest-haste-map: 27.5.1 - jest-resolve: 27.4.6 - jest-util: 27.5.1 - jest-worker: 27.5.1 + jest-message-util: 28.1.3 + jest-util: 28.1.3 + jest-worker: 28.1.3 slash: 3.0.0 - source-map: 0.6.1 string-length: 4.0.2 + strip-ansi: 6.0.1 terminal-link: 2.1.1 - v8-to-istanbul: 8.1.1 + v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color - '@jest/reporters@28.1.3': + '@jest/reporters@29.5.0': dependencies: '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 28.1.3 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 '@types/node': 18.19.57 chalk: 4.1.2 @@ -9390,17 +9816,16 @@ snapshots: glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 5.2.1 + istanbul-lib-instrument: 5.2.1(supports-color@9.4.0) istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.7 - jest-message-util: 28.1.3 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - terminal-link: 2.1.1 v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color @@ -9409,19 +9834,23 @@ snapshots: dependencies: '@sinclair/typebox': 0.24.51 + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + '@jest/source-map@25.5.0': dependencies: callsites: 3.1.0 graceful-fs: 4.2.11 source-map: 0.6.1 - '@jest/source-map@27.5.1': + '@jest/source-map@28.1.2': dependencies: + '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 - source-map: 0.6.1 - '@jest/source-map@28.1.2': + '@jest/source-map@29.6.3': dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 @@ -9434,17 +9863,17 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - '@jest/test-result@27.5.1': + '@jest/test-result@28.1.3': dependencies: - '@jest/console': 27.5.1 - '@jest/types': 27.5.1 + '@jest/console': 28.1.3 + '@jest/types': 28.1.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - '@jest/test-result@28.1.3': + '@jest/test-result@29.7.0': dependencies: - '@jest/console': 28.1.3 - '@jest/types': 28.1.3 + '@jest/console': 29.7.0 + '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 @@ -9456,16 +9885,10 @@ snapshots: jest-runner: 25.5.4 jest-runtime: 25.5.4 transitivePeerDependencies: + - bufferutil + - canvas - supports-color - - '@jest/test-sequencer@27.5.1': - dependencies: - '@jest/test-result': 27.5.1 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-runtime: 27.5.1 - transitivePeerDependencies: - - supports-color + - utf-8-validate '@jest/test-sequencer@28.1.3': dependencies: @@ -9474,11 +9897,18 @@ snapshots: jest-haste-map: 28.1.3 slash: 3.0.0 + '@jest/test-sequencer@29.7.0': + dependencies: + '@jest/test-result': 29.7.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + slash: 3.0.0 + '@jest/transform@25.5.1': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@jest/types': 25.5.0 - babel-plugin-istanbul: 6.1.1 + babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) chalk: 3.0.0 convert-source-map: 1.9.0 fast-json-stable-stringify: 2.1.0 @@ -9495,59 +9925,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/transform@27.4.6': - dependencies: - '@babel/core': 7.25.8 - '@jest/types': 27.5.1 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.9.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-regex-util: 27.5.1 - jest-util: 27.5.1 - micromatch: 4.0.8 - pirates: 4.0.6 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - - '@jest/transform@27.5.1': + '@jest/transform@28.1.3(supports-color@9.4.0)': dependencies: - '@babel/core': 7.25.8 - '@jest/types': 27.5.1 - babel-plugin-istanbul: 6.1.1 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@jest/types': 28.1.3 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) chalk: 4.1.2 convert-source-map: 1.9.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-regex-util: 27.5.1 - jest-util: 27.5.1 + jest-haste-map: 28.1.3 + jest-regex-util: 28.0.2 + jest-util: 28.1.3 micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 + write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - '@jest/transform@28.1.3': + '@jest/transform@29.5.0': dependencies: - '@babel/core': 7.25.8 - '@jest/types': 28.1.3 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - babel-plugin-istanbul: 6.1.1 + babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) chalk: 4.1.2 - convert-source-map: 1.9.0 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 @@ -9555,19 +9965,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/transform@28.1.3(supports-color@9.4.0)': + '@jest/transform@29.7.0': dependencies: '@babel/core': 7.25.8(supports-color@9.4.0) - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) chalk: 4.1.2 - convert-source-map: 1.9.0 + convert-source-map: 2.0.0 fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 @@ -9582,17 +9992,18 @@ snapshots: '@types/yargs': 15.0.19 chalk: 3.0.0 - '@jest/types@27.5.1': + '@jest/types@28.1.3': dependencies: + '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 18.19.57 - '@types/yargs': 16.0.9 + '@types/yargs': 17.0.33 chalk: 4.1.2 - '@jest/types@28.1.3': + '@jest/types@29.6.3': dependencies: - '@jest/schemas': 28.1.3 + '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 '@types/node': 18.19.57 @@ -9621,14 +10032,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@microsoft/tsdoc-config@0.16.2': + '@jsep-plugin/assignment@1.3.0(jsep@1.4.0)': dependencies: - '@microsoft/tsdoc': 0.14.2 - ajv: 6.12.6 + jsep: 1.4.0 + + '@jsep-plugin/regex@1.0.4(jsep@1.4.0)': + dependencies: + jsep: 1.4.0 + + '@microsoft/tsdoc-config@0.17.0': + dependencies: + '@microsoft/tsdoc': 0.15.0 + ajv: 8.12.0 jju: 1.4.0 - resolve: 1.19.0 + resolve: 1.22.8 - '@microsoft/tsdoc@0.14.2': {} + '@microsoft/tsdoc@0.15.0': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -9649,8 +10068,8 @@ snapshots: '@rollup/plugin-babel@5.3.1(@babel/core@7.25.8)(@types/babel__core@7.20.5)(rollup@1.32.1)': dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-imports': 7.25.7(supports-color@9.4.0) '@rollup/pluginutils': 3.1.0(rollup@1.32.1) rollup: 1.32.1 optionalDependencies: @@ -9747,153 +10166,159 @@ snapshots: '@rtsao/scc@1.1.0': {} - '@rushstack/eslint-config@2.6.2(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-config@4.0.2(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@rushstack/eslint-patch': 1.1.4 - '@rushstack/eslint-plugin': 0.9.1(eslint@8.57.1)(typescript@4.9.5) - '@rushstack/eslint-plugin-packlets': 0.4.1(eslint@8.57.1)(typescript@4.9.5) - '@rushstack/eslint-plugin-security': 0.3.1(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/eslint-plugin': 5.20.0(@typescript-eslint/parser@5.20.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/experimental-utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/parser': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/typescript-estree': 5.20.0(typescript@4.9.5) + '@rushstack/eslint-patch': 1.10.4 + '@rushstack/eslint-plugin': 0.16.1(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/eslint-plugin-packlets': 0.9.2(eslint@8.57.1)(typescript@5.6.3) + '@rushstack/eslint-plugin-security': 0.8.3(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.1.0(@typescript-eslint/parser@8.1.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 8.1.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.1.0(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 - eslint-plugin-promise: 6.0.1(eslint@8.57.1) - eslint-plugin-react: 7.27.1(eslint@8.57.1) - eslint-plugin-tsdoc: 0.2.17 - typescript: 4.9.5 + eslint-plugin-promise: 6.1.1(eslint@8.57.1) + eslint-plugin-react: 7.33.2(eslint@8.57.1) + eslint-plugin-tsdoc: 0.3.0 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@rushstack/eslint-patch@1.1.4': {} + '@rushstack/eslint-patch@1.10.4': {} - '@rushstack/eslint-plugin-packlets@0.4.1(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-plugin-packlets@0.9.2(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@rushstack/tree-pattern': 0.2.4 - '@typescript-eslint/experimental-utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) + '@rushstack/tree-pattern': 0.3.4 + '@typescript-eslint/utils': 6.19.1(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@rushstack/eslint-plugin-security@0.3.1(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-plugin-security@0.8.3(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@rushstack/tree-pattern': 0.2.4 - '@typescript-eslint/experimental-utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) + '@rushstack/tree-pattern': 0.3.4 + '@typescript-eslint/utils': 8.1.0(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@rushstack/eslint-plugin@0.9.1(eslint@8.57.1)(typescript@4.9.5)': + '@rushstack/eslint-plugin@0.16.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@rushstack/tree-pattern': 0.2.4 - '@typescript-eslint/experimental-utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) + '@rushstack/tree-pattern': 0.3.4 + '@typescript-eslint/utils': 8.1.0(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript - '@rushstack/heft-config-file@0.11.3': + '@rushstack/heft-config-file@0.15.8(@types/node@18.19.57)': dependencies: - '@rushstack/node-core-library': 3.53.2 - '@rushstack/rig-package': 0.3.17 - jsonpath-plus: 4.0.0 - - '@rushstack/heft-config-file@0.8.9': - dependencies: - '@rushstack/node-core-library': 3.48.0 - '@rushstack/rig-package': 0.3.13 - jsonpath-plus: 4.0.0 + '@rushstack/node-core-library': 5.9.0(@types/node@18.19.57) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.14.2(@types/node@18.19.57) + jsonpath-plus: 10.1.0 + transitivePeerDependencies: + - '@types/node' - '@rushstack/heft-jest-plugin@0.3.45(@rushstack/heft@0.45.14)': - dependencies: - '@jest/core': 27.4.7 - '@jest/reporters': 27.4.6 - '@jest/transform': 27.4.6 - '@rushstack/heft': 0.45.14 - '@rushstack/heft-config-file': 0.11.3 - '@rushstack/node-core-library': 3.53.2 - jest-config: 27.4.7 - jest-resolve: 27.4.6 - jest-snapshot: 27.4.6 + '@rushstack/heft-jest-plugin@0.12.18(@rushstack/heft@0.68.6(@types/node@18.19.57))(@types/node@18.19.57)(jest-environment-node@29.7.0)': + dependencies: + '@jest/core': 29.5.0 + '@jest/reporters': 29.5.0 + '@jest/transform': 29.5.0 + '@rushstack/heft': 0.68.6(@types/node@18.19.57) + '@rushstack/heft-config-file': 0.15.8(@types/node@18.19.57) + '@rushstack/node-core-library': 5.9.0(@types/node@18.19.57) + '@rushstack/terminal': 0.14.2(@types/node@18.19.57) + jest-config: 29.5.0(@types/node@18.19.57) + jest-resolve: 29.5.0 + jest-snapshot: 29.5.0 lodash: 4.17.21 + optionalDependencies: + jest-environment-node: 29.7.0 transitivePeerDependencies: - - bufferutil - - canvas + - '@types/node' + - babel-plugin-macros - node-notifier - supports-color - ts-node - - utf-8-validate - '@rushstack/heft@0.45.14': + '@rushstack/heft@0.68.6(@types/node@18.19.57)': dependencies: - '@rushstack/heft-config-file': 0.8.9 - '@rushstack/node-core-library': 3.48.0 - '@rushstack/rig-package': 0.3.13 - '@rushstack/ts-command-line': 4.12.1 + '@rushstack/heft-config-file': 0.15.8(@types/node@18.19.57) + '@rushstack/node-core-library': 5.9.0(@types/node@18.19.57) + '@rushstack/operation-graph': 0.2.33(@types/node@18.19.57) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.14.2(@types/node@18.19.57) + '@rushstack/ts-command-line': 4.23.0(@types/node@18.19.57) '@types/tapable': 1.0.6 - argparse: 1.0.10 - chokidar: 3.4.3 - fast-glob: 3.2.12 - glob: 7.0.6 - glob-escape: 0.0.2 - prettier: 2.3.2 - semver: 7.3.8 + fast-glob: 3.3.2 + git-repo-info: 2.1.1 + ignore: 5.1.9 tapable: 1.1.3 - true-case-path: 2.2.1 + watchpack: 2.4.0 + transitivePeerDependencies: + - '@types/node' - '@rushstack/node-core-library@3.48.0': + '@rushstack/node-core-library@5.9.0(@types/node@18.19.57)': dependencies: - '@types/node': 12.20.24 - colors: 1.2.5 + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 - resolve: 1.17.0 - semver: 7.3.8 - timsort: 0.3.0 - z-schema: 5.0.5 + resolve: 1.22.8 + semver: 7.5.4 + optionalDependencies: + '@types/node': 18.19.57 - '@rushstack/node-core-library@3.53.2': + '@rushstack/operation-graph@0.2.33(@types/node@18.19.57)': dependencies: - '@types/node': 12.20.24 - colors: 1.2.5 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.17.0 - semver: 7.3.8 - z-schema: 5.0.5 + '@rushstack/node-core-library': 5.9.0(@types/node@18.19.57) + '@rushstack/terminal': 0.14.2(@types/node@18.19.57) + optionalDependencies: + '@types/node': 18.19.57 - '@rushstack/rig-package@0.3.13': + '@rushstack/rig-package@0.5.3': dependencies: - resolve: 1.17.0 + resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/rig-package@0.3.17': + '@rushstack/terminal@0.14.2(@types/node@18.19.57)': dependencies: - resolve: 1.17.0 - strip-json-comments: 3.1.1 + '@rushstack/node-core-library': 5.9.0(@types/node@18.19.57) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 18.19.57 - '@rushstack/tree-pattern@0.2.4': {} + '@rushstack/tree-pattern@0.3.4': {} - '@rushstack/ts-command-line@4.12.1': + '@rushstack/ts-command-line@4.23.0(@types/node@18.19.57)': dependencies: + '@rushstack/terminal': 0.14.2(@types/node@18.19.57) '@types/argparse': 1.0.38 argparse: 1.0.10 - colors: 1.2.5 string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' '@sinclair/typebox@0.24.51': {} + '@sinclair/typebox@0.27.8': {} + '@sinonjs/commons@1.8.6': dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@8.1.0': + '@sinonjs/commons@3.0.1': dependencies: - '@sinonjs/commons': 1.8.6 + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers@9.1.2': dependencies: @@ -9918,7 +10343,7 @@ snapshots: '@stylelint/postcss-css-in-js@0.37.3(postcss-syntax@0.36.2(postcss@7.0.39))(postcss@7.0.39)': dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) postcss: 7.0.39 postcss-syntax: 0.36.2(postcss@7.0.39) transitivePeerDependencies: @@ -9960,19 +10385,6 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react@13.4.0': - dependencies: - '@babel/runtime': 7.25.7 - '@testing-library/dom': 8.20.1 - '@types/react-dom': 18.3.1 - - '@testing-library/user-event@13.5.0(@testing-library/dom@8.20.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@testing-library/dom': 8.20.1 - - '@tootallnate/once@1.1.2': {} - '@tootallnate/once@2.0.0': {} '@types/argparse@1.0.38': {} @@ -10057,8 +10469,6 @@ snapshots: dependencies: '@types/node': 18.19.57 - '@types/node@12.20.24': {} - '@types/node@18.19.57': dependencies: undici-types: 5.26.5 @@ -10069,6 +10479,8 @@ snapshots: '@types/parse5@6.0.3': {} + '@types/pdf-parse@1.1.4': {} + '@types/pdfkit@0.13.5': dependencies: '@types/node': 18.19.57 @@ -10082,17 +10494,6 @@ snapshots: '@types/prettier@2.7.3': {} - '@types/prop-types@15.7.13': {} - - '@types/react-dom@18.3.1': - dependencies: - '@types/react': 18.3.11 - - '@types/react@18.3.11': - dependencies: - '@types/prop-types': 15.7.13 - csstype: 3.1.3 - '@types/resolve@1.17.1': dependencies: '@types/node': 18.19.57 @@ -10119,10 +10520,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yargs@16.0.9': - dependencies: - '@types/yargs-parser': 21.0.3 - '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -10140,40 +10537,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@5.20.0(@typescript-eslint/parser@5.20.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@8.1.0(@typescript-eslint/parser@8.1.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/parser': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.20.0 - '@typescript-eslint/type-utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.1.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/type-utils': 8.1.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.1.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.1.0 eslint: 8.57.1 - functional-red-black-tree: 1.0.1 + graphemer: 1.4.0 ignore: 5.3.2 - regexpp: 3.2.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) + natural-compare: 1.4.0 + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/type-utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.13.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 - natural-compare-lite: 1.4.0 - semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) + natural-compare: 1.4.0 + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -10188,14 +10584,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/experimental-utils@5.20.0(eslint@8.57.1)(typescript@4.9.5)': - dependencies: - '@typescript-eslint/utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - eslint: 8.57.1 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/parser@2.34.0(eslint@6.8.0)(typescript@3.9.10)': dependencies: '@types/eslint-visitor-keys': 1.0.0 @@ -10208,70 +10596,80 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.20.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/parser@8.1.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 5.20.0 - '@typescript-eslint/types': 5.20.0 - '@typescript-eslint/typescript-estree': 5.20.0(typescript@4.9.5) - debug: 4.3.7 + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.1.0 + debug: 4.3.7(supports-color@9.4.0) eslint: 8.57.1 optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.3.7 + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.13.0 + debug: 4.3.7(supports-color@9.4.0) eslint: 8.57.1 optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.20.0': + '@typescript-eslint/scope-manager@6.19.1': dependencies: - '@typescript-eslint/types': 5.20.0 - '@typescript-eslint/visitor-keys': 5.20.0 + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/visitor-keys': 6.19.1 - '@typescript-eslint/scope-manager@5.62.0': + '@typescript-eslint/scope-manager@8.1.0': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/visitor-keys': 8.1.0 - '@typescript-eslint/type-utils@5.20.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/scope-manager@8.13.0': dependencies: - '@typescript-eslint/utils': 5.20.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7 - eslint: 8.57.1 - tsutils: 3.21.0(typescript@4.9.5) + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/visitor-keys': 8.13.0 + + '@typescript-eslint/type-utils@8.1.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.1.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.7(supports-color@9.4.0) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/type-utils@8.13.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - debug: 4.3.7 - eslint: 8.57.1 - tsutils: 3.21.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.7(supports-color@9.4.0) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@5.20.0': {} + '@typescript-eslint/types@6.19.1': {} - '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@8.1.0': {} + + '@typescript-eslint/types@8.13.0': {} '@typescript-eslint/typescript-estree@2.34.0(typescript@3.9.10)': dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) eslint-visitor-keys: 1.3.0 glob: 7.2.3 is-glob: 4.0.3 @@ -10283,70 +10681,100 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.20.0(typescript@4.9.5)': + '@typescript-eslint/typescript-estree@6.19.1(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 5.20.0 - '@typescript-eslint/visitor-keys': 5.20.0 - debug: 4.3.7 + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/visitor-keys': 6.19.1 + debug: 4.3.7(supports-color@9.4.0) globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)': + '@typescript-eslint/typescript-estree@8.1.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.7 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/visitor-keys': 8.1.0 + debug: 4.3.7(supports-color@9.4.0) globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.5 semver: 7.6.3 - tsutils: 3.21.0(typescript@4.9.5) + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.20.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)': dependencies: - '@types/json-schema': 7.0.15 - '@typescript-eslint/scope-manager': 5.20.0 - '@typescript-eslint/types': 5.20.0 - '@typescript-eslint/typescript-estree': 5.20.0(typescript@4.9.5) - eslint: 8.57.1 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0(eslint@8.57.1) + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/visitor-keys': 8.13.0 + debug: 4.3.7(supports-color@9.4.0) + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.4.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@4.9.5)': + '@typescript-eslint/utils@6.19.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.19.1 + '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.6.3) eslint: 8.57.1 - eslint-scope: 5.1.1 semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@5.20.0': + '@typescript-eslint/utils@8.1.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.1.0 + '@typescript-eslint/types': 8.1.0 + '@typescript-eslint/typescript-estree': 8.1.0(typescript@5.6.3) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@8.13.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + eslint: 8.57.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@6.19.1': dependencies: - '@typescript-eslint/types': 5.20.0 + '@typescript-eslint/types': 6.19.1 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@5.62.0': + '@typescript-eslint/visitor-keys@8.1.0': dependencies: - '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/types': 8.1.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@8.13.0': + dependencies: + '@typescript-eslint/types': 8.13.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -10355,7 +10783,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 @@ -10520,9 +10948,9 @@ snapshots: dependencies: acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.13.0): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.13.0 + acorn: 8.14.0 acorn-walk@6.2.0: {} @@ -10534,12 +10962,22 @@ snapshots: acorn@8.13.0: {} + acorn@8.14.0: {} + agent-base@6.0.2: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color + ajv-draft-04@1.0.0(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1: + dependencies: + ajv: 8.17.1 + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 @@ -10551,6 +10989,20 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.13.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -10746,7 +11198,7 @@ snapshots: dependencies: '@babel/code-frame': 7.25.7 '@babel/parser': 7.25.8 - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 eslint: 6.8.0 eslint-visitor-keys: 1.3.0 @@ -10756,11 +11208,11 @@ snapshots: babel-jest@25.5.1(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@jest/transform': 25.5.1 '@jest/types': 25.5.0 '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 + babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) babel-preset-jest: 25.5.0(@babel/core@7.25.8) chalk: 3.0.0 graceful-fs: 4.2.11 @@ -10768,27 +11220,26 @@ snapshots: transitivePeerDependencies: - supports-color - babel-jest@27.5.1(@babel/core@7.25.8): + babel-jest@28.1.3(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@jest/transform': 28.1.3(supports-color@9.4.0) '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.25.8) + babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) + babel-preset-jest: 28.1.3(@babel/core@7.25.8) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color - babel-jest@28.1.3(@babel/core@7.25.8): + babel-jest@29.7.0(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 - '@jest/transform': 28.1.3 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 28.1.3(@babel/core@7.25.8) + babel-plugin-istanbul: 6.1.1(supports-color@9.4.0) + babel-preset-jest: 29.6.3(@babel/core@7.25.8) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -10797,21 +11248,11 @@ snapshots: babel-plugin-annotate-pure-calls@0.4.0(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) babel-plugin-dev-expression@0.2.3(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 - - babel-plugin-istanbul@6.1.1: - dependencies: - '@babel/helper-plugin-utils': 7.25.7 - '@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 + '@babel/core': 7.25.8(supports-color@9.4.0) babel-plugin-istanbul@6.1.1(supports-color@9.4.0): dependencies: @@ -10829,14 +11270,14 @@ snapshots: '@babel/types': 7.25.8 '@types/babel__traverse': 7.20.6 - babel-plugin-jest-hoist@27.5.1: + babel-plugin-jest-hoist@28.1.3: dependencies: '@babel/template': 7.25.7 '@babel/types': 7.25.8 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 - babel-plugin-jest-hoist@28.1.3: + babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.25.7 '@babel/types': 7.25.8 @@ -10852,7 +11293,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.8): dependencies: '@babel/compat-data': 7.25.8 - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8) semver: 6.3.1 transitivePeerDependencies: @@ -10860,7 +11301,7 @@ snapshots: babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8) core-js-compat: 3.38.1 transitivePeerDependencies: @@ -10868,33 +11309,21 @@ snapshots: babel-plugin-polyfill-regenerator@0.0.4(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-define-polyfill-provider': 0.0.3(@babel/core@7.25.8) transitivePeerDependencies: - supports-color babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8) transitivePeerDependencies: - supports-color - babel-plugin-styled-components@2.1.4(@babel/core@7.25.8)(styled-components@5.3.0(@babel/core@7.25.8)(react-is@18.3.1))(supports-color@5.5.0): - dependencies: - '@babel/helper-annotate-as-pure': 7.25.7 - '@babel/helper-module-imports': 7.25.7(supports-color@5.5.0) - '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) - lodash: 4.17.21 - picomatch: 2.3.1 - styled-components: 5.3.0(@babel/core@7.25.8)(react-is@18.3.1) - transitivePeerDependencies: - - '@babel/core' - - supports-color - babel-plugin-transform-import-meta@2.2.1(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/template': 7.25.7 tslib: 2.8.0 @@ -10902,7 +11331,7 @@ snapshots: babel-preset-current-node-syntax@0.1.4(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.8) '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.8) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.8) @@ -10917,7 +11346,7 @@ snapshots: babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.8) '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.8) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.8) @@ -10936,20 +11365,20 @@ snapshots: babel-preset-jest@25.5.0(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) babel-plugin-jest-hoist: 25.5.0 babel-preset-current-node-syntax: 0.1.4(@babel/core@7.25.8) - babel-preset-jest@27.5.1(@babel/core@7.25.8): + babel-preset-jest@28.1.3(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 - babel-plugin-jest-hoist: 27.5.1 + '@babel/core': 7.25.8(supports-color@9.4.0) + babel-plugin-jest-hoist: 28.1.3 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8) - babel-preset-jest@28.1.3(@babel/core@7.25.8): + babel-preset-jest@29.6.3(@babel/core@7.25.8): dependencies: - '@babel/core': 7.25.8 - babel-plugin-jest-hoist: 28.1.3 + '@babel/core': 7.25.8(supports-color@9.4.0) + babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8) bail@1.0.5: {} @@ -11069,8 +11498,6 @@ snapshots: camelcase@6.3.0: {} - camelize@1.0.1: {} - caniuse-lite@1.0.30001669: {} capture-exit@2.0.0: @@ -11117,18 +11544,6 @@ snapshots: check-error@2.1.1: {} - chokidar@3.4.3: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.5.0 - optionalDependencies: - fsevents: 2.1.3 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -11213,17 +11628,12 @@ snapshots: color-name@1.1.4: {} - colors@1.2.5: {} - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 commander@2.20.3: {} - commander@9.5.0: - optional: true - comment-parser@1.3.1: {} commondir@1.0.1: {} @@ -11282,14 +11692,6 @@ snapshots: crypto-js@4.2.0: {} - css-color-keywords@1.0.0: {} - - css-to-react-native@3.2.0: - dependencies: - camelize: 1.0.1 - css-color-keywords: 1.0.0 - postcss-value-parser: 4.2.0 - css.escape@1.5.1: {} cssesc@3.0.0: {} @@ -11304,8 +11706,6 @@ snapshots: dependencies: cssom: 0.3.8 - csstype@3.1.3: {} - curp@1.2.3: {} damerau-levenshtein@1.0.8: {} @@ -11322,12 +11722,6 @@ snapshots: whatwg-mimetype: 2.3.0 whatwg-url: 7.1.0 - data-urls@2.0.0: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - data-urls@3.0.2: dependencies: abab: 2.0.6 @@ -11360,16 +11754,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.7: - dependencies: - ms: 2.1.3 - - debug@4.3.7(supports-color@5.5.0): - dependencies: - ms: 2.1.3 - optionalDependencies: - supports-color: 5.5.0 - debug@4.3.7(supports-color@9.4.0): dependencies: ms: 2.1.3 @@ -11389,6 +11773,8 @@ snapshots: dedent@0.7.0: {} + dedent@1.5.3: {} + deep-eql@4.1.4: dependencies: type-detect: 4.1.0 @@ -11461,6 +11847,8 @@ snapshots: diff-sequences@28.1.1: {} + diff-sequences@29.6.3: {} + dijkstrajs@1.0.3: {} dir-glob@3.0.1: @@ -11490,10 +11878,6 @@ snapshots: dependencies: webidl-conversions: 4.0.2 - domexception@2.0.1: - dependencies: - webidl-conversions: 5.0.0 - domexception@4.0.0: dependencies: webidl-conversions: 7.0.0 @@ -11520,7 +11904,7 @@ snapshots: emittery@0.10.2: {} - emittery@0.8.1: {} + emittery@0.13.1: {} emoji-regex@7.0.3: {} @@ -11740,6 +12124,31 @@ snapshots: esbuild-windows-64: 0.14.54 esbuild-windows-arm64: 0.14.54 + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -11791,34 +12200,6 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1): - dependencies: - confusing-browser-globals: 1.0.11 - eslint: 8.57.1 - eslint-plugin-import: 2.31.0(eslint@8.57.1) - object.assign: 4.1.5 - object.entries: 1.1.8 - semver: 6.3.1 - - eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1): - dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@4.9.5) - eslint: 8.57.1 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1) - eslint-plugin-import: 2.31.0(eslint@8.57.1) - - eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@2.5.1(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1) - eslint-plugin-import: 2.31.0(eslint@8.57.1) - eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-react: 7.37.1(eslint@8.57.1) - eslint-plugin-react-hooks: 2.5.1(eslint@8.57.1) - object.assign: 4.1.5 - object.entries: 1.1.8 - eslint-config-prettier@6.15.0(eslint@6.8.0): dependencies: eslint: 6.8.0 @@ -11849,7 +12230,7 @@ snapshots: eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.31.0(eslint@8.57.1))(eslint@8.57.1): dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) eslint: 8.57.1 eslint-plugin-import: 2.31.0(eslint@8.57.1) glob: 7.2.3 @@ -11871,11 +12252,6 @@ snapshots: optionalDependencies: eslint: 8.57.1 - eslint-plugin-better-styled-components@1.1.2: - dependencies: - postcss: 7.0.39 - requireindex: 1.1.0 - eslint-plugin-flowtype@3.13.0(eslint@6.8.0): dependencies: eslint: 6.8.0 @@ -11927,12 +12303,13 @@ snapshots: string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 - eslint-plugin-jest@26.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5): + eslint-plugin-jest@28.9.0(@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(jest@28.1.3)(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 optionalDependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + jest: 28.1.3(@types/node@18.19.57) transitivePeerDependencies: - supports-color - typescript @@ -11941,7 +12318,7 @@ snapshots: dependencies: '@es-joy/jsdoccomment': 0.36.1 comment-parser: 1.3.1 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) escape-string-regexp: 4.0.0 eslint: 8.57.1 esquery: 1.6.0 @@ -12006,7 +12383,7 @@ snapshots: optionalDependencies: eslint-config-prettier: 8.10.0(eslint@8.57.1) - eslint-plugin-promise@6.0.1(eslint@8.57.1): + eslint-plugin-promise@6.1.1(eslint@8.57.1): dependencies: eslint: 8.57.1 @@ -12014,51 +12391,27 @@ snapshots: dependencies: eslint: 6.8.0 - eslint-plugin-react-hooks@2.5.1(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - - eslint-plugin-react@7.27.1(eslint@8.57.1): - dependencies: - array-includes: 3.1.8 - array.prototype.flatmap: 1.3.2 - doctrine: 2.1.0 - eslint: 8.57.1 - estraverse: 5.3.0 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.8 - object.hasown: 1.1.4 - object.values: 1.2.0 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.11 - - eslint-plugin-react@7.37.1(eslint@6.8.0): + eslint-plugin-react@7.33.2(eslint@8.57.1): dependencies: array-includes: 3.1.8 - array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.1.0 - eslint: 6.8.0 + eslint: 8.57.1 estraverse: 5.3.0 - hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 + object.hasown: 1.1.4 object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 - string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.37.1(eslint@8.57.1): + eslint-plugin-react@7.37.1(eslint@6.8.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -12066,7 +12419,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.1.0 - eslint: 8.57.1 + eslint: 6.8.0 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -12085,10 +12438,10 @@ snapshots: eslint: 8.57.1 natural-compare-lite: 1.4.0 - eslint-plugin-tsdoc@0.2.17: + eslint-plugin-tsdoc@0.3.0: dependencies: - '@microsoft/tsdoc': 0.14.2 - '@microsoft/tsdoc-config': 0.16.2 + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 eslint-scope@5.1.1: dependencies: @@ -12108,15 +12461,8 @@ snapshots: dependencies: eslint-visitor-keys: 1.3.0 - eslint-utils@3.0.0(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 2.1.0 - eslint-visitor-keys@1.3.0: {} - eslint-visitor-keys@2.1.0: {} - eslint-visitor-keys@3.4.3: {} eslint@6.8.0: @@ -12125,7 +12471,7 @@ snapshots: ajv: 6.12.6 chalk: 2.4.2 cross-spawn: 6.0.5 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) doctrine: 3.0.0 eslint-scope: 5.1.1 eslint-utils: 1.4.3 @@ -12164,7 +12510,7 @@ snapshots: eslint@8.57.1: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.11.1 + '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 '@humanwhocodes/config-array': 0.13.0 @@ -12174,7 +12520,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -12212,8 +12558,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -12318,13 +12664,6 @@ snapshots: jest-message-util: 25.5.0 jest-regex-util: 25.2.6 - expect@27.5.1: - dependencies: - '@jest/types': 27.5.1 - jest-get-type: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - expect@28.1.3: dependencies: '@jest/expect-utils': 28.1.3 @@ -12333,6 +12672,14 @@ snapshots: jest-message-util: 28.1.3 jest-util: 28.1.3 + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -12367,14 +12714,6 @@ snapshots: fast-diff@1.3.0: {} - fast-glob@3.2.12: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -12413,10 +12752,10 @@ snapshots: fetch-mock@9.11.0(node-fetch@2.7.0): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/runtime': 7.25.7 core-js: 3.38.1 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) glob-to-regexp: 0.4.1 is-subset: 0.1.1 lodash.isequal: 4.5.0 @@ -12526,12 +12865,6 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - form-data@3.0.2: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - form-data@4.0.1: dependencies: asynckit: 0.4.0 @@ -12569,9 +12902,6 @@ snapshots: fs.realpath@1.0.0: {} - fsevents@2.1.3: - optional: true - fsevents@2.3.3: optional: true @@ -12642,7 +12972,7 @@ snapshots: dependencies: assert-plus: 1.0.0 - glob-escape@0.0.2: {} + git-repo-info@2.1.1: {} glob-parent@5.1.2: dependencies: @@ -12663,15 +12993,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@7.0.6: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -12798,10 +13119,6 @@ snapshots: he@1.2.0: {} - hoist-non-react-statics@3.3.2: - dependencies: - react-is: 16.13.1 - hosted-git-info@2.8.9: {} hosted-git-info@4.1.0: @@ -12812,10 +13129,6 @@ snapshots: dependencies: whatwg-encoding: 1.0.5 - html-encoding-sniffer@2.0.1: - dependencies: - whatwg-encoding: 1.0.5 - html-encoding-sniffer@3.0.0: dependencies: whatwg-encoding: 2.0.0 @@ -12833,19 +13146,11 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - http-proxy-agent@4.0.1: - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.7 - transitivePeerDependencies: - - supports-color - http-proxy-agent@5.0.0: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -12858,7 +13163,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) transitivePeerDependencies: - supports-color @@ -12884,6 +13189,8 @@ snapshots: ignore@4.0.6: {} + ignore@5.1.9: {} + ignore@5.3.2: {} immutable@4.3.7: {} @@ -13161,17 +13468,7 @@ snapshots: istanbul-lib-instrument@4.0.3: dependencies: - '@babel/core': 7.25.8 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - istanbul-lib-instrument@5.2.1: - dependencies: - '@babel/core': 7.25.8 - '@babel/parser': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -13196,7 +13493,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -13205,7 +13502,7 @@ snapshots: istanbul-lib-source-maps@5.0.6: dependencies: '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color @@ -13235,45 +13532,21 @@ snapshots: execa: 3.4.0 throat: 5.0.0 - jest-changed-files@27.5.1: - dependencies: - '@jest/types': 27.5.1 - execa: 5.1.1 - throat: 6.0.2 - jest-changed-files@28.1.3: dependencies: execa: 5.1.1 p-limit: 3.1.0 - jest-circus@27.5.1: + jest-changed-files@29.7.0: dependencies: - '@jest/environment': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - chalk: 4.1.2 - co: 4.6.0 - dedent: 0.7.0 - expect: 27.5.1 - is-generator-fn: 2.1.0 - jest-each: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - pretty-format: 27.5.1 - slash: 3.0.0 - stack-utils: 2.0.6 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color + execa: 5.1.1 + jest-util: 29.7.0 + p-limit: 3.1.0 - jest-circus@28.1.3: + jest-circus@28.1.3(supports-color@9.4.0): dependencies: '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3 + '@jest/expect': 28.1.3(supports-color@9.4.0) '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 '@types/node': 18.19.57 @@ -13284,8 +13557,8 @@ snapshots: jest-each: 28.1.3 jest-matcher-utils: 28.1.3 jest-message-util: 28.1.3 - jest-runtime: 28.1.3 - jest-snapshot: 28.1.3 + jest-runtime: 28.1.3(supports-color@9.4.0) + jest-snapshot: 28.1.3(supports-color@9.4.0) jest-util: 28.1.3 p-limit: 3.1.0 pretty-format: 28.1.3 @@ -13294,28 +13567,30 @@ snapshots: transitivePeerDependencies: - supports-color - jest-circus@28.1.3(supports-color@9.4.0): + jest-circus@29.7.0: dependencies: - '@jest/environment': 28.1.3 - '@jest/expect': 28.1.3(supports-color@9.4.0) - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/expect': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.19.57 chalk: 4.1.2 co: 4.6.0 - dedent: 0.7.0 + dedent: 1.5.3 is-generator-fn: 2.1.0 - jest-each: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-runtime: 28.1.3(supports-color@9.4.0) - jest-snapshot: 28.1.3(supports-color@9.4.0) - jest-util: 28.1.3 + jest-each: 29.7.0 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 p-limit: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 + pure-rand: 6.1.0 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: + - babel-plugin-macros - supports-color jest-cli@25.5.4: @@ -13361,7 +13636,7 @@ snapshots: jest-config@25.5.4: dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@jest/test-sequencer': 25.5.4 '@jest/types': 25.5.0 babel-jest: 25.5.1(@babel/core@7.25.8) @@ -13386,39 +13661,9 @@ snapshots: - supports-color - utf-8-validate - jest-config@27.4.7: - dependencies: - '@babel/core': 7.25.8 - '@jest/test-sequencer': 27.5.1 - '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.25.8) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-node: 27.5.1 - jest-get-type: 27.5.1 - jest-jasmine2: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.4.6 - jest-runner: 27.5.1 - jest-util: 27.5.1 - jest-validate: 27.5.1 - micromatch: 4.0.8 - pretty-format: 27.5.1 - slash: 3.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - jest-config@28.1.3(@types/node@18.19.57): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@jest/test-sequencer': 28.1.3 '@jest/types': 28.1.3 babel-jest: 28.1.3(@babel/core@7.25.8) @@ -13427,7 +13672,7 @@ snapshots: deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-circus: 28.1.3 + jest-circus: 28.1.3(supports-color@9.4.0) jest-environment-node: 28.1.3 jest-get-type: 28.0.2 jest-regex-util: 28.0.2 @@ -13445,6 +13690,36 @@ snapshots: transitivePeerDependencies: - supports-color + jest-config@29.5.0(@types/node@18.19.57): + dependencies: + '@babel/core': 7.25.8(supports-color@9.4.0) + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.25.8) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.5.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 18.19.57 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-diff@25.5.0: dependencies: chalk: 3.0.0 @@ -13466,15 +13741,22 @@ snapshots: jest-get-type: 28.0.2 pretty-format: 28.1.3 + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + jest-docblock@25.3.0: dependencies: detect-newline: 3.1.0 - jest-docblock@27.5.1: + jest-docblock@28.1.1: dependencies: detect-newline: 3.1.0 - jest-docblock@28.1.1: + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 @@ -13486,14 +13768,6 @@ snapshots: jest-util: 25.5.0 pretty-format: 25.5.0 - jest-each@27.5.1: - dependencies: - '@jest/types': 27.5.1 - chalk: 4.1.2 - jest-get-type: 27.5.1 - jest-util: 27.5.1 - pretty-format: 27.5.1 - jest-each@28.1.3: dependencies: '@jest/types': 28.1.3 @@ -13502,6 +13776,14 @@ snapshots: jest-util: 28.1.3 pretty-format: 28.1.3 + jest-each@29.7.0: + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + jest-get-type: 29.6.3 + jest-util: 29.7.0 + pretty-format: 29.7.0 + jest-environment-jsdom@25.5.0: dependencies: '@jest/environment': 25.5.0 @@ -13515,21 +13797,6 @@ snapshots: - canvas - utf-8-validate - jest-environment-jsdom@27.5.1: - dependencies: - '@jest/environment': 27.5.1 - '@jest/fake-timers': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - jest-mock: 27.5.1 - jest-util: 27.5.1 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - jest-environment-jsdom@28.1.3: dependencies: '@jest/environment': 28.1.3 @@ -13555,15 +13822,6 @@ snapshots: jest-util: 25.5.0 semver: 6.3.1 - jest-environment-node@27.5.1: - dependencies: - '@jest/environment': 27.5.1 - '@jest/fake-timers': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - jest-mock: 27.5.1 - jest-util: 27.5.1 - jest-environment-node@28.1.3: dependencies: '@jest/environment': 28.1.3 @@ -13573,12 +13831,23 @@ snapshots: jest-mock: 28.1.3 jest-util: 28.1.3 + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.57 + jest-mock: 29.7.0 + jest-util: 29.7.0 + jest-get-type@25.2.6: {} jest-get-type@27.5.1: {} jest-get-type@28.0.2: {} + jest-get-type@29.6.3: {} + jest-haste-map@25.5.1: dependencies: '@jest/types': 25.5.0 @@ -13596,34 +13865,33 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - jest-haste-map@27.5.1: + jest-haste-map@28.1.3: dependencies: - '@jest/types': 27.5.1 + '@jest/types': 28.1.3 '@types/graceful-fs': 4.1.9 '@types/node': 18.19.57 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 27.5.1 - jest-serializer: 27.5.1 - jest-util: 27.5.1 - jest-worker: 27.5.1 + jest-regex-util: 28.0.2 + jest-util: 28.1.3 + jest-worker: 28.1.3 micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - jest-haste-map@28.1.3: + jest-haste-map@29.7.0: dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 '@types/node': 18.19.57 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 - jest-regex-util: 28.0.2 - jest-util: 28.1.3 - jest-worker: 28.1.3 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: @@ -13631,7 +13899,7 @@ snapshots: jest-jasmine2@25.5.4: dependencies: - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@jest/environment': 25.5.0 '@jest/source-map': 25.5.0 '@jest/test-result': 25.5.0 @@ -13654,43 +13922,21 @@ snapshots: - supports-color - utf-8-validate - jest-jasmine2@27.5.1: - dependencies: - '@jest/environment': 27.5.1 - '@jest/source-map': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - chalk: 4.1.2 - co: 4.6.0 - expect: 27.5.1 - is-generator-fn: 2.1.0 - jest-each: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-runtime: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - pretty-format: 27.5.1 - throat: 6.0.2 - transitivePeerDependencies: - - supports-color - jest-leak-detector@25.5.0: dependencies: jest-get-type: 25.2.6 pretty-format: 25.5.0 - jest-leak-detector@27.5.1: - dependencies: - jest-get-type: 27.5.1 - pretty-format: 27.5.1 - jest-leak-detector@28.1.3: dependencies: jest-get-type: 28.0.2 pretty-format: 28.1.3 + jest-leak-detector@29.7.0: + dependencies: + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + jest-light-runner@0.2.2(jest@28.1.3(@types/node@18.19.57)): dependencies: '@jest/expect': 28.1.3(supports-color@9.4.0) @@ -13723,6 +13969,13 @@ snapshots: jest-get-type: 28.0.2 pretty-format: 28.1.3 + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + jest-message-util@25.5.0: dependencies: '@babel/code-frame': 7.25.7 @@ -13734,27 +13987,27 @@ snapshots: slash: 3.0.0 stack-utils: 1.0.5 - jest-message-util@27.5.1: + jest-message-util@28.1.3: dependencies: '@babel/code-frame': 7.25.7 - '@jest/types': 27.5.1 + '@jest/types': 28.1.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.8 - pretty-format: 27.5.1 + pretty-format: 28.1.3 slash: 3.0.0 stack-utils: 2.0.6 - jest-message-util@28.1.3: + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.25.7 - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 micromatch: 4.0.8 - pretty-format: 28.1.3 + pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -13762,56 +14015,56 @@ snapshots: dependencies: '@jest/types': 25.5.0 - jest-mock@27.5.1: + jest-mock@28.1.3: dependencies: - '@jest/types': 27.5.1 + '@jest/types': 28.1.3 '@types/node': 18.19.57 - jest-mock@28.1.3: + jest-mock@29.7.0: dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.19.57 + jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@25.5.1): optionalDependencies: jest-resolve: 25.5.1 - jest-pnp-resolver@1.2.3(jest-resolve@27.4.6): + jest-pnp-resolver@1.2.3(jest-resolve@28.1.3): optionalDependencies: - jest-resolve: 27.4.6 + jest-resolve: 28.1.3 - jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): optionalDependencies: - jest-resolve: 27.5.1 + jest-resolve: 29.5.0 - jest-pnp-resolver@1.2.3(jest-resolve@28.1.3): + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): optionalDependencies: - jest-resolve: 28.1.3 + jest-resolve: 29.7.0 jest-regex-util@25.2.6: {} - jest-regex-util@27.5.1: {} - jest-regex-util@28.0.2: {} + jest-regex-util@29.6.3: {} + jest-resolve-dependencies@25.5.4: dependencies: '@jest/types': 25.5.0 jest-regex-util: 25.2.6 jest-snapshot: 25.5.1 - jest-resolve-dependencies@27.5.1: + jest-resolve-dependencies@28.1.3: dependencies: - '@jest/types': 27.5.1 - jest-regex-util: 27.5.1 - jest-snapshot: 27.5.1 + jest-regex-util: 28.0.2 + jest-snapshot: 28.1.3(supports-color@9.4.0) transitivePeerDependencies: - supports-color - jest-resolve-dependencies@28.1.3: + jest-resolve-dependencies@29.7.0: dependencies: - jest-regex-util: 28.0.2 - jest-snapshot: 28.1.3 + jest-regex-util: 29.6.3 + jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color @@ -13827,42 +14080,40 @@ snapshots: resolve: 1.22.8 slash: 3.0.0 - jest-resolve@27.4.6: + jest-resolve@28.1.3: dependencies: - '@jest/types': 27.5.1 chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-pnp-resolver: 1.2.3(jest-resolve@27.4.6) - jest-util: 27.5.1 - jest-validate: 27.5.1 + jest-haste-map: 28.1.3 + jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) + jest-util: 28.1.3 + jest-validate: 28.1.3 resolve: 1.22.8 resolve.exports: 1.1.1 slash: 3.0.0 - jest-resolve@27.5.1: + jest-resolve@29.5.0: dependencies: - '@jest/types': 27.5.1 chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1) - jest-util: 27.5.1 - jest-validate: 27.5.1 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 resolve: 1.22.8 - resolve.exports: 1.1.1 + resolve.exports: 2.0.2 slash: 3.0.0 - jest-resolve@28.1.3: + jest-resolve@29.7.0: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-pnp-resolver: 1.2.3(jest-resolve@28.1.3) - jest-util: 28.1.3 - jest-validate: 28.1.3 + jest-haste-map: 29.7.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) + jest-util: 29.7.0 + jest-validate: 29.7.0 resolve: 1.22.8 - resolve.exports: 1.1.1 + resolve.exports: 2.0.2 slash: 3.0.0 jest-runner@25.5.4: @@ -13892,41 +14143,12 @@ snapshots: - supports-color - utf-8-validate - jest-runner@27.5.1: - dependencies: - '@jest/console': 27.5.1 - '@jest/environment': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/node': 18.19.57 - chalk: 4.1.2 - emittery: 0.8.1 - graceful-fs: 4.2.11 - jest-docblock: 27.5.1 - jest-environment-jsdom: 27.5.1 - jest-environment-node: 27.5.1 - jest-haste-map: 27.5.1 - jest-leak-detector: 27.5.1 - jest-message-util: 27.5.1 - jest-resolve: 27.5.1 - jest-runtime: 27.5.1 - jest-util: 27.5.1 - jest-worker: 27.5.1 - source-map-support: 0.5.21 - throat: 6.0.2 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - jest-runner@28.1.3: dependencies: '@jest/console': 28.1.3 '@jest/environment': 28.1.3 '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 + '@jest/transform': 28.1.3(supports-color@9.4.0) '@jest/types': 28.1.3 '@types/node': 18.19.57 chalk: 4.1.2 @@ -13938,7 +14160,7 @@ snapshots: jest-leak-detector: 28.1.3 jest-message-util: 28.1.3 jest-resolve: 28.1.3 - jest-runtime: 28.1.3 + jest-runtime: 28.1.3(supports-color@9.4.0) jest-util: 28.1.3 jest-watcher: 28.1.3 jest-worker: 28.1.3 @@ -13947,6 +14169,32 @@ snapshots: transitivePeerDependencies: - supports-color + jest-runner@29.7.0: + dependencies: + '@jest/console': 29.7.0 + '@jest/environment': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.57 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.7.0 + jest-environment-node: 29.7.0 + jest-haste-map: 29.7.0 + jest-leak-detector: 29.7.0 + jest-message-util: 29.7.0 + jest-resolve: 29.7.0 + jest-runtime: 29.7.0 + jest-util: 29.7.0 + jest-watcher: 29.7.0 + jest-worker: 29.7.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + jest-runtime@25.5.4: dependencies: '@jest/console': 25.5.0 @@ -13981,41 +14229,14 @@ snapshots: - supports-color - utf-8-validate - jest-runtime@27.5.1: - dependencies: - '@jest/environment': 27.5.1 - '@jest/fake-timers': 27.5.1 - '@jest/globals': 27.5.1 - '@jest/source-map': 27.5.1 - '@jest/test-result': 27.5.1 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - chalk: 4.1.2 - cjs-module-lexer: 1.4.1 - collect-v8-coverage: 1.0.2 - execa: 5.1.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 27.5.1 - jest-message-util: 27.5.1 - jest-mock: 27.5.1 - jest-regex-util: 27.5.1 - jest-resolve: 27.5.1 - jest-snapshot: 27.5.1 - jest-util: 27.5.1 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - - jest-runtime@28.1.3: + jest-runtime@28.1.3(supports-color@9.4.0): dependencies: '@jest/environment': 28.1.3 '@jest/fake-timers': 28.1.3 - '@jest/globals': 28.1.3 + '@jest/globals': 28.1.3(supports-color@9.4.0) '@jest/source-map': 28.1.2 '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3 + '@jest/transform': 28.1.3(supports-color@9.4.0) '@jest/types': 28.1.3 chalk: 4.1.2 cjs-module-lexer: 1.4.1 @@ -14028,35 +14249,35 @@ snapshots: jest-mock: 28.1.3 jest-regex-util: 28.0.2 jest-resolve: 28.1.3 - jest-snapshot: 28.1.3 + jest-snapshot: 28.1.3(supports-color@9.4.0) jest-util: 28.1.3 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - jest-runtime@28.1.3(supports-color@9.4.0): + jest-runtime@29.7.0: dependencies: - '@jest/environment': 28.1.3 - '@jest/fake-timers': 28.1.3 - '@jest/globals': 28.1.3(supports-color@9.4.0) - '@jest/source-map': 28.1.2 - '@jest/test-result': 28.1.3 - '@jest/transform': 28.1.3(supports-color@9.4.0) - '@jest/types': 28.1.3 + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/globals': 29.7.0 + '@jest/source-map': 29.6.3 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 18.19.57 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 - execa: 5.1.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-haste-map: 28.1.3 - jest-message-util: 28.1.3 - jest-mock: 28.1.3 - jest-regex-util: 28.0.2 - jest-resolve: 28.1.3 - jest-snapshot: 28.1.3(supports-color@9.4.0) - jest-util: 28.1.3 + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 slash: 3.0.0 strip-bom: 4.0.0 transitivePeerDependencies: @@ -14066,11 +14287,6 @@ snapshots: dependencies: graceful-fs: 4.2.11 - jest-serializer@27.5.1: - dependencies: - '@types/node': 18.19.57 - graceful-fs: 4.2.11 - jest-snapshot@25.5.1: dependencies: '@babel/types': 7.25.8 @@ -14089,69 +14305,15 @@ snapshots: pretty-format: 25.5.0 semver: 6.3.1 - jest-snapshot@27.4.6: - dependencies: - '@babel/core': 7.25.8 - '@babel/generator': 7.25.7 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - '@jest/transform': 27.4.6 - '@jest/types': 27.5.1 - '@types/babel__traverse': 7.20.6 - '@types/prettier': 2.7.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8) - chalk: 4.1.2 - expect: 27.5.1 - graceful-fs: 4.2.11 - jest-diff: 27.5.1 - jest-get-type: 27.5.1 - jest-haste-map: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-util: 27.5.1 - natural-compare: 1.4.0 - pretty-format: 27.5.1 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - jest-snapshot@27.5.1: - dependencies: - '@babel/core': 7.25.8 - '@babel/generator': 7.25.7 - '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 - '@babel/types': 7.25.8 - '@jest/transform': 27.5.1 - '@jest/types': 27.5.1 - '@types/babel__traverse': 7.20.6 - '@types/prettier': 2.7.3 - babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8) - chalk: 4.1.2 - expect: 27.5.1 - graceful-fs: 4.2.11 - jest-diff: 27.5.1 - jest-get-type: 27.5.1 - jest-haste-map: 27.5.1 - jest-matcher-utils: 27.5.1 - jest-message-util: 27.5.1 - jest-util: 27.5.1 - natural-compare: 1.4.0 - pretty-format: 27.5.1 - semver: 7.6.3 - transitivePeerDependencies: - - supports-color - - jest-snapshot@28.1.3: + jest-snapshot@28.1.3(supports-color@9.4.0): dependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/generator': 7.25.7 '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 '@jest/expect-utils': 28.1.3 - '@jest/transform': 28.1.3 + '@jest/transform': 28.1.3(supports-color@9.4.0) '@jest/types': 28.1.3 '@types/babel__traverse': 7.20.6 '@types/prettier': 2.7.3 @@ -14171,40 +14333,58 @@ snapshots: transitivePeerDependencies: - supports-color - jest-snapshot@28.1.3(supports-color@9.4.0): + jest-snapshot@29.5.0: dependencies: '@babel/core': 7.25.8(supports-color@9.4.0) '@babel/generator': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) '@babel/traverse': 7.25.7(supports-color@9.4.0) '@babel/types': 7.25.8 - '@jest/expect-utils': 28.1.3 - '@jest/transform': 28.1.3(supports-color@9.4.0) - '@jest/types': 28.1.3 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.6.3 '@types/babel__traverse': 7.20.6 '@types/prettier': 2.7.3 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8) chalk: 4.1.2 - expect: 28.1.3 + expect: 29.7.0 graceful-fs: 4.2.11 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - jest-haste-map: 28.1.3 - jest-matcher-utils: 28.1.3 - jest-message-util: 28.1.3 - jest-util: 28.1.3 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 natural-compare: 1.4.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 semver: 7.6.3 transitivePeerDependencies: - supports-color - jest-styled-components@7.2.0(styled-components@5.3.0(@babel/core@7.25.8)(react-is@18.3.1)): + jest-snapshot@29.7.0: dependencies: - '@adobe/css-tools': 4.4.0 - styled-components: 5.3.0(@babel/core@7.25.8)(react-is@18.3.1) - - jest-transform-graphql@2.1.0: {} + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/generator': 7.25.7 + '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8) + '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8) + '@babel/types': 7.25.8 + '@jest/expect-utils': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8) + chalk: 4.1.2 + expect: 29.7.0 + graceful-fs: 4.2.11 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + natural-compare: 1.4.0 + pretty-format: 29.7.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color jest-util@25.5.0: dependencies: @@ -14214,18 +14394,18 @@ snapshots: is-ci: 2.0.0 make-dir: 3.1.0 - jest-util@27.5.1: + jest-util@28.1.3: dependencies: - '@jest/types': 27.5.1 + '@jest/types': 28.1.3 '@types/node': 18.19.57 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - jest-util@28.1.3: + jest-util@29.7.0: dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 '@types/node': 18.19.57 chalk: 4.1.2 ci-info: 3.9.0 @@ -14241,23 +14421,23 @@ snapshots: leven: 3.1.0 pretty-format: 25.5.0 - jest-validate@27.5.1: + jest-validate@28.1.3: dependencies: - '@jest/types': 27.5.1 + '@jest/types': 28.1.3 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 27.5.1 + jest-get-type: 28.0.2 leven: 3.1.0 - pretty-format: 27.5.1 + pretty-format: 28.1.3 - jest-validate@28.1.3: + jest-validate@29.7.0: dependencies: - '@jest/types': 28.1.3 + '@jest/types': 29.6.3 camelcase: 6.3.0 chalk: 4.1.2 - jest-get-type: 28.0.2 + jest-get-type: 29.6.3 leven: 3.1.0 - pretty-format: 28.1.3 + pretty-format: 29.7.0 jest-watch-typeahead@0.5.0: dependencies: @@ -14289,25 +14469,26 @@ snapshots: jest-util: 25.5.0 string-length: 3.1.0 - jest-watcher@27.5.1: + jest-watcher@28.1.3: dependencies: - '@jest/test-result': 27.5.1 - '@jest/types': 27.5.1 + '@jest/test-result': 28.1.3 + '@jest/types': 28.1.3 '@types/node': 18.19.57 ansi-escapes: 4.3.2 chalk: 4.1.2 - jest-util: 27.5.1 + emittery: 0.10.2 + jest-util: 28.1.3 string-length: 4.0.2 - jest-watcher@28.1.3: + jest-watcher@29.7.0: dependencies: - '@jest/test-result': 28.1.3 - '@jest/types': 28.1.3 + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 '@types/node': 18.19.57 ansi-escapes: 4.3.2 chalk: 4.1.2 - emittery: 0.10.2 - jest-util: 28.1.3 + emittery: 0.13.1 + jest-util: 29.7.0 string-length: 4.0.2 jest-worker@24.9.0: @@ -14332,6 +14513,13 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 + jest-worker@29.7.0: + dependencies: + '@types/node': 18.19.57 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + jest@25.5.4: dependencies: '@jest/core': 25.5.4 @@ -14405,40 +14593,6 @@ snapshots: - bufferutil - utf-8-validate - jsdom@16.7.0: - dependencies: - abab: 2.0.6 - acorn: 8.13.0 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.4.3 - domexception: 2.0.1 - escodegen: 2.1.0 - form-data: 3.0.2 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.13 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.1.4 - w3c-hr-time: 1.0.2 - w3c-xmlserializer: 2.0.0 - webidl-conversions: 6.1.0 - whatwg-encoding: 1.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - ws: 7.5.10 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - jsdom@19.0.0: dependencies: abab: 2.0.6 @@ -14473,6 +14627,8 @@ snapshots: - supports-color - utf-8-validate + jsep@1.4.0: {} + jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -14509,7 +14665,11 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonpath-plus@4.0.0: {} + jsonpath-plus@10.1.0: + dependencies: + '@jsep-plugin/assignment': 1.3.0(jsep@1.4.0) + '@jsep-plugin/regex': 1.0.4(jsep@1.4.0) + jsep: 1.4.0 jsprim@1.4.2: dependencies: @@ -14582,8 +14742,6 @@ snapshots: lodash.debounce@4.0.8: {} - lodash.get@4.4.2: {} - lodash.isequal@4.5.0: {} lodash.memoize@4.1.2: {} @@ -14721,7 +14879,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -14763,6 +14921,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -15216,8 +15378,6 @@ snapshots: prettier@1.19.1: {} - prettier@2.3.2: {} - prettier@2.8.8: {} pretty-format@25.5.0: @@ -15240,6 +15400,12 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + process-nextick-args@2.0.1: {} progress-estimator@0.2.2: @@ -15271,6 +15437,8 @@ snapshots: punycode@2.3.1: {} + pure-rand@6.1.0: {} + qrcode@1.5.4: dependencies: dijkstrajs: 1.0.3 @@ -15333,10 +15501,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@3.5.0: - dependencies: - picomatch: 2.3.1 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -15472,8 +15636,6 @@ snapshots: require-main-filename@2.0.0: {} - requireindex@1.1.0: {} - requires-port@1.0.0: {} resolve-cwd@3.0.0: @@ -15488,17 +15650,14 @@ snapshots: resolve.exports@1.1.1: {} + resolve.exports@2.0.2: {} + resolve@1.1.7: {} resolve@1.17.0: dependencies: path-parse: 1.0.7 - resolve@1.19.0: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - resolve@1.22.8: dependencies: is-core-module: 2.15.1 @@ -15576,6 +15735,10 @@ snapshots: '@types/node': 18.19.57 acorn: 7.4.1 + rollup@3.29.5: + optionalDependencies: + fsevents: 2.3.3 + rollup@4.24.0: dependencies: '@types/estree': 1.0.6 @@ -15682,7 +15845,7 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.3.8: + semver@7.5.4: dependencies: lru-cache: 6.0.0 @@ -15721,8 +15884,6 @@ snapshots: is-plain-object: 2.0.4 split-string: 3.1.0 - shallowequal@1.1.0: {} - shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -16039,28 +16200,10 @@ snapshots: style-search@0.1.0: {} - styled-components@5.3.0(@babel/core@7.25.8)(react-is@18.3.1): - dependencies: - '@babel/helper-module-imports': 7.25.7(supports-color@5.5.0) - '@babel/traverse': 7.25.7(supports-color@5.5.0) - '@emotion/is-prop-valid': 0.8.8 - '@emotion/stylis': 0.8.5 - '@emotion/unitless': 0.7.5 - babel-plugin-styled-components: 2.1.4(@babel/core@7.25.8)(styled-components@5.3.0(@babel/core@7.25.8)(react-is@18.3.1))(supports-color@5.5.0) - css-to-react-native: 3.2.0 - hoist-non-react-statics: 3.3.2 - react-is: 18.3.1 - shallowequal: 1.1.0 - supports-color: 5.5.0 - transitivePeerDependencies: - - '@babel/core' - stylelint-config-recommended@5.0.0(stylelint@13.13.1): dependencies: stylelint: 13.13.1 - stylelint-config-styled-components@0.1.1: {} - stylelint-order@4.1.0(stylelint@13.13.1): dependencies: lodash: 4.17.21 @@ -16068,15 +16211,6 @@ snapshots: postcss-sorting: 5.0.1 stylelint: 13.13.1 - stylelint-processor-styled-components@1.10.0: - dependencies: - '@babel/parser': 7.25.8 - '@babel/traverse': 7.25.7 - micromatch: 4.0.8 - postcss: 7.0.39 - transitivePeerDependencies: - - supports-color - stylelint@13.13.1: dependencies: '@stylelint/postcss-css-in-js': 0.37.3(postcss-syntax@0.36.2(postcss@7.0.39))(postcss@7.0.39) @@ -16085,7 +16219,7 @@ snapshots: balanced-match: 2.0.0 chalk: 4.1.2 cosmiconfig: 7.1.0 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) execall: 2.0.0 fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 @@ -16229,12 +16363,8 @@ snapshots: throat@5.0.0: {} - throat@6.0.2: {} - through@2.3.8: {} - timsort@0.3.0: {} - tiny-glob@0.2.9: dependencies: globalyzer: 0.1.0 @@ -16317,10 +16447,6 @@ snapshots: dependencies: punycode: 2.3.1 - tr46@2.1.0: - dependencies: - punycode: 2.3.1 - tr46@3.0.0: dependencies: punycode: 2.3.1 @@ -16329,7 +16455,9 @@ snapshots: trough@1.0.5: {} - true-case-path@2.2.1: {} + ts-api-utils@1.4.0(typescript@5.6.3): + dependencies: + typescript: 5.6.3 ts-jest@25.5.1(jest@25.5.4)(typescript@3.9.10): dependencies: @@ -16346,7 +16474,7 @@ snapshots: typescript: 3.9.10 yargs-parser: 18.1.3 - ts-jest@28.0.8(@babel/core@7.25.8)(@jest/types@28.1.3)(babel-jest@28.1.3(@babel/core@7.25.8))(jest@28.1.3(@types/node@18.19.57))(typescript@4.9.5): + ts-jest@28.0.8(@babel/core@7.25.8)(@jest/types@28.1.3)(babel-jest@28.1.3(@babel/core@7.25.8))(jest@28.1.3(@types/node@18.19.57))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 @@ -16356,25 +16484,25 @@ snapshots: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.3 - typescript: 4.9.5 + typescript: 5.6.3 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.25.8 + '@babel/core': 7.25.8(supports-color@9.4.0) '@jest/types': 28.1.3 babel-jest: 28.1.3(@babel/core@7.25.8) - ts-loader@9.2.6(typescript@4.9.5)(webpack@5.95.0): + ts-loader@9.2.6(typescript@5.6.3)(webpack@5.95.0): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 micromatch: 4.0.8 semver: 7.6.3 - typescript: 4.9.5 + typescript: 5.6.3 webpack: 5.95.0 - tsconfck@2.1.2(typescript@4.9.5): + tsconfck@2.1.2(typescript@5.6.3): optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 tsconfig-paths-webpack-plugin@3.5.2: dependencies: @@ -16397,12 +16525,12 @@ snapshots: tsdx@0.14.1(@types/babel__core@7.20.5)(@types/node@18.19.57): dependencies: - '@babel/core': 7.25.8 - '@babel/helper-module-imports': 7.25.7 + '@babel/core': 7.25.8(supports-color@9.4.0) + '@babel/helper-module-imports': 7.25.7(supports-color@9.4.0) '@babel/parser': 7.25.8 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.8) '@babel/preset-env': 7.25.8(@babel/core@7.25.8) - '@babel/traverse': 7.25.7 + '@babel/traverse': 7.25.7(supports-color@9.4.0) '@rollup/plugin-babel': 5.3.1(@babel/core@7.25.8)(@types/babel__core@7.20.5)(rollup@1.32.1) '@rollup/plugin-commonjs': 11.1.0(rollup@1.32.1) '@rollup/plugin-json': 4.1.0(rollup@1.32.1) @@ -16472,11 +16600,6 @@ snapshots: tslib: 1.14.1 typescript: 3.9.10 - tsutils@3.21.0(typescript@4.9.5): - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -16543,7 +16666,7 @@ snapshots: typescript@3.9.10: {} - typescript@4.9.5: {} + typescript@5.6.3: {} unbox-primitive@1.0.2: dependencies: @@ -16645,12 +16768,6 @@ snapshots: convert-source-map: 1.9.0 source-map: 0.7.4 - v8-to-istanbul@8.1.1: - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 1.9.0 - source-map: 0.7.4 - v8-to-istanbul@9.3.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -16664,8 +16781,6 @@ snapshots: validate-rfc@2.0.3: {} - validator@13.12.0: {} - validator@9.4.1: {} verror@1.10.0: @@ -16689,7 +16804,7 @@ snapshots: vite-node@2.1.3(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0): dependencies: cac: 6.7.14 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) pathe: 1.1.2 vite: 5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0) transitivePeerDependencies: @@ -16703,17 +16818,39 @@ snapshots: - supports-color - terser - vite-tsconfig-paths@4.2.3(typescript@4.9.5)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)): + vite-tsconfig-paths@4.2.3(typescript@5.6.3)(vite@4.5.5(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)): + dependencies: + debug: 4.3.7(supports-color@9.4.0) + globrex: 0.1.2 + tsconfck: 2.1.2(typescript@5.6.3) + optionalDependencies: + vite: 4.5.5(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0) + transitivePeerDependencies: + - supports-color + - typescript + + vite-tsconfig-paths@4.2.3(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0)): dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) globrex: 0.1.2 - tsconfck: 2.1.2(typescript@4.9.5) + tsconfck: 2.1.2(typescript@5.6.3) optionalDependencies: vite: 5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0) transitivePeerDependencies: - supports-color - typescript + vite@4.5.5(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0): + dependencies: + esbuild: 0.18.20 + postcss: 8.4.47 + rollup: 3.29.5 + optionalDependencies: + '@types/node': 18.19.57 + fsevents: 2.3.3 + sugarss: 2.0.0 + terser: 5.36.0 + vite@5.4.9(@types/node@18.19.57)(sugarss@2.0.0)(terser@5.36.0): dependencies: esbuild: 0.21.5 @@ -16735,7 +16872,7 @@ snapshots: '@vitest/spy': 2.1.3 '@vitest/utils': 2.1.3 chai: 5.1.1 - debug: 4.3.7 + debug: 4.3.7(supports-color@9.4.0) magic-string: 0.30.12 pathe: 1.1.2 std-env: 3.7.0 @@ -16771,10 +16908,6 @@ snapshots: webidl-conversions: 4.0.2 xml-name-validator: 3.0.0 - w3c-xmlserializer@2.0.0: - dependencies: - xml-name-validator: 3.0.0 - w3c-xmlserializer@3.0.0: dependencies: xml-name-validator: 4.0.0 @@ -16783,6 +16916,11 @@ snapshots: dependencies: makeerror: 1.0.12 + watchpack@2.4.0: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + watchpack@2.4.2: dependencies: glob-to-regexp: 0.4.1 @@ -16796,10 +16934,6 @@ snapshots: webidl-conversions@4.0.2: {} - webidl-conversions@5.0.0: {} - - webidl-conversions@6.1.0: {} - webidl-conversions@7.0.0: {} webpack-sources@3.2.3: {} @@ -16873,12 +17007,6 @@ snapshots: tr46: 1.0.1 webidl-conversions: 4.0.2 - whatwg-url@8.7.0: - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -17070,12 +17198,4 @@ snapshots: yocto-queue@0.1.0: {} - z-schema@5.0.5: - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.12.0 - optionalDependencies: - commander: 9.5.0 - zwitch@1.0.5: {} diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 984e91af..ea3f988b 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -11,12 +11,6 @@ "version": "4.0.15", "nextBump": "patch" }, - { - "policyName": "transform", - "definitionName": "lockStepVersion", - "version": "0.0.1-beta.0", - "nextBump": "prerelease" - }, { "policyName": "catalogs", "definitionName": "lockStepVersion", @@ -76,5 +70,35 @@ "definitionName": "lockStepVersion", "version": "4.0.15", "nextBump": "patch" + }, + { + "policyName": "transform", + "definitionName": "lockStepVersion", + "version": "4.0.13", + "nextBump": "patch" + }, + { + "policyName": "elements", + "definitionName": "lockStepVersion", + "version": "4.0.13", + "nextBump": "patch" + }, + { + "policyName": "types", + "definitionName": "lockStepVersion", + "version": "4.0.13", + "nextBump": "patch" + }, + { + "policyName": "expresiones", + "definitionName": "lockStepVersion", + "version": "4.0.13", + "nextBump": "patch" + }, + { + "policyName": "xml2json", + "definitionName": "lockStepVersion", + "version": "4.0.13", + "nextBump": "patch" } ] diff --git a/common/scripts/github-actions.js b/common/scripts/github-actions.js index f06b882b..b7124914 100644 --- a/common/scripts/github-actions.js +++ b/common/scripts/github-actions.js @@ -71,6 +71,27 @@ function getDependences(scope) { xsd: true, xml: true, complementos: true, + }, + transform: { + transform: true, + xml: true + }, + types: { + types: true, + xml: true, + complementos: true + }, + elements: { + elements: true, + xml: true, + complementos: true, + transform: true + }, + expresiones: { + expresiones: true + }, + xml2json: { + xml2json: true } }; return dependencies[scope] || {}; diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 6784ed60..00000000 --- a/package-lock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "cfdi", - "lockfileVersion": 2, - "requires": true, - "packages": {} -} diff --git a/packages/cfdi/catalogos/package.json b/packages/cfdi/catalogos/package.json index ae9c550b..2727b84e 100644 --- a/packages/cfdi/catalogos/package.json +++ b/packages/cfdi/catalogos/package.json @@ -61,8 +61,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -72,13 +72,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/complementos/package.json b/packages/cfdi/complementos/package.json index 5171c3da..5c475bac 100644 --- a/packages/cfdi/complementos/package.json +++ b/packages/cfdi/complementos/package.json @@ -71,8 +71,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -82,13 +82,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/csd/package.json b/packages/cfdi/csd/package.json index b66d77bc..50d85843 100644 --- a/packages/cfdi/csd/package.json +++ b/packages/cfdi/csd/package.json @@ -59,8 +59,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -71,13 +71,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/csf/package.json b/packages/cfdi/csf/package.json index a15bd121..52ce9b71 100644 --- a/packages/cfdi/csf/package.json +++ b/packages/cfdi/csf/package.json @@ -64,18 +64,19 @@ "pdf-parse": "^1.1.1" }, "devDependencies": { + "@types/pdf-parse": "^1.1.4", "rimraf": "^5.0.0", "@recreando/eslint-settings": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@types/node": "^18.11.3", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/curp/package.json b/packages/cfdi/curp/package.json index 80b47ab7..5d0bf025 100644 --- a/packages/cfdi/curp/package.json +++ b/packages/cfdi/curp/package.json @@ -52,8 +52,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -63,13 +63,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/elements/.eslintrc.js b/packages/cfdi/elements/.eslintrc.js new file mode 100644 index 00000000..1c7b1395 --- /dev/null +++ b/packages/cfdi/elements/.eslintrc.js @@ -0,0 +1,30 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require("@rushstack/eslint-config/patch/modern-module-resolution"); + +module.exports = { + extends: [ + "./node_modules/@recreando/eslint-settings/react", + ], + parserOptions: { tsconfigRootDir: __dirname, }, + rules: { + "no-unused-expressions": "off", + "sort-imports": "off", + "no-unused-vars": "off", + "import/no-cycle": "off", + "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "React" }], + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-argument":"off", + "@typescript-eslint/await-thenable": "off", + "@typescript-eslint/no-misused-promises": "off", + "no-async-promise-executor":"off", + "noUnusedLocals": "off", + "no-unused-vars": "off", + "noUnusedParameters": "off", + "no-unused-variable":1, + "class-methods-use-this":"off", + "react/no-multi-comp": "off", + "guard-for-in": "off", + "no-restricted-syntax":"off" + }, +}; diff --git a/packages/cfdi/elements/.gitignore b/packages/cfdi/elements/.gitignore new file mode 100644 index 00000000..3cfae250 --- /dev/null +++ b/packages/cfdi/elements/.gitignore @@ -0,0 +1,168 @@ +*.log +.DS_Store +node_modules +dist +lib +# Created by .ignore support plugin (hsz.mobi) +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Node template +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# Lib Output + diff --git a/packages/cfdi/elements/.npmignore b/packages/cfdi/elements/.npmignore new file mode 100644 index 00000000..956a7450 --- /dev/null +++ b/packages/cfdi/elements/.npmignore @@ -0,0 +1,8 @@ +src +tsconfig.json +tslint.json +.prettierrc +test +resources +jest.config.js +.eslintrc.js diff --git a/packages/cfdi/elements/.releaserc.json b/packages/cfdi/elements/.releaserc.json new file mode 100644 index 00000000..df085997 --- /dev/null +++ b/packages/cfdi/elements/.releaserc.json @@ -0,0 +1,9 @@ +{ + "release": { + "branches": [ + "main", + "next", + "beta" + ] + } +} diff --git a/packages/cfdi/elements/CHANGELOG.json b/packages/cfdi/elements/CHANGELOG.json new file mode 100644 index 00000000..981bc15b --- /dev/null +++ b/packages/cfdi/elements/CHANGELOG.json @@ -0,0 +1,131 @@ +{ + "name": "@cfdi/xml", + "entries": [ + { + "version": "4.0.13", + "tag": "@cfdi/xml_v4.0.13", + "date": "Mon, 08 May 2023 23:09:27 GMT", + "comments": {} + }, + { + "version": "4.0.12", + "tag": "@cfdi/xml_v4.0.12", + "date": "Sat, 06 May 2023 18:20:41 GMT", + "comments": {} + }, + { + "version": "4.0.11", + "tag": "@cfdi/xml_v4.0.11", + "date": "Sat, 06 May 2023 17:50:52 GMT", + "comments": {} + }, + { + "version": "4.0.10", + "tag": "@cfdi/xml_v4.0.10", + "date": "Fri, 05 May 2023 17:50:53 GMT", + "comments": {} + }, + { + "version": "4.0.9", + "tag": "@cfdi/xml_v4.0.9", + "date": "Fri, 05 May 2023 14:50:42 GMT", + "comments": {} + }, + { + "version": "4.0.8", + "tag": "@cfdi/xml_v4.0.8", + "date": "Fri, 05 May 2023 01:55:04 GMT", + "comments": {} + }, + { + "version": "4.0.7", + "tag": "@cfdi/xml_v4.0.7", + "date": "Sun, 30 Apr 2023 22:22:24 GMT", + "comments": {} + }, + { + "version": "4.0.6", + "tag": "@cfdi/xml_v4.0.6", + "date": "Mon, 03 Apr 2023 22:58:52 GMT", + "comments": {} + }, + { + "version": "4.0.5", + "tag": "@cfdi/xml_v4.0.5", + "date": "Mon, 06 Mar 2023 22:48:01 GMT", + "comments": {} + }, + { + "version": "4.0.4", + "tag": "@cfdi/xml_v4.0.4", + "date": "Mon, 06 Mar 2023 21:47:04 GMT", + "comments": {} + }, + { + "version": "4.0.3", + "tag": "@cfdi/xml_v4.0.3", + "date": "Fri, 03 Mar 2023 22:53:55 GMT", + "comments": {} + }, + { + "version": "4.0.2", + "tag": "@cfdi/xml_v4.0.2", + "date": "Fri, 03 Mar 2023 19:12:21 GMT", + "comments": {} + }, + { + "version": "0.0.19", + "tag": "@cfdi/xml_v0.0.19", + "date": "Sat, 28 Jan 2023 21:20:46 GMT", + "comments": {} + }, + { + "version": "0.0.18", + "tag": "@cfdi/xml_v0.0.18", + "date": "Sat, 03 Dec 2022 20:48:36 GMT", + "comments": {} + }, + { + "version": "0.0.17", + "tag": "@cfdi/xml_v0.0.17", + "date": "Sat, 03 Dec 2022 19:23:48 GMT", + "comments": {} + }, + { + "version": "0.0.16", + "tag": "@cfdi/xml_v0.0.16", + "date": "Fri, 02 Dec 2022 22:12:55 GMT", + "comments": {} + }, + { + "version": "0.0.15", + "tag": "@cfdi/xml_v0.0.15", + "date": "Fri, 02 Dec 2022 17:23:44 GMT", + "comments": {} + }, + { + "version": "0.0.14", + "tag": "@cfdi/xml_v0.0.14", + "date": "Sun, 27 Nov 2022 17:36:29 GMT", + "comments": {} + }, + { + "version": "0.0.13", + "tag": "@cfdi/xml_v0.0.13", + "date": "Sun, 27 Nov 2022 03:35:07 GMT", + "comments": {} + }, + { + "version": "0.0.11", + "tag": "@cfdi/xml_v0.0.11", + "date": "Wed, 19 Oct 2022 23:50:11 GMT", + "comments": {} + }, + { + "version": "0.0.10", + "tag": "@cfdi/xml_v0.0.10", + "date": "Tue, 09 Aug 2022 17:08:57 GMTa", + "comments": {} + } + ] +} diff --git a/packages/cfdi/elements/CHANGELOG.md b/packages/cfdi/elements/CHANGELOG.md new file mode 100644 index 00000000..7e04ddbe --- /dev/null +++ b/packages/cfdi/elements/CHANGELOG.md @@ -0,0 +1,109 @@ +# Change Log - @cfdi/xml + +This log was last generated on Mon, 08 May 2023 23:09:27 GMT and should not be manually modified. + +## 4.0.13 +Mon, 08 May 2023 23:09:27 GMT + +_Version update only_ + +## 4.0.12 +Sat, 06 May 2023 18:20:41 GMT + +_Version update only_ + +## 4.0.11 +Sat, 06 May 2023 17:50:52 GMT + +_Version update only_ + +## 4.0.10 +Fri, 05 May 2023 17:50:53 GMT + +_Version update only_ + +## 4.0.9 +Fri, 05 May 2023 14:50:42 GMT + +_Version update only_ + +## 4.0.8 +Fri, 05 May 2023 01:55:04 GMT + +_Version update only_ + +## 4.0.7 +Sun, 30 Apr 2023 22:22:24 GMT + +_Version update only_ + +## 4.0.6 +Mon, 03 Apr 2023 22:58:52 GMT + +_Version update only_ + +## 4.0.5 +Mon, 06 Mar 2023 22:48:01 GMT + +_Version update only_ + +## 4.0.4 +Mon, 06 Mar 2023 21:47:04 GMT + +_Version update only_ + +## 4.0.3 +Fri, 03 Mar 2023 22:53:55 GMT + +_Version update only_ + +## 4.0.2 +Fri, 03 Mar 2023 19:12:21 GMT + +_Version update only_ + +## 0.0.19 +Sat, 28 Jan 2023 21:20:46 GMT + +_Version update only_ + +## 0.0.18 +Sat, 03 Dec 2022 20:48:36 GMT + +_Version update only_ + +## 0.0.17 +Sat, 03 Dec 2022 19:23:48 GMT + +_Version update only_ + +## 0.0.16 +Fri, 02 Dec 2022 22:12:55 GMT + +_Version update only_ + +## 0.0.15 +Fri, 02 Dec 2022 17:23:44 GMT + +_Version update only_ + +## 0.0.14 +Sun, 27 Nov 2022 17:36:29 GMT + +_Version update only_ + +## 0.0.13 +Sun, 27 Nov 2022 03:35:07 GMT + +_Version update only_ + +## 0.0.11 +Wed, 19 Oct 2022 23:50:11 GMT + +_Version update only_ + +## 0.0.10 +Tue, 09 Aug 2022 17:08:57 GMTa + +_Initial release_ + diff --git a/packages/cfdi/elements/LICENSE b/packages/cfdi/elements/LICENSE new file mode 100644 index 00000000..5d5ce6d3 --- /dev/null +++ b/packages/cfdi/elements/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 MisaelMa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/cfdi/elements/README.md b/packages/cfdi/elements/README.md new file mode 100644 index 00000000..9f7b855e --- /dev/null +++ b/packages/cfdi/elements/README.md @@ -0,0 +1,205 @@ +# CFDI + +

+ + Nest Logo +

+ +Documentacion +

+ Este módulo genera un CFDI a partir de clases lo que facilita la creacion de XMl y sellarlo sin nigun problema de compatibilidad de las versiones 2.0 del xml de complementos. +

+ +
+ + + + +
+ +Instala las dependencias and devDependencies y comienza a crear xml CFDI 4.0. +Para Windows Lea la Documentacion + +# Dependeces + +JDK + +```sh + sudo apt install default-jre + sudo apt install default-jdk +``` + +Openssl + +```sh + Debian/Ubuntu: sudo apt-get install openssl + CentOS, Red Hat: yum install openssl + Archlinux: sudo pacman -S openssl +``` + +Saxon-HE >=9.9.1.6J + +```sh + + official: http://saxon.sourceforge.net/ + Archlinux: https://aur.archlinux.org/packages/saxon-he + + Automatic Installation Alternative + + https://github.com/MisaelMa/saxon-he + sudo chmod 777 saxon.sh + sudo ./saxon.sh + + ███████╗ █████╗ ██╗ ██╗ ██████╗ ███╗ ██╗ ██╗ ██╗███████╗ + ██╔════╝██╔══██╗╚██╗██╔╝██╔═══██╗████╗ ██║ ██║ ██║██╔════╝ + ███████╗███████║ ╚███╔╝ ██║ ██║██╔██╗ ██║ ███████║█████╗ + ╚════██║██╔══██║ ██╔██╗ ██║ ██║██║╚██╗██║ ██╔══██║██╔══╝ + ███████║██║ ██║██╔╝ ██╗╚██████╔╝██║ ╚████║ ██║ ██║███████╗ + ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝ +``` + +# Installation + +```sh +npm i --save @cfdi/xml +``` + +# Complementos + +## Información adicional para las Facturas + +- [x] :pushpin: Timbre fiscal digital (TFD). +- [ ] Estado de cuenta de combustibles de monederos electrónicos. +- [x] :pushpin: Donatarias. +- [x] :pushpin: Compra venta de divisas. +- [x] :pushpin: Otros derechos e impuestos. +- [x] :pushpin: Leyendas fiscales. +- [x] :pushpin: Persona física integrante de coordinado. +- [x] :pushpin: Turista pasajero extranjero. +- [x] :pushpin: Spei de tercero a tercero. +- [ ] Sector de ventas al detalle (Detallista). +- [x] :pushpin: CFDI Registro fiscal. +- [ ] Recibo de pago de nómina. +- [x] :pushpin: Pago en especie. +- [x] :pushpin: Vales de despensa. +- [x] :pushpin: Consumo de combustibles. versión 1.1 +- [x] :pushpin: Aerolíneas. +- [ ] Notarios Públicos. +- [x] :pushpin: Vehículo usado. +- [x] :pushpin: Servicios parciales de construcción. +- [x] :pushpin: Renovación y sustitución de vehículos. +- [x] :pushpin: Certificado de destrucción +- [x] :pushpin: Obras de arte plásticas y antigüedades +- [x] :pushpin: INE +- [x] :pushpin: Comercio Exterior versión 1.1 +- [x] :pushpin: Recepción de pagos +- [x] Hidrocarburos + - [x] :pushpin: IngresosHidrocarburos + - [x] :pushpin: GastosHidrocarburos10 + +## Complementos de Concepto + +- [x] :pushpin: Instituciones educativas privadas. +- [ ] Venta de vehículos. +- [ ] Terceros. +- [ ] Acreditamiento del IEPS + +# Informacion Oficial + +- Certificados de prueba + http://omawww.sat.gob.mx/tramitesyservicios/Paginas/certificado_sello_digital.htm +- Anexo 20 + http://omawww.sat.gob.mx/tramitesyservicios/Paginas/anexo_20_version3-3.htm +- Catálogo de productos y servicios + http://pys.sat.gob.mx/PyS/catPyS.aspx +- Catálogo de unidades de medida + http://pys.sat.gob.mx/PyS/catUnidades.aspx +- Consulta los complementos y complementos concepto de factura + +https://www.sat.gob.mx/consultas/49522/complementos-y-complementos-concepto-de-factura- + +https://www.sat.gob.mx/cs/Satellite?blobcol=urldata&blobkey=id&blobtable=MungoBlobs&blobwhere=1461173971924&ssbinary=true + +# Generar archivos .pem + +Lo primero que se necesita es tener instalada la librería OpenSSL (programa dedicado a la generación y tratado de claves, certificados y keyStore) para poder utilizar los comandos que nos ayudarán a crear las llaves de nuestros sellos digitales. + +## Linux + +Instalar librería: + +Debian/Ubuntu: #sudo apt-get install openssl + +CentOS, Red Hat: #yum install openssl + +Ejecutar las instrucciones: + +Archivo key.pem + +```sh +openssl pkcs8 -inform DER -in nombrearchivo.key -out nombrearchivo.key.pem -passin pass:contraseña +``` + +archivo cer.pem + +```sh +openssl x509 -inform DER -outform PEM -in ruta/nombreArchivo.cer -pubkey -out ruta/nombreArchivo.cer.pem +``` + +## Windows + +Descargar libreria: http://slproweb.com/products/Win32OpenSSL.html + +Deberán descargar la versión según su sistema operativo, e instalar. + +Ejecutar desde terminal + +Archivo key.pem + +```sh +openssl.exe pkcs8 -inform DER -in ruta/nombreArchivo.key -passin pass:contraseña -out ruta/nombreArchivo.key.pem +``` + +archivo cer.pem + +```sh +openssl.exe x509 -inform DER -outform PEM -in ruta/nombreArchivo.cer -pubkey -out ruta/nombreArchivo.cer.pem +``` + +# Generar QR + +ESPECIFICACIÓN TÉCNICA DEL CÓDIGO DE BARRAS BIDIMENSIONAL A INCORPORAR EN LA REPRESENTACIÓN IMPRESA. + +Las representaciones impresas de los dos tipos de comprobantes fiscales digitales por Internet deben incluir un código de barras bidimensional conforme al formato de QR Code (Quick Response Code),usando la capacidad de corrección de error con nivel mínimo M, descrito en el estándar ISO/IEC18004, con base en los siguientes lineamientos. + +a) Debe contener los siguientes datos en la siguiente secuencia: + + *La URL del acceso al servicio que pueda mostrar los datos de la versión publica del comprobante. + *Numero de folio fiscal del comprobante (UUID). + *RFC del emisor. + *RFC del receptor. + *Ocho últimos caracteres del sello digital del emisor del comprobante. + +Donde se manejan / caracteres conformados de la siguiente manera: + +

+ The house from the offer. +

+ +De esta manera se generan los datos validos para realizar una consulta de un CFDI por medio de su expresión impresa. + +Ejemplo: + +https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id=5803EB8D-81CD-4557-8719-26632D2FA434&re=XAXX010101000&rr=CARR861127SB0&tt=0000014300.000000&fe=rH8/bw== + +El código de barras bidimensional debe ser impreso en un cuadro con lados no menores a 2.75 centímetros. + +

+The house from the offer. +

diff --git a/packages/cfdi/elements/config/index.js b/packages/cfdi/elements/config/index.js new file mode 100644 index 00000000..7dee80b9 --- /dev/null +++ b/packages/cfdi/elements/config/index.js @@ -0,0 +1,2 @@ +'use strict' +module.exports = require('./elements.cjs.production.min.js') diff --git a/packages/cfdi/elements/jest.config.js b/packages/cfdi/elements/jest.config.js new file mode 100644 index 00000000..e9a29ce4 --- /dev/null +++ b/packages/cfdi/elements/jest.config.js @@ -0,0 +1,5 @@ +const baseConfig = require('@recreando/jest/jestConfig'); + +module.exports = { + ...baseConfig, +}; diff --git a/packages/cfdi/elements/package.index.json b/packages/cfdi/elements/package.index.json new file mode 100644 index 00000000..22ffc12a --- /dev/null +++ b/packages/cfdi/elements/package.index.json @@ -0,0 +1,5 @@ +{ + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "module": "dist/elements.esm.js" +} diff --git a/packages/cfdi/elements/package.json b/packages/cfdi/elements/package.json new file mode 100644 index 00000000..70496bba --- /dev/null +++ b/packages/cfdi/elements/package.json @@ -0,0 +1,132 @@ +{ + "name": "@cfdi/elements", + "version": "4.0.13", + "description": "Libreria para crear y sellar xml cfdi V4.0", + "homepage": "https://cfdi.recreando.dev", + "license": "MIT", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "module": "./dist/xml.esm.production.min.js", + "source": "./src/index.ts", + "release": { + "branches": [ + "main", + "next", + "beta" + ] + }, + "files": [ + "dist" + ], + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/MisaelMa/recreando" + }, + "engines": { + "node": ">=10" + }, + "scripts": { + "start": "tsdx watch", + "build": "tsdx build --env production --minify && rimraf ./dist/index.js ./dist/elements.cjs.development.* && npm run cp", + "cp": "cp ./config/index.js ./dist", + "test": "vitest", + "test:ci": "vitest run", + "test:coverage": "vitest run --coverage", + "test:ui": "vitest --ui", + "lint": "tsdx lint", + "prepare": "npm run build", + "size": "size-limit", + "analyze": "size-limit --why" + }, + "husky": { + "hooks": { + "pre-commit": "tsdx lint" + } + }, + "prettier": { + "printWidth": 80, + "semi": true, + "singleQuote": true, + "trailingComma": "es5" + }, + "size-limit": [ + { + "path": "dist/elements.cjs.production.min.js", + "limit": "10 KB" + }, + { + "path": "dist/elements.esm.js", + "limit": "10 KB" + } + ], + "dependencies": { + "@cfdi/catalogos": "workspace:*", + "@cfdi/csd": "workspace:*", + "@cfdi/xsd": "workspace:*", + "@cfdi/complementos": "workspace:*", + "@saxon-he/cli": "workspace:*", + "xml-js": "^1.6.11" + }, + "devDependencies": { + "rimraf": "^5.0.0", + "@recreando/eslint-settings": "workspace:*", + "@recreando/typescript-settings": "workspace:*", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", + "@size-limit/preset-small-lib": "^7.0.8", + "@types/node": "^18.11.3", + "eslint": "^8.57.0", + "size-limit": "^7.0.8", + "tsdx": "^0.14.1", + "tslib": "^2.4.0", + "typescript": "^5.6.3", + "vitest": "2.1.3", + "vite-tsconfig-paths": "~4.2.1", + "@vitest/coverage-v8": "2.1.3", + "@vitest/ui": "2.1.3" + }, + "keywords": [ + "CFDI 3.3.", + "Factura Electronica", + "Factura Electronica Mexico", + "Sellar Xml", + "SAT", + "Buzon tributario", + "cfdiv33", + "cfdi", + "sat", + "3.3", + "factura", + "mexico", + "pdf", + "complemento", + "timbre", + "iedu", + "nomina", + "exterior", + "terceros", + "pagos", + "ine" + ], + "author": { + "name": "Amir Misael Marin Coh, Signati", + "email": "amisael.amir.misae@gmail.com, signatidev@gmail.com,", + "url": "" + }, + "contributors": [ + { + "name": "Amir Misael Marin Coh", + "email": "amisael.amir.misae@gmail.com", + "url": "https://cfdi.recreando.dev" + }, + { + "name": "Jose Alberto Marin Coh", + "email": "", + "url": "" + } + ] +} diff --git a/packages/cfdi/elements/src/cfdi.ts b/packages/cfdi/elements/src/cfdi.ts new file mode 100644 index 00000000..79d093cc --- /dev/null +++ b/packages/cfdi/elements/src/cfdi.ts @@ -0,0 +1 @@ +const IS_LOADING3 = false \ No newline at end of file diff --git a/packages/cfdi/elements/src/complementos.ts b/packages/cfdi/elements/src/complementos.ts new file mode 100644 index 00000000..55b2bf1e --- /dev/null +++ b/packages/cfdi/elements/src/complementos.ts @@ -0,0 +1 @@ +const iedu = '' \ No newline at end of file diff --git a/packages/cfdi/elements/src/comprobante.ts b/packages/cfdi/elements/src/comprobante.ts new file mode 100644 index 00000000..b2ca667e --- /dev/null +++ b/packages/cfdi/elements/src/comprobante.ts @@ -0,0 +1 @@ +const IS_LOADING = false \ No newline at end of file diff --git a/packages/cfdi/elements/src/index.ts b/packages/cfdi/elements/src/index.ts new file mode 100644 index 00000000..f7079263 --- /dev/null +++ b/packages/cfdi/elements/src/index.ts @@ -0,0 +1 @@ +const IS_LOADING1 = false \ No newline at end of file diff --git a/packages/cfdi/elements/test/check.test.ts b/packages/cfdi/elements/test/check.test.ts new file mode 100644 index 00000000..6ac59191 --- /dev/null +++ b/packages/cfdi/elements/test/check.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it, test } from 'vitest'; + +describe('blah', () => { + it('works', () => { + expect(2).toEqual(2); + }); +}); diff --git a/packages/cfdi/elements/tsconfig.json b/packages/cfdi/elements/tsconfig.json new file mode 100644 index 00000000..dd3d7e74 --- /dev/null +++ b/packages/cfdi/elements/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "./node_modules/@recreando/typescript-settings/profiles/default/tsconfig-base.json", + "compilerOptions": { + "lib": ["dom", "esnext"], + "types": [ "node" ], + "importHelpers": true, + // output .d.ts declaration files for consumers + "declaration": true, + // output .js.map sourcemap files for consumers + "sourceMap": true, + "noUnusedLocals": false, + "strict": true, + "noUnusedParameters": false, + } +} diff --git a/packages/cfdi/xml/vitest.config.ts b/packages/cfdi/elements/vitest.config.mts similarity index 100% rename from packages/cfdi/xml/vitest.config.ts rename to packages/cfdi/elements/vitest.config.mts diff --git a/packages/cfdi/expresiones/ vitest.config.ts b/packages/cfdi/expresiones/ vitest.config.ts new file mode 100644 index 00000000..f2a4ec65 --- /dev/null +++ b/packages/cfdi/expresiones/ vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; // only if you are using custom tsconfig paths + +export default defineConfig({ + test: {}, + plugins: [tsconfigPaths()], // only if you are using custom tsconfig paths +}); diff --git a/packages/cfdi/expresiones/.eslintrc.js b/packages/cfdi/expresiones/.eslintrc.js new file mode 100644 index 00000000..1c7b1395 --- /dev/null +++ b/packages/cfdi/expresiones/.eslintrc.js @@ -0,0 +1,30 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require("@rushstack/eslint-config/patch/modern-module-resolution"); + +module.exports = { + extends: [ + "./node_modules/@recreando/eslint-settings/react", + ], + parserOptions: { tsconfigRootDir: __dirname, }, + rules: { + "no-unused-expressions": "off", + "sort-imports": "off", + "no-unused-vars": "off", + "import/no-cycle": "off", + "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "React" }], + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-argument":"off", + "@typescript-eslint/await-thenable": "off", + "@typescript-eslint/no-misused-promises": "off", + "no-async-promise-executor":"off", + "noUnusedLocals": "off", + "no-unused-vars": "off", + "noUnusedParameters": "off", + "no-unused-variable":1, + "class-methods-use-this":"off", + "react/no-multi-comp": "off", + "guard-for-in": "off", + "no-restricted-syntax":"off" + }, +}; diff --git a/packages/cfdi/expresiones/.gitignore b/packages/cfdi/expresiones/.gitignore new file mode 100644 index 00000000..4c9d7c35 --- /dev/null +++ b/packages/cfdi/expresiones/.gitignore @@ -0,0 +1,4 @@ +*.log +.DS_Store +node_modules +dist diff --git a/packages/cfdi/expresiones/LICENSE b/packages/cfdi/expresiones/LICENSE new file mode 100644 index 00000000..5d5ce6d3 --- /dev/null +++ b/packages/cfdi/expresiones/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 MisaelMa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/cfdi/expresiones/README.md b/packages/cfdi/expresiones/README.md new file mode 100644 index 00000000..9487075c --- /dev/null +++ b/packages/cfdi/expresiones/README.md @@ -0,0 +1 @@ +utils diff --git a/packages/cfdi/expresiones/config/index.js b/packages/cfdi/expresiones/config/index.js new file mode 100644 index 00000000..c3028c25 --- /dev/null +++ b/packages/cfdi/expresiones/config/index.js @@ -0,0 +1,2 @@ +'use strict' +module.exports = require('./expresiones.cjs.production.min.js') diff --git a/packages/cfdi/expresiones/jest.config.js b/packages/cfdi/expresiones/jest.config.js new file mode 100644 index 00000000..e9a29ce4 --- /dev/null +++ b/packages/cfdi/expresiones/jest.config.js @@ -0,0 +1,5 @@ +const baseConfig = require('@recreando/jest/jestConfig'); + +module.exports = { + ...baseConfig, +}; diff --git a/packages/cfdi/expresiones/package.index.json b/packages/cfdi/expresiones/package.index.json new file mode 100644 index 00000000..a57210e7 --- /dev/null +++ b/packages/cfdi/expresiones/package.index.json @@ -0,0 +1,5 @@ +{ + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "module": "dist/expresiones.esm.js" +} diff --git a/packages/cfdi/expresiones/package.json b/packages/cfdi/expresiones/package.json new file mode 100644 index 00000000..f928cf2d --- /dev/null +++ b/packages/cfdi/expresiones/package.json @@ -0,0 +1,98 @@ +{ + "name": "@cfdi/expresiones", + "version": "4.0.13", + "license": "MIT", + "source": "./src/index.ts", + "release": { + "branches": [ + "main", + "next", + "beta" + ] + }, + "files": [ + "dist", + "src" + ], + "engines": { + "node": ">=10" + }, + "scripts": { + "start": "tsdx watch", + "build": "tsdx build --env production --minify && rimraf ./dist/index.js ./dist/expresiones.cjs.development.* && npm run cp", + "cp": "cp ./config/index.js ./dist", + "test": "vitest", + "test:ci": "vitest run", + "test:coverage": "vitest --coverage run", + "test:ui": "vitest --ui", + "lint": "tsdx lint", + "prepare": "npm run build", + "size": "size-limit", + "analyze": "size-limit --why" + }, + "husky": { + "hooks": { + "pre-commit": "tsdx lint" + } + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/MisaelMa/recreando" + }, + "prettier": { + "printWidth": 80, + "semi": true, + "singleQuote": true, + "trailingComma": "es5" + }, + "author": { + "name": "Amir Misael Marin Coh, Signati", + "email": "amisael.amir.misae@gmail.com, signatidev@gmail.com,", + "url": "" + }, + "size-limit": [ + { + "path": "dist/expresiones.cjs.production.min.js", + "limit": "10 KB" + }, + { + "path": "dist/expresiones.esm.js", + "limit": "10 KB" + } + ], + "dependencies": { + "xml-js": "^1.6.11" + }, + "devDependencies": { + "rimraf": "^5.0.0", + "@recreando/eslint-settings": "workspace:*", + "@recreando/jest": "workspace:*", + "@recreando/typescript-settings": "workspace:*", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", + "@size-limit/preset-small-lib": "^7.0.8", + "@testing-library/dom": "^8.19.0", + "@testing-library/jest-dom": "^5.16.1", + "@types/deep-freeze": "^0.1.2", + "@types/jest": "^27.5.0", + "@types/node": "^18.11.3", + "@types/testing-library__jest-dom": "^5.9.1", + "chalk": "^4.0.0", + "chokidar": "^3.5.2", + "eslint": "^8.57.0", + "husky": "^8.0.1", + "jest": "^28.1.2", + "size-limit": "^7.0.8", + "tsdx": "^0.14.1", + "tslib": "^2.4.0", + "typescript": "^5.6.3", + "vitest": "2.1.3", + "vite-tsconfig-paths": "~4.2.1", + "@vitest/coverage-v8": "2.1.3", + "@vitest/ui": "2.1.3" + } +} diff --git a/packages/cfdi/expresiones/src/index.ts b/packages/cfdi/expresiones/src/index.ts new file mode 100644 index 00000000..354a0839 --- /dev/null +++ b/packages/cfdi/expresiones/src/index.ts @@ -0,0 +1 @@ +export { default as Transform } from './transform'; diff --git a/packages/cfdi/expresiones/src/transform.ts b/packages/cfdi/expresiones/src/transform.ts new file mode 100644 index 00000000..a85e0b62 --- /dev/null +++ b/packages/cfdi/expresiones/src/transform.ts @@ -0,0 +1,125 @@ +// @ts-ignore + +import { js2xml, json2xml, xml2js } from 'xml-js'; +import { readFileSync, writeFileSync } from 'fs'; + + +type XsdElement = { + name: string; + minOccurs?: string; + elements?: XsdElement[]; + attributes?: Record; +}; + +type JsonSchema = { + $schema: string; + type: string; + properties: Record; + required: string[]; + additionalProperties: false; +}; + +function cleanObjectKeys(obj: any): any { + if (typeof obj !== 'object') { + return obj; + } + + if (Array.isArray(obj)) { + return obj.map(cleanObjectKeys); + } + + const cleanedObj = {}; + + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (key === '_attributes') { + const attributes = obj[key]; + for (const attrKey in attributes) { + if (Object.prototype.hasOwnProperty.call(attributes, attrKey)) { + if (!attrKey.includes(':')) { + // @ts-ignore + cleanedObj[`@${attrKey}`] = attributes[attrKey]; + } + } + } + } else { + const cleanedKey = key.split(':').pop(); + // @ts-ignore + cleanedObj[cleanedKey] = cleanObjectKeys(obj[key]); + } + } + } + + return cleanedObj; +} + +//export const CFDIXsd = LoadXsd.getInstance(); + +export default class Transform { + xml: any = {}; + xslPath = ''; + fullPath = ''; + constructor(xml: any) { + this.xml = xml; + } + + async run() { + const rear = await this.obtenerValores(this.xml['cfdi:Comprobante']); + return `||${rear.filter((e) => e).join('|')}||`; + } + + json(xslPath: string) { + this.xslPath = xslPath; + return this; + } + + warnings(type: string = 'silent') { + return this; + } + + private obtenerValores(obj: any, options: any = { tagKey: 'comprobante' }) { + const { tagKey = 'comprobante', ignore = false } = options; + let valores: (string | number)[] = []; + const omitKeys = [ + 'xmlns:cfdi', + 'xmlns:xsi', + 'xsi:schemaLocation', + 'Certificado', + 'xmlns:destruccion', + 'xmlns:iedu', + 'xmlns:pago10', + ]; + const miObjeto = { + comprobante: [ + '_attributes', + 'cfdi:InformacionGlobal', + 'cfdi:CfdiRelacionados', + 'cfdi:Emisor', + 'cfdi:Receptor', + 'cfdi:Conceptos', + 'cfdi:Impuestos', + 'cfdi:Complemento', + ], + concepto: [], + }; + + const ingnore: string[] = ['Sello']; + // @ts-ignore + const clavesOrdenadas = ignore ? Object.keys(obj) : miObjeto[tagKey]; + for (let key of clavesOrdenadas) { + if (!omitKeys.includes(key)) { + if (typeof obj[key] === 'object') { + valores = valores.concat( + this.obtenerValores(obj[key], { ignore: true }) + ); + } else { + if (!ingnore.includes(key)) { + valores.push(obj[key]); + } + } + } + } + + return valores; + } +} diff --git a/packages/cfdi/expresiones/test/check.test.ts b/packages/cfdi/expresiones/test/check.test.ts new file mode 100644 index 00000000..6ac59191 --- /dev/null +++ b/packages/cfdi/expresiones/test/check.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it, test } from 'vitest'; + +describe('blah', () => { + it('works', () => { + expect(2).toEqual(2); + }); +}); diff --git a/packages/cfdi/expresiones/tsconfig.json b/packages/cfdi/expresiones/tsconfig.json new file mode 100644 index 00000000..dd3d7e74 --- /dev/null +++ b/packages/cfdi/expresiones/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "./node_modules/@recreando/typescript-settings/profiles/default/tsconfig-base.json", + "compilerOptions": { + "lib": ["dom", "esnext"], + "types": [ "node" ], + "importHelpers": true, + // output .d.ts declaration files for consumers + "declaration": true, + // output .js.map sourcemap files for consumers + "sourceMap": true, + "noUnusedLocals": false, + "strict": true, + "noUnusedParameters": false, + } +} diff --git a/packages/cfdi/pdf/package.json b/packages/cfdi/pdf/package.json index 78dfbcec..1485a0c6 100644 --- a/packages/cfdi/pdf/package.json +++ b/packages/cfdi/pdf/package.json @@ -63,8 +63,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -75,13 +75,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/rfc/package.json b/packages/cfdi/rfc/package.json index 09cf14db..8c048f3f 100644 --- a/packages/cfdi/rfc/package.json +++ b/packages/cfdi/rfc/package.json @@ -52,8 +52,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -63,13 +63,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/transform/ vitest.config.ts b/packages/cfdi/transform/ vitest.config.ts new file mode 100644 index 00000000..f2a4ec65 --- /dev/null +++ b/packages/cfdi/transform/ vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; // only if you are using custom tsconfig paths + +export default defineConfig({ + test: {}, + plugins: [tsconfigPaths()], // only if you are using custom tsconfig paths +}); diff --git a/packages/cfdi/transform/.eslintrc.js b/packages/cfdi/transform/.eslintrc.js new file mode 100644 index 00000000..1c7b1395 --- /dev/null +++ b/packages/cfdi/transform/.eslintrc.js @@ -0,0 +1,30 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require("@rushstack/eslint-config/patch/modern-module-resolution"); + +module.exports = { + extends: [ + "./node_modules/@recreando/eslint-settings/react", + ], + parserOptions: { tsconfigRootDir: __dirname, }, + rules: { + "no-unused-expressions": "off", + "sort-imports": "off", + "no-unused-vars": "off", + "import/no-cycle": "off", + "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "React" }], + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-argument":"off", + "@typescript-eslint/await-thenable": "off", + "@typescript-eslint/no-misused-promises": "off", + "no-async-promise-executor":"off", + "noUnusedLocals": "off", + "no-unused-vars": "off", + "noUnusedParameters": "off", + "no-unused-variable":1, + "class-methods-use-this":"off", + "react/no-multi-comp": "off", + "guard-for-in": "off", + "no-restricted-syntax":"off" + }, +}; diff --git a/packages/cfdi/transform/.gitignore b/packages/cfdi/transform/.gitignore new file mode 100644 index 00000000..4c9d7c35 --- /dev/null +++ b/packages/cfdi/transform/.gitignore @@ -0,0 +1,4 @@ +*.log +.DS_Store +node_modules +dist diff --git a/packages/cfdi/transform/LICENSE b/packages/cfdi/transform/LICENSE new file mode 100644 index 00000000..5d5ce6d3 --- /dev/null +++ b/packages/cfdi/transform/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 MisaelMa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/cfdi/transform/README.md b/packages/cfdi/transform/README.md new file mode 100644 index 00000000..9487075c --- /dev/null +++ b/packages/cfdi/transform/README.md @@ -0,0 +1 @@ +utils diff --git a/packages/cfdi/transform/config/index.js b/packages/cfdi/transform/config/index.js new file mode 100644 index 00000000..e940f4aa --- /dev/null +++ b/packages/cfdi/transform/config/index.js @@ -0,0 +1,2 @@ +'use strict' +module.exports = require('./transform.cjs.production.min.js') diff --git a/packages/cfdi/transform/jest.config.js b/packages/cfdi/transform/jest.config.js new file mode 100644 index 00000000..e9a29ce4 --- /dev/null +++ b/packages/cfdi/transform/jest.config.js @@ -0,0 +1,5 @@ +const baseConfig = require('@recreando/jest/jestConfig'); + +module.exports = { + ...baseConfig, +}; diff --git a/packages/cfdi/transform/package.index.json b/packages/cfdi/transform/package.index.json new file mode 100644 index 00000000..00067193 --- /dev/null +++ b/packages/cfdi/transform/package.index.json @@ -0,0 +1,5 @@ +{ + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "module": "dist/transform.esm.js" +} diff --git a/packages/cfdi/transform/package.json b/packages/cfdi/transform/package.json new file mode 100644 index 00000000..6434338a --- /dev/null +++ b/packages/cfdi/transform/package.json @@ -0,0 +1,98 @@ +{ + "name": "@cfdi/transform", + "version": "4.0.13", + "license": "MIT", + "source": "./src/index.ts", + "release": { + "branches": [ + "main", + "next", + "beta" + ] + }, + "files": [ + "dist", + "src" + ], + "engines": { + "node": ">=10" + }, + "scripts": { + "start": "tsdx watch", + "build": "tsdx build --env production --minify && rimraf ./dist/index.js ./dist/xsd.cjs.development.* && npm run cp", + "cp": "cp ./config/index.js ./dist", + "test": "vitest", + "test:ci": "vitest run", + "test:coverage": "vitest --coverage run", + "test:ui": "vitest --ui", + "lint": "tsdx lint", + "prepare": "npm run build", + "size": "size-limit", + "analyze": "size-limit --why" + }, + "husky": { + "hooks": { + "pre-commit": "tsdx lint" + } + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/MisaelMa/recreando" + }, + "prettier": { + "printWidth": 80, + "semi": true, + "singleQuote": true, + "trailingComma": "es5" + }, + "author": { + "name": "Amir Misael Marin Coh, Signati", + "email": "amisael.amir.misae@gmail.com, signatidev@gmail.com,", + "url": "" + }, + "size-limit": [ + { + "path": "dist/transform.cjs.production.min.js", + "limit": "10 KB" + }, + { + "path": "dist/transform.esm.js", + "limit": "10 KB" + } + ], + "dependencies": { + "xml-js": "^1.6.11" + }, + "devDependencies": { + "rimraf": "^5.0.0", + "@recreando/eslint-settings": "workspace:*", + "@recreando/jest": "workspace:*", + "@recreando/typescript-settings": "workspace:*", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", + "@size-limit/preset-small-lib": "^7.0.8", + "@testing-library/dom": "^8.19.0", + "@testing-library/jest-dom": "^5.16.1", + "@types/deep-freeze": "^0.1.2", + "@types/jest": "^27.5.0", + "@types/node": "^18.11.3", + "@types/testing-library__jest-dom": "^5.9.1", + "chalk": "^4.0.0", + "chokidar": "^3.5.2", + "eslint": "^8.57.0", + "husky": "^8.0.1", + "jest": "^28.1.2", + "size-limit": "^7.0.8", + "tsdx": "^0.14.1", + "tslib": "^2.4.0", + "typescript": "^5.6.3", + "vitest": "2.1.3", + "vite-tsconfig-paths": "~4.2.1", + "@vitest/coverage-v8": "2.1.3", + "@vitest/ui": "2.1.3" + } +} diff --git a/packages/cfdi/transform/src/index.ts b/packages/cfdi/transform/src/index.ts new file mode 100644 index 00000000..354a0839 --- /dev/null +++ b/packages/cfdi/transform/src/index.ts @@ -0,0 +1 @@ +export { default as Transform } from './transform'; diff --git a/packages/cfdi/transform/src/transform.ts b/packages/cfdi/transform/src/transform.ts new file mode 100644 index 00000000..36afb72f --- /dev/null +++ b/packages/cfdi/transform/src/transform.ts @@ -0,0 +1,124 @@ +// @ts-ignore + +import { js2xml, json2xml, xml2js } from 'xml-js'; +import { readFileSync, writeFileSync } from 'fs'; + +type XsdElement = { + name: string; + minOccurs?: string; + elements?: XsdElement[]; + attributes?: Record; +}; + +type JsonSchema = { + $schema: string; + type: string; + properties: Record; + required: string[]; + additionalProperties: false; +}; + +function cleanObjectKeys(obj: any): any { + if (typeof obj !== 'object') { + return obj; + } + + if (Array.isArray(obj)) { + return obj.map(cleanObjectKeys); + } + + const cleanedObj = {}; + + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (key === '_attributes') { + const attributes = obj[key]; + for (const attrKey in attributes) { + if (Object.prototype.hasOwnProperty.call(attributes, attrKey)) { + if (!attrKey.includes(':')) { + // @ts-ignore + cleanedObj[`@${attrKey}`] = attributes[attrKey]; + } + } + } + } else { + const cleanedKey = key.split(':').pop(); + // @ts-ignore + cleanedObj[cleanedKey] = cleanObjectKeys(obj[key]); + } + } + } + + return cleanedObj; +} + +//export const CFDIXsd = LoadXsd.getInstance(); + +export default class Transform { + xml: any = {}; + xslPath = ''; + fullPath = ''; + constructor(xml: any) { + this.xml = xml; + } + + async run() { + const rear = await this.obtenerValores(this.xml['cfdi:Comprobante']); + return `||${rear.filter((e) => e).join('|')}||`; + } + + json(xslPath: string) { + this.xslPath = xslPath; + return this; + } + + warnings(type: string = 'silent') { + return this; + } + + private obtenerValores(obj: any, options: any = { tagKey: 'comprobante' }) { + const { tagKey = 'comprobante', ignore = false } = options; + let valores: (string | number)[] = []; + const omitKeys = [ + 'xmlns:cfdi', + 'xmlns:xsi', + 'xsi:schemaLocation', + 'Certificado', + 'xmlns:destruccion', + 'xmlns:iedu', + 'xmlns:pago10', + ]; + const miObjeto = { + comprobante: [ + '_attributes', + 'cfdi:InformacionGlobal', + 'cfdi:CfdiRelacionados', + 'cfdi:Emisor', + 'cfdi:Receptor', + 'cfdi:Conceptos', + 'cfdi:Impuestos', + 'cfdi:Complemento', + ], + concepto: [], + }; + + const ingnore: string[] = ['Sello']; + // @ts-ignore + const clavesOrdenadas = ignore ? Object.keys(obj) : miObjeto[tagKey]; + for (let key of clavesOrdenadas) { + if (!omitKeys.includes(key)) { + if (typeof obj[key] === 'object') { + valores = valores.concat( + this.obtenerValores(obj[key], { ignore: true }) + ); + } else { + if (!ingnore.includes(key)) { + valores.push(obj[key]); + } + } + } + } + + return valores; + } +} diff --git a/packages/cfdi/transform/test/check.test.ts b/packages/cfdi/transform/test/check.test.ts new file mode 100644 index 00000000..6ac59191 --- /dev/null +++ b/packages/cfdi/transform/test/check.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it, test } from 'vitest'; + +describe('blah', () => { + it('works', () => { + expect(2).toEqual(2); + }); +}); diff --git a/packages/cfdi/transform/tsconfig.json b/packages/cfdi/transform/tsconfig.json new file mode 100644 index 00000000..dd3d7e74 --- /dev/null +++ b/packages/cfdi/transform/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "./node_modules/@recreando/typescript-settings/profiles/default/tsconfig-base.json", + "compilerOptions": { + "lib": ["dom", "esnext"], + "types": [ "node" ], + "importHelpers": true, + // output .d.ts declaration files for consumers + "declaration": true, + // output .js.map sourcemap files for consumers + "sourceMap": true, + "noUnusedLocals": false, + "strict": true, + "noUnusedParameters": false, + } +} diff --git a/packages/cfdi/types/.eslintrc.js b/packages/cfdi/types/.eslintrc.js new file mode 100644 index 00000000..1c7b1395 --- /dev/null +++ b/packages/cfdi/types/.eslintrc.js @@ -0,0 +1,30 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require("@rushstack/eslint-config/patch/modern-module-resolution"); + +module.exports = { + extends: [ + "./node_modules/@recreando/eslint-settings/react", + ], + parserOptions: { tsconfigRootDir: __dirname, }, + rules: { + "no-unused-expressions": "off", + "sort-imports": "off", + "no-unused-vars": "off", + "import/no-cycle": "off", + "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "React" }], + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-argument":"off", + "@typescript-eslint/await-thenable": "off", + "@typescript-eslint/no-misused-promises": "off", + "no-async-promise-executor":"off", + "noUnusedLocals": "off", + "no-unused-vars": "off", + "noUnusedParameters": "off", + "no-unused-variable":1, + "class-methods-use-this":"off", + "react/no-multi-comp": "off", + "guard-for-in": "off", + "no-restricted-syntax":"off" + }, +}; diff --git a/packages/cfdi/types/.gitignore b/packages/cfdi/types/.gitignore new file mode 100644 index 00000000..3cfae250 --- /dev/null +++ b/packages/cfdi/types/.gitignore @@ -0,0 +1,168 @@ +*.log +.DS_Store +node_modules +dist +lib +# Created by .ignore support plugin (hsz.mobi) +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Node template +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# Lib Output + diff --git a/packages/cfdi/types/.npmignore b/packages/cfdi/types/.npmignore new file mode 100644 index 00000000..956a7450 --- /dev/null +++ b/packages/cfdi/types/.npmignore @@ -0,0 +1,8 @@ +src +tsconfig.json +tslint.json +.prettierrc +test +resources +jest.config.js +.eslintrc.js diff --git a/packages/cfdi/types/.releaserc.json b/packages/cfdi/types/.releaserc.json new file mode 100644 index 00000000..df085997 --- /dev/null +++ b/packages/cfdi/types/.releaserc.json @@ -0,0 +1,9 @@ +{ + "release": { + "branches": [ + "main", + "next", + "beta" + ] + } +} diff --git a/packages/cfdi/types/CHANGELOG.json b/packages/cfdi/types/CHANGELOG.json new file mode 100644 index 00000000..981bc15b --- /dev/null +++ b/packages/cfdi/types/CHANGELOG.json @@ -0,0 +1,131 @@ +{ + "name": "@cfdi/xml", + "entries": [ + { + "version": "4.0.13", + "tag": "@cfdi/xml_v4.0.13", + "date": "Mon, 08 May 2023 23:09:27 GMT", + "comments": {} + }, + { + "version": "4.0.12", + "tag": "@cfdi/xml_v4.0.12", + "date": "Sat, 06 May 2023 18:20:41 GMT", + "comments": {} + }, + { + "version": "4.0.11", + "tag": "@cfdi/xml_v4.0.11", + "date": "Sat, 06 May 2023 17:50:52 GMT", + "comments": {} + }, + { + "version": "4.0.10", + "tag": "@cfdi/xml_v4.0.10", + "date": "Fri, 05 May 2023 17:50:53 GMT", + "comments": {} + }, + { + "version": "4.0.9", + "tag": "@cfdi/xml_v4.0.9", + "date": "Fri, 05 May 2023 14:50:42 GMT", + "comments": {} + }, + { + "version": "4.0.8", + "tag": "@cfdi/xml_v4.0.8", + "date": "Fri, 05 May 2023 01:55:04 GMT", + "comments": {} + }, + { + "version": "4.0.7", + "tag": "@cfdi/xml_v4.0.7", + "date": "Sun, 30 Apr 2023 22:22:24 GMT", + "comments": {} + }, + { + "version": "4.0.6", + "tag": "@cfdi/xml_v4.0.6", + "date": "Mon, 03 Apr 2023 22:58:52 GMT", + "comments": {} + }, + { + "version": "4.0.5", + "tag": "@cfdi/xml_v4.0.5", + "date": "Mon, 06 Mar 2023 22:48:01 GMT", + "comments": {} + }, + { + "version": "4.0.4", + "tag": "@cfdi/xml_v4.0.4", + "date": "Mon, 06 Mar 2023 21:47:04 GMT", + "comments": {} + }, + { + "version": "4.0.3", + "tag": "@cfdi/xml_v4.0.3", + "date": "Fri, 03 Mar 2023 22:53:55 GMT", + "comments": {} + }, + { + "version": "4.0.2", + "tag": "@cfdi/xml_v4.0.2", + "date": "Fri, 03 Mar 2023 19:12:21 GMT", + "comments": {} + }, + { + "version": "0.0.19", + "tag": "@cfdi/xml_v0.0.19", + "date": "Sat, 28 Jan 2023 21:20:46 GMT", + "comments": {} + }, + { + "version": "0.0.18", + "tag": "@cfdi/xml_v0.0.18", + "date": "Sat, 03 Dec 2022 20:48:36 GMT", + "comments": {} + }, + { + "version": "0.0.17", + "tag": "@cfdi/xml_v0.0.17", + "date": "Sat, 03 Dec 2022 19:23:48 GMT", + "comments": {} + }, + { + "version": "0.0.16", + "tag": "@cfdi/xml_v0.0.16", + "date": "Fri, 02 Dec 2022 22:12:55 GMT", + "comments": {} + }, + { + "version": "0.0.15", + "tag": "@cfdi/xml_v0.0.15", + "date": "Fri, 02 Dec 2022 17:23:44 GMT", + "comments": {} + }, + { + "version": "0.0.14", + "tag": "@cfdi/xml_v0.0.14", + "date": "Sun, 27 Nov 2022 17:36:29 GMT", + "comments": {} + }, + { + "version": "0.0.13", + "tag": "@cfdi/xml_v0.0.13", + "date": "Sun, 27 Nov 2022 03:35:07 GMT", + "comments": {} + }, + { + "version": "0.0.11", + "tag": "@cfdi/xml_v0.0.11", + "date": "Wed, 19 Oct 2022 23:50:11 GMT", + "comments": {} + }, + { + "version": "0.0.10", + "tag": "@cfdi/xml_v0.0.10", + "date": "Tue, 09 Aug 2022 17:08:57 GMTa", + "comments": {} + } + ] +} diff --git a/packages/cfdi/types/CHANGELOG.md b/packages/cfdi/types/CHANGELOG.md new file mode 100644 index 00000000..7e04ddbe --- /dev/null +++ b/packages/cfdi/types/CHANGELOG.md @@ -0,0 +1,109 @@ +# Change Log - @cfdi/xml + +This log was last generated on Mon, 08 May 2023 23:09:27 GMT and should not be manually modified. + +## 4.0.13 +Mon, 08 May 2023 23:09:27 GMT + +_Version update only_ + +## 4.0.12 +Sat, 06 May 2023 18:20:41 GMT + +_Version update only_ + +## 4.0.11 +Sat, 06 May 2023 17:50:52 GMT + +_Version update only_ + +## 4.0.10 +Fri, 05 May 2023 17:50:53 GMT + +_Version update only_ + +## 4.0.9 +Fri, 05 May 2023 14:50:42 GMT + +_Version update only_ + +## 4.0.8 +Fri, 05 May 2023 01:55:04 GMT + +_Version update only_ + +## 4.0.7 +Sun, 30 Apr 2023 22:22:24 GMT + +_Version update only_ + +## 4.0.6 +Mon, 03 Apr 2023 22:58:52 GMT + +_Version update only_ + +## 4.0.5 +Mon, 06 Mar 2023 22:48:01 GMT + +_Version update only_ + +## 4.0.4 +Mon, 06 Mar 2023 21:47:04 GMT + +_Version update only_ + +## 4.0.3 +Fri, 03 Mar 2023 22:53:55 GMT + +_Version update only_ + +## 4.0.2 +Fri, 03 Mar 2023 19:12:21 GMT + +_Version update only_ + +## 0.0.19 +Sat, 28 Jan 2023 21:20:46 GMT + +_Version update only_ + +## 0.0.18 +Sat, 03 Dec 2022 20:48:36 GMT + +_Version update only_ + +## 0.0.17 +Sat, 03 Dec 2022 19:23:48 GMT + +_Version update only_ + +## 0.0.16 +Fri, 02 Dec 2022 22:12:55 GMT + +_Version update only_ + +## 0.0.15 +Fri, 02 Dec 2022 17:23:44 GMT + +_Version update only_ + +## 0.0.14 +Sun, 27 Nov 2022 17:36:29 GMT + +_Version update only_ + +## 0.0.13 +Sun, 27 Nov 2022 03:35:07 GMT + +_Version update only_ + +## 0.0.11 +Wed, 19 Oct 2022 23:50:11 GMT + +_Version update only_ + +## 0.0.10 +Tue, 09 Aug 2022 17:08:57 GMTa + +_Initial release_ + diff --git a/packages/cfdi/types/LICENSE b/packages/cfdi/types/LICENSE new file mode 100644 index 00000000..5d5ce6d3 --- /dev/null +++ b/packages/cfdi/types/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 MisaelMa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/cfdi/types/README.md b/packages/cfdi/types/README.md new file mode 100644 index 00000000..9f7b855e --- /dev/null +++ b/packages/cfdi/types/README.md @@ -0,0 +1,205 @@ +# CFDI + +

+ + Nest Logo +

+ +Documentacion +

+ Este módulo genera un CFDI a partir de clases lo que facilita la creacion de XMl y sellarlo sin nigun problema de compatibilidad de las versiones 2.0 del xml de complementos. +

+ +
+ + + + +
+ +Instala las dependencias and devDependencies y comienza a crear xml CFDI 4.0. +Para Windows Lea la Documentacion + +# Dependeces + +JDK + +```sh + sudo apt install default-jre + sudo apt install default-jdk +``` + +Openssl + +```sh + Debian/Ubuntu: sudo apt-get install openssl + CentOS, Red Hat: yum install openssl + Archlinux: sudo pacman -S openssl +``` + +Saxon-HE >=9.9.1.6J + +```sh + + official: http://saxon.sourceforge.net/ + Archlinux: https://aur.archlinux.org/packages/saxon-he + + Automatic Installation Alternative + + https://github.com/MisaelMa/saxon-he + sudo chmod 777 saxon.sh + sudo ./saxon.sh + + ███████╗ █████╗ ██╗ ██╗ ██████╗ ███╗ ██╗ ██╗ ██╗███████╗ + ██╔════╝██╔══██╗╚██╗██╔╝██╔═══██╗████╗ ██║ ██║ ██║██╔════╝ + ███████╗███████║ ╚███╔╝ ██║ ██║██╔██╗ ██║ ███████║█████╗ + ╚════██║██╔══██║ ██╔██╗ ██║ ██║██║╚██╗██║ ██╔══██║██╔══╝ + ███████║██║ ██║██╔╝ ██╗╚██████╔╝██║ ╚████║ ██║ ██║███████╗ + ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝ +``` + +# Installation + +```sh +npm i --save @cfdi/xml +``` + +# Complementos + +## Información adicional para las Facturas + +- [x] :pushpin: Timbre fiscal digital (TFD). +- [ ] Estado de cuenta de combustibles de monederos electrónicos. +- [x] :pushpin: Donatarias. +- [x] :pushpin: Compra venta de divisas. +- [x] :pushpin: Otros derechos e impuestos. +- [x] :pushpin: Leyendas fiscales. +- [x] :pushpin: Persona física integrante de coordinado. +- [x] :pushpin: Turista pasajero extranjero. +- [x] :pushpin: Spei de tercero a tercero. +- [ ] Sector de ventas al detalle (Detallista). +- [x] :pushpin: CFDI Registro fiscal. +- [ ] Recibo de pago de nómina. +- [x] :pushpin: Pago en especie. +- [x] :pushpin: Vales de despensa. +- [x] :pushpin: Consumo de combustibles. versión 1.1 +- [x] :pushpin: Aerolíneas. +- [ ] Notarios Públicos. +- [x] :pushpin: Vehículo usado. +- [x] :pushpin: Servicios parciales de construcción. +- [x] :pushpin: Renovación y sustitución de vehículos. +- [x] :pushpin: Certificado de destrucción +- [x] :pushpin: Obras de arte plásticas y antigüedades +- [x] :pushpin: INE +- [x] :pushpin: Comercio Exterior versión 1.1 +- [x] :pushpin: Recepción de pagos +- [x] Hidrocarburos + - [x] :pushpin: IngresosHidrocarburos + - [x] :pushpin: GastosHidrocarburos10 + +## Complementos de Concepto + +- [x] :pushpin: Instituciones educativas privadas. +- [ ] Venta de vehículos. +- [ ] Terceros. +- [ ] Acreditamiento del IEPS + +# Informacion Oficial + +- Certificados de prueba + http://omawww.sat.gob.mx/tramitesyservicios/Paginas/certificado_sello_digital.htm +- Anexo 20 + http://omawww.sat.gob.mx/tramitesyservicios/Paginas/anexo_20_version3-3.htm +- Catálogo de productos y servicios + http://pys.sat.gob.mx/PyS/catPyS.aspx +- Catálogo de unidades de medida + http://pys.sat.gob.mx/PyS/catUnidades.aspx +- Consulta los complementos y complementos concepto de factura + +https://www.sat.gob.mx/consultas/49522/complementos-y-complementos-concepto-de-factura- + +https://www.sat.gob.mx/cs/Satellite?blobcol=urldata&blobkey=id&blobtable=MungoBlobs&blobwhere=1461173971924&ssbinary=true + +# Generar archivos .pem + +Lo primero que se necesita es tener instalada la librería OpenSSL (programa dedicado a la generación y tratado de claves, certificados y keyStore) para poder utilizar los comandos que nos ayudarán a crear las llaves de nuestros sellos digitales. + +## Linux + +Instalar librería: + +Debian/Ubuntu: #sudo apt-get install openssl + +CentOS, Red Hat: #yum install openssl + +Ejecutar las instrucciones: + +Archivo key.pem + +```sh +openssl pkcs8 -inform DER -in nombrearchivo.key -out nombrearchivo.key.pem -passin pass:contraseña +``` + +archivo cer.pem + +```sh +openssl x509 -inform DER -outform PEM -in ruta/nombreArchivo.cer -pubkey -out ruta/nombreArchivo.cer.pem +``` + +## Windows + +Descargar libreria: http://slproweb.com/products/Win32OpenSSL.html + +Deberán descargar la versión según su sistema operativo, e instalar. + +Ejecutar desde terminal + +Archivo key.pem + +```sh +openssl.exe pkcs8 -inform DER -in ruta/nombreArchivo.key -passin pass:contraseña -out ruta/nombreArchivo.key.pem +``` + +archivo cer.pem + +```sh +openssl.exe x509 -inform DER -outform PEM -in ruta/nombreArchivo.cer -pubkey -out ruta/nombreArchivo.cer.pem +``` + +# Generar QR + +ESPECIFICACIÓN TÉCNICA DEL CÓDIGO DE BARRAS BIDIMENSIONAL A INCORPORAR EN LA REPRESENTACIÓN IMPRESA. + +Las representaciones impresas de los dos tipos de comprobantes fiscales digitales por Internet deben incluir un código de barras bidimensional conforme al formato de QR Code (Quick Response Code),usando la capacidad de corrección de error con nivel mínimo M, descrito en el estándar ISO/IEC18004, con base en los siguientes lineamientos. + +a) Debe contener los siguientes datos en la siguiente secuencia: + + *La URL del acceso al servicio que pueda mostrar los datos de la versión publica del comprobante. + *Numero de folio fiscal del comprobante (UUID). + *RFC del emisor. + *RFC del receptor. + *Ocho últimos caracteres del sello digital del emisor del comprobante. + +Donde se manejan / caracteres conformados de la siguiente manera: + +

+ The house from the offer. +

+ +De esta manera se generan los datos validos para realizar una consulta de un CFDI por medio de su expresión impresa. + +Ejemplo: + +https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id=5803EB8D-81CD-4557-8719-26632D2FA434&re=XAXX010101000&rr=CARR861127SB0&tt=0000014300.000000&fe=rH8/bw== + +El código de barras bidimensional debe ser impreso en un cuadro con lados no menores a 2.75 centímetros. + +

+The house from the offer. +

diff --git a/packages/cfdi/types/config/index.js b/packages/cfdi/types/config/index.js new file mode 100644 index 00000000..ca1e7edb --- /dev/null +++ b/packages/cfdi/types/config/index.js @@ -0,0 +1,2 @@ +'use strict' +module.exports = require('./types.cjs.production.min.js') diff --git a/packages/cfdi/types/jest.config.js b/packages/cfdi/types/jest.config.js new file mode 100644 index 00000000..e9a29ce4 --- /dev/null +++ b/packages/cfdi/types/jest.config.js @@ -0,0 +1,5 @@ +const baseConfig = require('@recreando/jest/jestConfig'); + +module.exports = { + ...baseConfig, +}; diff --git a/packages/cfdi/types/package.index.json b/packages/cfdi/types/package.index.json new file mode 100644 index 00000000..feca68be --- /dev/null +++ b/packages/cfdi/types/package.index.json @@ -0,0 +1,5 @@ +{ + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "module": "dist/types.esm.js" +} diff --git a/packages/cfdi/types/package.json b/packages/cfdi/types/package.json new file mode 100644 index 00000000..3de8294b --- /dev/null +++ b/packages/cfdi/types/package.json @@ -0,0 +1,132 @@ +{ + "name": "@cfdi/types", + "version": "4.0.13", + "description": "Libreria para crear y sellar xml cfdi V4.0", + "homepage": "https://cfdi.recreando.dev", + "license": "MIT", + "main": "./dist/index.js", + "typings": "./dist/index.d.ts", + "module": "./dist/xml.esm.production.min.js", + "source": "./src/index.ts", + "release": { + "branches": [ + "main", + "next", + "beta" + ] + }, + "files": [ + "dist" + ], + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/MisaelMa/recreando" + }, + "engines": { + "node": ">=10" + }, + "scripts": { + "start": "tsdx watch", + "build": "tsdx build --env production --minify && rimraf ./dist/index.js ./dist/types.cjs.development.* && npm run cp", + "cp": "cp ./config/index.js ./dist", + "test": "vitest", + "test:ci": "vitest run", + "test:coverage": "vitest run --coverage", + "test:ui": "vitest --ui", + "lint": "tsdx lint", + "prepare": "npm run build", + "size": "size-limit", + "analyze": "size-limit --why" + }, + "husky": { + "hooks": { + "pre-commit": "tsdx lint" + } + }, + "prettier": { + "printWidth": 80, + "semi": true, + "singleQuote": true, + "trailingComma": "es5" + }, + "size-limit": [ + { + "path": "dist/types.cjs.production.min.js", + "limit": "10 KB" + }, + { + "path": "dist/types.esm.js", + "limit": "10 KB" + } + ], + "dependencies": { + "@cfdi/catalogos": "workspace:*", + "@cfdi/csd": "workspace:*", + "@cfdi/xsd": "workspace:*", + "@cfdi/complementos": "workspace:*", + "@saxon-he/cli": "workspace:*", + "xml-js": "^1.6.11" + }, + "devDependencies": { + "rimraf": "^5.0.0", + "@recreando/eslint-settings": "workspace:*", + "@recreando/typescript-settings": "workspace:*", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", + "@size-limit/preset-small-lib": "^7.0.8", + "@types/node": "^18.11.3", + "eslint": "^8.57.0", + "size-limit": "^7.0.8", + "tsdx": "^0.14.1", + "tslib": "^2.4.0", + "typescript": "^5.6.3", + "vitest": "2.1.3", + "vite-tsconfig-paths": "~4.2.1", + "@vitest/coverage-v8": "2.1.3", + "@vitest/ui": "2.1.3" + }, + "keywords": [ + "CFDI 3.3.", + "Factura Electronica", + "Factura Electronica Mexico", + "Sellar Xml", + "SAT", + "Buzon tributario", + "cfdiv33", + "cfdi", + "sat", + "3.3", + "factura", + "mexico", + "pdf", + "complemento", + "timbre", + "iedu", + "nomina", + "exterior", + "terceros", + "pagos", + "ine" + ], + "author": { + "name": "Amir Misael Marin Coh, Signati", + "email": "amisael.amir.misae@gmail.com, signatidev@gmail.com,", + "url": "" + }, + "contributors": [ + { + "name": "Amir Misael Marin Coh", + "email": "amisael.amir.misae@gmail.com", + "url": "https://cfdi.recreando.dev" + }, + { + "name": "Jose Alberto Marin Coh", + "email": "", + "url": "" + } + ] +} diff --git a/packages/cfdi/types/src/complementos/4.0/aerolineas/Aerolineas.ts b/packages/cfdi/types/src/complementos/4.0/aerolineas/Aerolineas.ts new file mode 100644 index 00000000..6e4b2074 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/aerolineas/Aerolineas.ts @@ -0,0 +1,67 @@ +import { + XmlAerolineas, + XmlAerolineasAttributes, + XmlAerolineasCargoAttributes, + XmlAerolineasOtrosCargos, + XmlAerolineasOtrosCargosAttributes, +} from './type/aerolineas.xslt'; + +import { Complemento } from '../../Complemento'; + +/* + * https://www.sat.gob.mx/consulta/99314/genera-facturas-electronicas-para-el-manejo-de-datos-de-aerolineas-de-pasajeros + */ +/** + * + */ +const xmlns = 'http://www.sat.gob.mx/aerolineas'; +const xsd = + 'http://www.sat.gob.mx/sitio_internet/cfd/aerolineas/aerolineas.xsd'; + +export class Aerolineas extends Complemento { + public complemento: XmlAerolineas = {} as XmlAerolineas; + + /** + * constructor + * + * @param attributes + * XmlAerolineasAttributes + */ + constructor(attributes: XmlAerolineasAttributes) { + super({ key: 'aerolineas:Aerolineas', xmlns, xsd }); + this.complemento._attributes = attributes; + } + + /** + * OtrosCargos + * + * @param attributes + * XmlAerolineasOtrosCargosAttributes + */ + OtrosCargos(attributes: XmlAerolineasOtrosCargosAttributes): void { + if (!this.complemento['aerolineas:OtrosCargos']) { + this.complemento['aerolineas:OtrosCargos'] = + {} as XmlAerolineasOtrosCargos; + } + this.complemento['aerolineas:OtrosCargos']._attributes = attributes; + } + + /** + *Cargo + * + * @param attributes + * XmlAerolineasCargoAttributes + */ + Cargo(attributes: XmlAerolineasCargoAttributes): void { + if (this.complemento['aerolineas:OtrosCargos']) { + if (!this.complemento['aerolineas:OtrosCargos']['aerolineas:Cargo']) { + this.complemento['aerolineas:OtrosCargos']['aerolineas:Cargo'] = []; + } + this.complemento['aerolineas:OtrosCargos']['aerolineas:Cargo'].push({ + _attributes: attributes, + }); + } else { + throw new Error('agrega OtrosCargos primero'); + } + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/aerolineas/index.ts b/packages/cfdi/types/src/complementos/4.0/aerolineas/index.ts new file mode 100644 index 00000000..c9372e52 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/aerolineas/index.ts @@ -0,0 +1,3 @@ +import { Aerolineas } from './Aerolineas'; + +export { Aerolineas }; diff --git a/packages/cfdi/types/src/complementos/4.0/aerolineas/type/aerolineas.xslt.ts b/packages/cfdi/types/src/complementos/4.0/aerolineas/type/aerolineas.xslt.ts new file mode 100644 index 00000000..c645a388 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/aerolineas/type/aerolineas.xslt.ts @@ -0,0 +1,27 @@ +export interface XmlAerolineas { + _attributes: XmlAerolineasAttributes; + 'aerolineas:OtrosCargos': XmlAerolineasOtrosCargos; +} + +export interface XmlAerolineasAttributes { + Version: string; + TUA: string; +} + +export interface XmlAerolineasOtrosCargos { + _attributes?: XmlAerolineasOtrosCargosAttributes; + 'aerolineas:Cargo': XmlAerolineasCargo[]; +} + +export interface XmlAerolineasOtrosCargosAttributes { + TotalCargos: string; +} + +export interface XmlAerolineasCargo { + _attributes?: XmlAerolineasCargoAttributes; +} + +export interface XmlAerolineasCargoAttributes { + CodigoCargo: string; + Importe: string; +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/Autotransporte.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/Autotransporte.ts new file mode 100644 index 00000000..87714d3e --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/Autotransporte.ts @@ -0,0 +1,69 @@ +import { + CPM20Autotransporte, + CPM20AutotransporteAttr, + CrtPrtIdentificacionVehicularAttr, + CrtPrtSegurosAttr, + RemolqueAttr, +} from './types/CartaPorte20.xslt'; + +export class Autotransporte { + private static instance: Autotransporte; + + public transporte: CPM20Autotransporte = {} as CPM20Autotransporte; + + constructor(merca?: CPM20AutotransporteAttr) { + if (merca) { + this.transporte._attributes = merca; + } + } + + reset() { + this.transporte = {} as CPM20Autotransporte; + } + setAttributes(merca?: CPM20AutotransporteAttr) { + if (merca) { + this.transporte._attributes = merca; + } + } + static getInstance(merca?: CPM20AutotransporteAttr) { + if (!Autotransporte.instance) { + Autotransporte.instance = new Autotransporte(merca); + } + this.instance.reset(); + this.instance.setAttributes(merca); + return Autotransporte.instance; + } + + setIdentificacionVehicular(idVehicle: CrtPrtIdentificacionVehicularAttr) { + if (!this.transporte['cartaporte20:IdentificacionVehicular']) { + this.transporte['cartaporte20:IdentificacionVehicular'] = []; + } + this.transporte['cartaporte20:IdentificacionVehicular'].push({ + _attributes: idVehicle, + }); + } + + setSeguro(seguro: CrtPrtSegurosAttr) { + if (!this.transporte['cartaporte20:Seguros']) { + this.transporte['cartaporte20:Seguros'] = []; + } + this.transporte['cartaporte20:Seguros'].push({ + _attributes: seguro, + }); + } + + setRemolque(remolque: RemolqueAttr) { + if (!this.transporte['cartaporte20:Remolques']) { + this.transporte['cartaporte20:Remolques'] = { + 'cartaporte20:Remolque': [], + }; + } + this.transporte['cartaporte20:Remolques']['cartaporte20:Remolque'].push({ + _attributes: remolque, + }); + } + + getTransporte(): CPM20Autotransporte { + return this.transporte; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/CartaPorte20.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CartaPorte20.ts new file mode 100644 index 00000000..2068ab07 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CartaPorte20.ts @@ -0,0 +1,67 @@ +import { + XmlCartaPorte20, + XmlCartaPorte20Attribute, +} from './types/CartaPorte20.xslt'; + +import { Complemento } from '../../Complemento'; +import { CtaPrt20Mercancias } from './CtaPrt20Mercancias'; +import { CtaPrt20Ubicacion } from './CtaPrt20Ubicacion'; +import { CtaPrt20FiguraTransporte } from './CtaPrt20FiguraTransporte'; + +/** + * + */ + +const xmlns = 'http://www.sat.gob.mx/CartaPorte20'; +const xsd = + 'http://www.sat.gob.mx/sitio_internet/cfd/CartaPorte/CartaPorte20.xsd'; +export class CartaPorte20 extends Complemento { + public complemento: XmlCartaPorte20 = {} as XmlCartaPorte20; + + /** + *constructor + * + * @param attributes + * XmlCartaPorteAttribute + */ + constructor(attributes?: XmlCartaPorte20Attribute) { + super({ key: 'cartaporte20:CartaPorte', xmlns, xsd }); + if (attributes) { + this.complemento = { + _attributes: attributes, + } as XmlCartaPorte20; + } + } + + setAttributes(attributes: XmlCartaPorte20Attribute) { + this.complemento = { + _attributes: attributes, + } as XmlCartaPorte20; + } + + setUbicacion(ubicacion: CtaPrt20Ubicacion) { + if (!this.complemento['cartaporte20:Ubicaciones']) { + this.complemento['cartaporte20:Ubicaciones'] = { + 'cartaporte20:Ubicacion': [], + }; + } + this.complemento['cartaporte20:Ubicaciones']['cartaporte20:Ubicacion'].push( + ubicacion.getUbicacion() + ); + } + + setMercancias(mercancia: CtaPrt20Mercancias) { + this.complemento['cartaporte20:Mercancias'] = mercancia.getMercancias(); + } + + setFiguraTransporte(ft: CtaPrt20FiguraTransporte) { + if (!this.complemento['cartaporte20:FiguraTransporte']) { + this.complemento['cartaporte20:FiguraTransporte'] = { + 'cartaporte20:TiposFigura': [], + }; + } + this.complemento['cartaporte20:FiguraTransporte'][ + 'cartaporte20:TiposFigura' + ].push(ft.getFiguraTransporte()); + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20FiguraTransporte.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20FiguraTransporte.ts new file mode 100644 index 00000000..446f2ef9 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20FiguraTransporte.ts @@ -0,0 +1,43 @@ +import { + CP20TiposFigura, + CP20TiposFiguraAttr, + CPDomicilioAttribute, + PartesTransporteAttr, +} from './types/CartaPorte20.xslt'; + +export class CtaPrt20FiguraTransporte { + private fTransporte: CP20TiposFigura = {} as CP20TiposFigura; + constructor(attributes?: CP20TiposFiguraAttr) { + if (attributes) { + this.fTransporte = { + _attributes: attributes, + } as CP20TiposFigura; + } + } + + setAttributes(attributes: CP20TiposFiguraAttr) { + this.fTransporte = { + _attributes: attributes, + } as CP20TiposFigura; + } + + setPartesTransporte(pt: PartesTransporteAttr) { + if (!this.fTransporte['cartaporte20:PartesTransporte']) { + this.fTransporte['cartaporte20:PartesTransporte'] = []; + } + this.fTransporte['cartaporte20:PartesTransporte'].push({ _attributes: pt }); + } + + setDomicilio(domicilio: CPDomicilioAttribute) { + if (!this.fTransporte['cartaporte20:Domicilio']) { + this.fTransporte['cartaporte20:Domicilio'] = []; + } + this.fTransporte['cartaporte20:Domicilio'].push({ + _attributes: domicilio, + }); + } + + getFiguraTransporte() { + return this.fTransporte; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20Mercancias.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20Mercancias.ts new file mode 100644 index 00000000..5c03f145 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20Mercancias.ts @@ -0,0 +1,93 @@ +import { + CP20Mercancia, + CP20Mercancias, + CP20Ubicacion, + CPDomicilioAttribute, + CPM20AutotransporteAttr, + XmlCP20MercanciaAttribute, + XmlCP20MercanciasAttribute, + XmlCP20UbicacionAttribute, + XmlCPM20TAereoAttribute, + XmlCPM20TFerroviarioAttribute, + XmlCPM20TMaritimoAttribute, + XmlCartaPorte20, + XmlCartaPorte20Attribute, +} from './types/CartaPorte20.xslt'; + +import { Mercancia } from './Mercancia'; +import { Autotransporte } from './Autotransporte'; +import { TransporteMaritimo } from './TransporteMaritimo'; +import { TransporteFerroviario } from './TransporteFerroviario'; + +export class CtaPrt20Mercancias { + private mercancias: CP20Mercancias = {} as CP20Mercancias; + constructor(attributes?: XmlCP20MercanciasAttribute) { + if (attributes) { + this.mercancias = { + _attributes: attributes, + } as CP20Mercancias; + } + } + + setAttributes(attributes: XmlCP20MercanciasAttribute) { + this.mercancias = { + _attributes: attributes, + } as CP20Mercancias; + } + setMercancia(merca: XmlCP20MercanciaAttribute): Mercancia { + if (!this.mercancias['cartaporte20:Mercancia']) { + this.mercancias['cartaporte20:Mercancia'] = []; + } + const mercancia = Mercancia.getInstance(merca); + this.mercancias['cartaporte20:Mercancia'].push(mercancia.getMercancia()); + return mercancia; + } + + setAutotransporte(auto: CPM20AutotransporteAttr) { + if (!this.mercancias['cartaporte20:Autotransporte']) { + this.mercancias['cartaporte20:Autotransporte'] = []; + } + + const transporte = Autotransporte.getInstance(auto); + this.mercancias['cartaporte20:Autotransporte'].push( + transporte.getTransporte() + ); + return transporte; + } + + setTransporteMaritimo(maritimo: XmlCPM20TMaritimoAttribute) { + if (!this.mercancias['cartaporte20:TransporteMaritimo']) { + this.mercancias['cartaporte20:TransporteMaritimo'] = []; + } + + const transporte = TransporteMaritimo.getInstance(maritimo); + this.mercancias['cartaporte20:TransporteMaritimo'].push( + transporte.getTMaritimo() + ); + return transporte; + } + + setTransporteAereo(aereo: XmlCPM20TAereoAttribute) { + if (!this.mercancias['cartaporte20:TransporteAereo']) { + this.mercancias['cartaporte20:TransporteAereo'] = []; + } + this.mercancias['cartaporte20:TransporteAereo'].push({ + _attributes: aereo, + }); + } + + setTransporteFerroviario(ferroviario: XmlCPM20TFerroviarioAttribute) { + if (!this.mercancias['cartaporte20:TransporteFerroviario']) { + this.mercancias['cartaporte20:TransporteFerroviario'] = []; + } + + const ferro = TransporteFerroviario.getInstance(ferroviario); + this.mercancias['cartaporte20:TransporteFerroviario'].push( + ferro.getTransporteFerroviario() + ); + return ferro; + } + getMercancias() { + return this.mercancias; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20Ubicacion.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20Ubicacion.ts new file mode 100644 index 00000000..dd8f16c8 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/CtaPrt20Ubicacion.ts @@ -0,0 +1,37 @@ +import { + CP20Ubicacion, + CPDomicilioAttribute, + XmlCP20UbicacionAttribute, + XmlCartaPorte20, + XmlCartaPorte20Attribute, +} from './types/CartaPorte20.xslt'; + +export class CtaPrt20Ubicacion { + private ubicacion: CP20Ubicacion = {} as CP20Ubicacion; + constructor(attributes?: XmlCP20UbicacionAttribute) { + if (attributes) { + this.ubicacion = { + _attributes: attributes, + } as CP20Ubicacion; + } + } + + setAttributes(attributes: XmlCP20UbicacionAttribute) { + this.ubicacion = { + _attributes: attributes, + } as CP20Ubicacion; + } + + setDomicilio(domicilio: CPDomicilioAttribute) { + if (!this.ubicacion['cartaporte20:Domicilio']) { + this.ubicacion['cartaporte20:Domicilio'] = []; + } + this.ubicacion['cartaporte20:Domicilio'].push({ + _attributes: domicilio, + }); + } + + getUbicacion() { + return this.ubicacion; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/Mercancia.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/Mercancia.ts new file mode 100644 index 00000000..f9ae38a3 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/Mercancia.ts @@ -0,0 +1,79 @@ +import { + CP20Mercancia, + CrtPrt20CantidadTransportaAttr, + CrtPrt20DetalleMercanciaAttr, + CrtPrt20GuiaIdAttr, + CrtPrt20PedimentosAttr, + XmlCP20MercanciaAttribute, +} from './types/CartaPorte20.xslt'; + +export class Mercancia { + private static instance: Mercancia; + + public mercancia: CP20Mercancia = {} as CP20Mercancia; + + constructor(merca?: XmlCP20MercanciaAttribute) { + if (merca) { + this.mercancia._attributes = merca; + } + } + reset() { + this.mercancia = {} as CP20Mercancia; + } + setAttributes(merca?: XmlCP20MercanciaAttribute) { + if (merca) { + this.mercancia._attributes = merca; + } + } + static getInstance(merca?: XmlCP20MercanciaAttribute) { + if (!Mercancia.instance) { + Mercancia.instance = new Mercancia(merca); + } + this.instance.reset(); + this.instance.setAttributes(merca); + return Mercancia.instance; + } + + setPedimentos(pedimiento: CrtPrt20PedimentosAttr) { + if (!this.mercancia['cartaporte20:Pedimentos']) { + this.mercancia['cartaporte20:Pedimentos'] = []; + } + this.mercancia['cartaporte20:Pedimentos'].push({ + _attributes: pedimiento, + }); + } + + setGuiaIdentificacion(guideID: CrtPrt20GuiaIdAttr) { + if (!this.mercancia['cartaporte20:GuiasIdentificacion']) { + this.mercancia['cartaporte20:GuiasIdentificacion'] = []; + } + + this.mercancia['cartaporte20:GuiasIdentificacion'].push({ + _attributes: guideID, + }); + } + + setCantidadTransporta(ct: CrtPrt20CantidadTransportaAttr) { + if (!this.mercancia['cartaporte20:CantidadTransporta']) { + this.mercancia['cartaporte20:CantidadTransporta'] = []; + } + + this.mercancia['cartaporte20:CantidadTransporta'].push({ + _attributes: ct, + }); + } + + setDetalleMercancia(detalle: CrtPrt20DetalleMercanciaAttr) { + if (!this.mercancia['cartaporte20:DetalleMercancia']) { + this.mercancia['cartaporte20:DetalleMercancia'] = []; + } + + this.mercancia['cartaporte20:DetalleMercancia'].push({ + _attributes: detalle, + }); + } + + getMercancia() { + return this.mercancia; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/TransporteFerroviario.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/TransporteFerroviario.ts new file mode 100644 index 00000000..68ff1a90 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/TransporteFerroviario.ts @@ -0,0 +1,67 @@ +import { + CPM20TFerroviario, + Carro, + CarroAttr, + CarroContenedorAttr, + DerechosDePasoAttr, + XmlCPM20TFerroviarioAttribute, +} from './types/CartaPorte20.xslt'; + +export class TransporteFerroviario { + private static instance: TransporteFerroviario; + + public tFerroviario: CPM20TFerroviario = {} as CPM20TFerroviario; + + constructor(attr?: XmlCPM20TFerroviarioAttribute) { + if (attr) { + this.tFerroviario._attributes = attr; + } + } + + reset() { + this.tFerroviario = {} as CPM20TFerroviario; + } + setAttributes(attr?: XmlCPM20TFerroviarioAttribute) { + if (attr) { + this.tFerroviario._attributes = attr; + } + } + static getInstance(attr?: XmlCPM20TFerroviarioAttribute) { + if (!TransporteFerroviario.instance) { + TransporteFerroviario.instance = new TransporteFerroviario(attr); + } + this.instance.reset(); + this.instance.setAttributes(attr); + return TransporteFerroviario.instance; + } + + setDerechosDePaso(ddp: DerechosDePasoAttr) { + if (!this.tFerroviario['cartaporte20:DerechosDePaso']) { + this.tFerroviario['cartaporte20:DerechosDePaso'] = []; + } + this.tFerroviario['cartaporte20:DerechosDePaso'].push({ + _attributes: ddp, + }); + } + setCarro(data: { carro: CarroAttr; contenedores?: CarroContenedorAttr[] }) { + if (!this.tFerroviario['cartaporte20:Carro']) { + this.tFerroviario['cartaporte20:Carro'] = []; + } + const carro: Carro = { + _attributes: data.carro, + } as Carro; + if (data.contenedores && !!data.contenedores.length) { + if (!carro['cartaporte20:Contenedor']) { + carro['cartaporte20:Contenedor'] = []; + } + data.contenedores.map((ctn) => + carro['cartaporte20:Contenedor'].push({ _attributes: ctn }) + ); + } + this.tFerroviario['cartaporte20:Carro'].push(carro); + } + + getTransporteFerroviario() { + return this.tFerroviario; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/TransporteMaritimo.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/TransporteMaritimo.ts new file mode 100644 index 00000000..ac94fd88 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/TransporteMaritimo.ts @@ -0,0 +1,47 @@ +import { + CPM20TMaritimo, + XmlCPM20TMaritimoAttribute, + XmlCPMTMaritimoConAttribute, +} from './types/CartaPorte20.xslt'; + +export class TransporteMaritimo { + private static instance: TransporteMaritimo; + + public tMaritimo: CPM20TMaritimo = {} as CPM20TMaritimo; + + constructor(merca?: XmlCPM20TMaritimoAttribute) { + if (merca) { + this.tMaritimo._attributes = merca; + } + } + + reset() { + this.tMaritimo = {} as CPM20TMaritimo; + } + setAttributes(merca?: XmlCPM20TMaritimoAttribute) { + if (merca) { + this.tMaritimo._attributes = merca; + } + } + static getInstance(merca?: XmlCPM20TMaritimoAttribute) { + if (!TransporteMaritimo.instance) { + TransporteMaritimo.instance = new TransporteMaritimo(merca); + } + this.instance.reset(); + this.instance.setAttributes(merca); + return TransporteMaritimo.instance; + } + + setContenedor(contenedor: XmlCPMTMaritimoConAttribute) { + if (!this.tMaritimo['cartaporte20:Contenedor']) { + this.tMaritimo['cartaporte20:Contenedor'] = []; + } + this.tMaritimo['cartaporte20:Contenedor'].push({ + _attributes: contenedor, + }); + } + + getTMaritimo() { + return this.tMaritimo; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/index.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/index.ts new file mode 100644 index 00000000..f1833370 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/index.ts @@ -0,0 +1,13 @@ +import { CartaPorte20 } from './CartaPorte20'; +import { CtaPrt20FiguraTransporte } from './CtaPrt20FiguraTransporte'; +import { CtaPrt20Mercancias } from './CtaPrt20Mercancias'; +import { CtaPrt20Ubicacion } from './CtaPrt20Ubicacion'; + +export { + CartaPorte20, + CtaPrt20Ubicacion, + CtaPrt20Mercancias, + CtaPrt20FiguraTransporte, +}; +export * from './types/CartaPorte20.xslt'; +export default CartaPorte20; diff --git a/packages/cfdi/types/src/complementos/4.0/cartaporte20/types/CartaPorte20.xslt.ts b/packages/cfdi/types/src/complementos/4.0/cartaporte20/types/CartaPorte20.xslt.ts new file mode 100644 index 00000000..9e0d7c60 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/cartaporte20/types/CartaPorte20.xslt.ts @@ -0,0 +1,450 @@ +import { Attributes } from 'xml-js'; + +export interface XmlCartaPorte20 { + _attributes?: XmlCartaPorte20Attribute; + 'cartaporte20:Ubicaciones': CP20Ubicaciones; + 'cartaporte20:Mercancias': CP20Mercancias; + 'cartaporte20:FiguraTransporte': CP20FTransporte; +} +export interface CP20Ubicaciones { + 'cartaporte20:Ubicacion': CP20Ubicacion[]; +} + +export interface CP20FTransporte { + 'cartaporte20:TiposFigura': CP20TiposFigura[]; +} + +export interface CP20TiposFigura { + _attributes: CP20TiposFiguraAttr; + 'cartaporte20:PartesTransporte': PartesTransporte[]; + 'cartaporte20:Domicilio': CPDomicilio[]; +} + +export interface PartesTransporte { + _attributes: PartesTransporteAttr; +} +export interface PartesTransporteAttr { + ParteTransporte: string; +} + +export interface CP20TiposFiguraAttr { + TipoFigura: string; + RFCFigura?: string; + NumLicencia?: string; + NombreFigura?: string; + NumRegIdTribFigura?: string; + ResidenciaFiscalFigura?: string; +} + +export interface CPNotificado { + _attributes?: XmlCPNotificadoAttribute; + 'cartaporte:Domicilio': CPDomicilio[]; +} + +export interface XmlCPNotificadoAttribute extends Attributes { + RFCNotificado?: string; + NombreNotificado?: string; + NumRegIdTribNotificado?: string; + ResidenciaFiscalNotificado?: string; +} + +export interface CPArrendatario { + _attributes?: XmlCPArrendatarioAttribute; + 'cartaporte:Domicilio': CPDomicilio[]; +} + +export interface XmlCPArrendatarioAttribute { + RFCArrendatario?: string; + NombreArrendatario?: string; + NumRegIdTribArrendatario?: string; + ResidenciaFiscalArrendatario?: string; +} + +export interface CPPropietario { + _attributes?: XmlCPPropietarioAttribute; + 'cartaporte:Domicilio': CPDomicilio[]; +} + +export interface XmlCPPropietarioAttribute extends Attributes { + RFCPropietario?: string; + NombrePropietario?: string; + NumRegIdTribPropietario?: string; + ResidenciaFiscalPropietario?: string; +} + +export interface CPFTOperadores { + 'cartaporte:Operador': CPFTOperador[]; +} + +export interface CPFTOperador { + _attributes?: CPFTOperadorAttribute; + 'cartaporte:Domicilio': CPDomicilio[]; +} + +export interface CPDomicilio { + _attributes?: CPDomicilioAttribute; +} + +export interface CPDomicilioAttribute extends Attributes { + Calle?: string; + NumeroExterior?: string; + NumeroInterior?: string; + Colonia?: string; + Localidad?: string; + Referencia?: string; + Municipio?: string; + Estado: string; + Pais: string; + CodigoPostal: string; +} + +export interface CPFTOperadorAttribute { + RFCOperador?: string; + NumLicencia?: string; + NombreOperador?: string; + NumRegIdTribOperador?: string; + ResidenciaFiscalOperador?: string; +} + +export interface XmlCPFTransporteAttribute extends Attributes { + CveTransporte: string; +} + +export interface CP20Mercancias { + _attributes?: XmlCP20MercanciasAttribute; + 'cartaporte20:Mercancia': CP20Mercancia[]; + 'cartaporte20:Autotransporte': CPM20Autotransporte[]; + 'cartaporte20:TransporteMaritimo': CPM20TMaritimo[]; + 'cartaporte20:TransporteAereo': CPMT20Aereo[]; + 'cartaporte20:TransporteFerroviario': CPM20TFerroviario[]; +} + +export interface CPM20Autotransporte { + _attributes?: CPM20AutotransporteAttr; + 'cartaporte20:IdentificacionVehicular': CrtPrtIdentificacionVehicular[]; + 'cartaporte20:Seguros': CrtPrtSeguros[]; + 'cartaporte20:Remolques': Remolques; +} +export interface Remolques { + 'cartaporte20:Remolque': Remolque[]; +} + +export interface Remolque { + _attributes: RemolqueAttr; +} +export interface RemolqueAttr { + SubTipoRem: string; + Placa: string; +} + +export interface CrtPrtSeguros { + _attributes: CrtPrtSegurosAttr; +} + +export interface CrtPrtSegurosAttr { + AseguraRespCivil: string; + PolizaRespCivil: string; + AseguraMedAmbiente?: string; + PolizaMedAmbiente?: string; + AseguraCarga?: string; + PolizaCarga?: string; + PrimaSeguro?: string; +} +export interface CrtPrtIdentificacionVehicular { + _attributes: CrtPrtIdentificacionVehicularAttr; +} +export interface CrtPrtIdentificacionVehicularAttr { + ConfigVehicular: string; + PlacaVM: string; + AnioModeloVM: string; +} +export interface CPM20AutotransporteAttr { + PermSCT: string; + NumPermisoSCT: string; +} + +export interface CPM20TFerroviario { + _attributes?: XmlCPM20TFerroviarioAttribute; + 'cartaporte20:DerechosDePaso': DerechosDePaso[]; + 'cartaporte20:Carro': Carro[]; +} +export interface Carro { + _attributes: CarroAttr; + 'cartaporte20:Contenedor': CarroContenedor[]; +} + +export interface CarroContenedor { + _attributes: CarroContenedorAttr; +} +export interface CarroContenedorAttr { + TipoContenedor: string; + PesoContenedorVacio: string; + PesoNetoMercancia: string; +} +export interface CarroAttr { + TipoCarro: string; + MatriculaCarro: string; + GuiaCarro: string; + ToneladasNetasCarro: string; +} +export interface DerechosDePaso { + _attributes: DerechosDePasoAttr; +} +export interface DerechosDePasoAttr { + TipoDerechoDePaso: string; + KilometrajePagado: string; +} +export interface XmlCPM20TFerroviarioAttribute { + TipoDeServicio: string; + NombreAseg?: string; + NumPolizaSeguro?: string; + Concesionario?: string; +} + +export interface CPMT20Aereo { + _attributes?: XmlCPM20TAereoAttribute; +} + +export interface XmlCPM20TAereoAttribute extends Attributes { + PermSCT: string; + NumPermisoSCT: string; + MatriculaAeronave?: string; + NombreAseg?: string; + NumPolizaSeguro?: string; + NumeroGuia: string; + LugarContrato?: string; + CodigoTransportista: string; + RFCEmbarcador?: string; + NumRegIdTribEmbarc?: string; + ResidenciaFiscalEmbarc?: string; + NombreEmbarcador?: string; +} + +export interface CPM20TMaritimo { + _attributes?: XmlCPM20TMaritimoAttribute; + 'cartaporte20:Contenedor': CPMTMaritimoCont[]; +} + +export interface CPMTMaritimoCont { + _attributes?: XmlCPMTMaritimoConAttribute; +} + +export interface XmlCPMTMaritimoConAttribute extends Attributes { + MatriculaContenedor: string; + TipoContenedor: string; + NumPrecinto?: string; +} + +export interface XmlCPM20TMaritimoAttribute extends Attributes { + PermSCT?: string; + NumPermisoSCT?: string; + NombreAseg?: string; + NumPolizaSeguro?: string; + TipoEmbarcacion: string; + Matricula: string; + NumeroOMI: string; + AnioEmbarcacion?: string; + NombreEmbarc?: string; + NacionalidadEmbarc: string; + UnidadesDeArqBruto: string; + TipoCarga: string; + NumCertITC: string; + Eslora?: string; + Manga?: string; + Calado?: string; + LineaNaviera?: string; + NombreAgenteNaviero: string; + NumAutorizacionNaviero: string; + NumViaje?: string; + NumConocEmbarc?: string; +} + +export interface CPMAFederal { + _attributes?: XmlCPMAFederalAttribute; + 'cartaporte:IdentificacionVehicular': CPMAFIVehicular[]; + 'cartaporte:Remolques': CPMAFRemolques; +} + +export interface CPMAFRemolques { + 'cartaporte:Remolque': CPMAFRemolque[]; +} + +export interface CPMAFRemolque { + _attributes?: XmlCPMAFRemolqueAttribute; +} + +export interface XmlCPMAFRemolqueAttribute { + SubTipoRem: string; + Placa: string; +} + +export interface CPMAFIVehicular { + _attributes?: XmlCPMAFIVehicularAttribute; +} + +export interface XmlCPMAFIVehicularAttribute { + ConfigVehicular: string; + PlacaVM: string; + AnioModeloVM: string; +} + +export interface XmlCPMAFederalAttribute { + PermSCT: string; + NumPermisoSCT: string; + NombreAseg: string; + NumPolizaSeguro: string; +} + +export interface CP20Mercancia { + _attributes?: XmlCP20MercanciaAttribute; + 'cartaporte20:Pedimentos': CrtPrt20Pedimentos[]; + 'cartaporte20:GuiasIdentificacion': CrtPrt20GuiaIdentificacion[]; + 'cartaporte20:CantidadTransporta': CrtPrt20CantidadTransporta[]; + 'cartaporte20:DetalleMercancia': CrtPrt20DetalleMercancia[]; +} + +export interface CrtPrt20DetalleMercancia { + _attributes: CrtPrt20DetalleMercanciaAttr; +} + +export interface CrtPrt20DetalleMercanciaAttr { + UnidadPesoMerc: string; + PesoBruto: string; + PesoNeto: string; + PesoTara: string; + NumPiezas?: string; +} +export interface CrtPrt20CantidadTransporta { + _attributes: CrtPrt20CantidadTransportaAttr; +} + +export interface CrtPrt20CantidadTransportaAttr { + Cantidad: string; + IDOrigen: string; + IDDestino: string; + CvesTransporte?: string; +} + +export interface CrtPrt20GuiaIdentificacion { + _attributes: CrtPrt20GuiaIdAttr; +} +export interface CrtPrt20GuiaIdAttr { + NumeroGuiaIdentificacion: string; + DescripGuiaIdentificacion: string; + PesoGuiaIdentificacion: string; +} +export interface CrtPrt20Pedimentos { + _attributes: CrtPrt20PedimentosAttr; +} +export interface CrtPrt20PedimentosAttr { + Pedimento: string; +} +export interface CPMDMercancia { + _attributes?: CPMDMercanciaAttribute; +} + +export interface CPMDMercanciaAttribute { + UnidadPeso: string; + PesoBruto: string; + PesoNeto: string; + PesoTara: string; + NumPiezas?: string; +} + +export interface CPMCTransporta { + _attributes?: CPMCTransportaAttribute; +} + +export interface CPMCTransportaAttribute { + Cantidad: string; + IDOrigen: string; + IDDestino: string; + CvesTransporte?: string; +} + +export interface XmlCP20MercanciaAttribute { + BienesTransp: string; + ClaveSTCC?: string; + Descripcion: string; + Cantidad: string; + ClaveUnidad: string; + Unidad?: string; + Dimensiones?: string; + MaterialPeligroso?: string; + CveMaterialPeligroso?: string; + Embalaje?: string; + DescripEmbalaje?: string; + PesoEnKg: string; + ValorMercancia?: string; + Moneda?: string; + FraccionArancelaria?: string; + UUIDComercioExt?: string; +} + +export interface XmlCP20MercanciasAttribute { + PesoBrutoTotal: string; + UnidadPeso: string; + PesoNetoTotal?: string; + NumTotalMercancias: string; + CargoPorTasacion?: string; +} + +export interface XmlCartaPorte20Attribute { + Version: string; + TranspInternac: string; + EntradaSalidaMerc?: string; + PaisOrigenDestino?: string; + ViaEntradaSalida?: string; + TotalDistRec?: string; +} + +export interface CP20Ubicacion { + _attributes?: XmlCP20UbicacionAttribute; + /* 'cartaporte:Origen': CPUOrigen; + 'cartaporte:Destino': CPUDestino; */ + 'cartaporte20:Domicilio'?: CPDomicilio[]; +} + +export interface XmlCP20UbicacionAttribute { + TipoUbicacion: string; + IDUbicacion?: string; + RFCRemitenteDestinatario: string; + NombreRemitenteDestinatario?: string; + NumRegIdTrib?: string; + ResidenciaFiscal?: string; + NumEstacion?: string; + NavegacionTrafico?: string; + FechaHoraSalidaLlegada: string; + TipoEstacion?: string; + DistanciaRecorrida?: string; +} + +export interface CPUOrigen { + _attributes?: XmlCPUOrigenAttribute; +} + +export interface CPUDestino { + _attributes?: XmlCPUDestinoAttribute; +} + +export interface XmlCPUOrigenAttribute extends ShareAttributeU { + IDOrigen?: string; + RFCRemitente?: string; + NombreRemitente?: string; + FechaHoraSalida: string; +} + +export interface XmlCPUDestinoAttribute extends ShareAttributeU { + IDDestino?: string; + RFCDestinatario?: string; + NombreDestinatario?: string; + FechaHoraProgLlegada: string; +} + +interface ShareAttributeU { + NumRegIdTrib?: string; + ResidenciaFiscal?: string; + NumEstacion?: string; + NombreEstacion?: string; + NavegacionTrafico?: string; +} diff --git a/packages/cfdi/types/src/complementos/4.0/iedu/Iedu.ts b/packages/cfdi/types/src/complementos/4.0/iedu/Iedu.ts new file mode 100644 index 00000000..de73c56f --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/iedu/Iedu.ts @@ -0,0 +1,24 @@ +import { XmlIedu, XmlIeduAttribute } from './type/iedu.xslt'; + +import { Complemento } from '../../Complemento'; + +/** + * + */ +const xmlns = 'http://www.sat.gob.mx/iedu'; +const xsd = 'http://www.sat.gob.mx/sitio_internet/cfd/iedu/iedu.xsd'; +export class Iedu extends Complemento { + public complemento: XmlIedu = {} as XmlIedu; + /** + *constructor + * + * @param attributes + * XmlIeduAttribute + */ + constructor(attributes: XmlIeduAttribute) { + super({ key: 'iedu:instEducativas', xmlns, xsd }); + this.complemento = { + _attributes: attributes, + } as XmlIedu; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/iedu/index.ts b/packages/cfdi/types/src/complementos/4.0/iedu/index.ts new file mode 100644 index 00000000..70a712a5 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/iedu/index.ts @@ -0,0 +1,4 @@ +import { Iedu } from './Iedu'; +export * from './type/iedu.xslt'; +export { Iedu }; +export default Iedu; diff --git a/packages/cfdi/types/src/complementos/4.0/iedu/type/iedu.xslt.ts b/packages/cfdi/types/src/complementos/4.0/iedu/type/iedu.xslt.ts new file mode 100644 index 00000000..e8a8ec74 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/iedu/type/iedu.xslt.ts @@ -0,0 +1,12 @@ +export interface XmlIedu { + _attributes?: XmlIeduAttribute; +} + +export interface XmlIeduAttribute { + version: string; + nombreAlumno: string; + CURP: string; + nivelEducativo: string; + autRVOE: string; + rfcPago: string; +} diff --git a/packages/cfdi/types/src/complementos/4.0/ine/Ine.ts b/packages/cfdi/types/src/complementos/4.0/ine/Ine.ts new file mode 100644 index 00000000..30bd444b --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/ine/Ine.ts @@ -0,0 +1,58 @@ +import { + XmlIne, + XmlIneAttribute, + XmlIneContabilidadAttribute, + XmlIneEntidad, + XmlIneEntidadAttribute, +} from './type/ine.xslt'; + +import { Complemento } from '../../Complemento'; + +/* + * https://www.sat.gob.mx/consulta/09695/genera-tus-facturas-con-el-complemento-del-ine-version-1.1 + * */ +const xmlns = 'http://www.sat.gob.mx/ine'; +const xsd = 'http://www.sat.gob.mx/sitio_internet/cfd/ine/ine11.xsd'; +export class Ine extends Complemento { + public complemento: XmlIne = {} as XmlIne; + + /** + *constructor + * + * @param attributes + * XmlIneAttribute + */ + constructor(attributes: XmlIneAttribute) { + super({ key: 'ine:INE', xmlns, xsd }); + this.complemento._attributes = attributes; + } + + /** + *Entidad + * + * @param attributes + * XmlIneEntidadAttribute + */ + Entidad(attributes: XmlIneEntidadAttribute): void { + if (!this.complemento['ine:Entidad']) { + this.complemento['ine:Entidad'] = {} as XmlIneEntidad; + } + this.complemento['ine:Entidad']._attributes = attributes; + } + + /** + *Contabilidad + * + * @param attributes + * XmlIneContabilidadAttribute + */ + Contabilidad(attributes: XmlIneContabilidadAttribute): void { + if (this.complemento['ine:Entidad']) { + this.complemento['ine:Entidad']['ine:Contabilidad'] = { + _attributes: attributes, + }; + } else { + throw new Error('agrega entidad primero'); + } + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/ine/index.ts b/packages/cfdi/types/src/complementos/4.0/ine/index.ts new file mode 100644 index 00000000..ed1d6327 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/ine/index.ts @@ -0,0 +1,3 @@ +import { Ine } from './Ine'; + +export { Ine }; diff --git a/packages/cfdi/types/src/complementos/4.0/ine/type/index.ts b/packages/cfdi/types/src/complementos/4.0/ine/type/index.ts new file mode 100644 index 00000000..45512a66 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/ine/type/index.ts @@ -0,0 +1,2 @@ +export * from './ine.xslt'; +export * from './ine.enum'; diff --git a/packages/cfdi/types/src/complementos/4.0/ine/type/ine.enum.ts b/packages/cfdi/types/src/complementos/4.0/ine/type/ine.enum.ts new file mode 100644 index 00000000..0bfa7d97 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/ine/type/ine.enum.ts @@ -0,0 +1,106 @@ +export declare type ClaveEntidadIne = + | 'AGU' + | 'BCN' + | 'BCS' + | 'CAM' + | 'CHP' + | 'CHH' + | 'COA' + | 'COL' + | 'CR1' + | 'CR2' + | 'CR3' + | 'CR4' + | 'CR5' + | 'DIF' + | 'DUR' + | 'GUA' + | 'GRO' + | 'HID' + | 'JAL' + | 'MEX' + | 'MIC' + | 'MOR' + | 'NAC' + | 'NAY' + | 'NLE' + | 'OAX' + | 'PUE' + | 'QUE' + | 'ROO' + | 'SLP' + | 'SIN' + | 'SON' + | 'TAB' + | 'TAM' + | 'TLA' + | 'VER' + | 'YUC' + | 'ZAC'; + +export declare enum ClaveEntidad { + AGU = 'AGU', + BCN = 'BCN', + BCS = 'BCS', + CAM = 'CAM', + CHP = 'CHP', + CHH = 'CHH', + COA = 'COA', + COL = 'COL', + CR1 = 'CR1', + CR2 = 'CR2', + CR3 = 'CR3', + CR4 = 'CR4', + CR5 = 'CR5', + DIF = 'DIF', + DUR = 'DUR', + GUA = 'GUA', + GRO = 'GRO', + HID = 'HID', + JAL = 'JAL', + MEX = 'MEX', + MIC = 'MIC', + MOR = 'MOR', + NAC = 'NAC', + NAY = 'NAY', + NLE = 'NLE', + OAX = 'OAX', + PUE = 'PUE', + QUE = 'QUE', + ROO = 'ROO', + SLP = 'SLP', + SIN = 'SIN', + SON = 'SON', + TAB = 'TAB', + TAM = 'TAM', + TLA = 'TLA', + VER = 'VER', + YUC = 'YUC', + ZAC = 'ZAC', +} + +export declare type TipoComiteIne = + | 'Ejecutivo Nacional' + | 'Ejecutivo Estatal' + | 'Directivo Estatal'; + +export declare enum TipoComite { + EjecutivoNacional = 'Ejecutivo Nacional', + EjecutivoEstatal = 'Ejecutivo Estatal', + DirectivoEstatal = 'Directivo Estatal', +} + +export declare type AmbitoIne = 'Local' | 'Federal'; + +export declare enum Ambito { + Local = 'Local', + Federal = 'Federal', +} + +export declare type TipoProcesoIne = 'Ordinario' | 'Precampaña' | 'Campaña'; + +export declare enum TipoProceso { + Ordinario = 'Ordinario', + Precampaña = 'Precampaña', + Campaña = 'Campaña', +} diff --git a/packages/cfdi/types/src/complementos/4.0/ine/type/ine.xslt.ts b/packages/cfdi/types/src/complementos/4.0/ine/type/ine.xslt.ts new file mode 100644 index 00000000..978d865e --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/ine/type/ine.xslt.ts @@ -0,0 +1,36 @@ +import { + AmbitoIne, + ClaveEntidadIne, + TipoComiteIne, + TipoProcesoIne, +} from './ine.enum'; + +export interface XmlIne { + _attributes: XmlIneAttribute; + 'ine:Entidad'?: XmlIneEntidad; +} + +export interface XmlIneAttribute { + Version: string; + TipoProceso: TipoProcesoIne; + TipoComite?: TipoComiteIne; + IdContabilidad?: string /* */; +} + +export interface XmlIneEntidad { + _attributes?: XmlIneEntidadAttribute; + 'ine:Contabilidad'?: XmlIneContabilidad; +} + +export interface XmlIneEntidadAttribute { + ClaveEntidad: ClaveEntidadIne; + Ambito?: AmbitoIne; +} + +export interface XmlIneContabilidad { + _attributes?: XmlIneContabilidadAttribute; +} + +export interface XmlIneContabilidadAttribute { + IdContabilidad: string; +} diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/Pago20.ts b/packages/cfdi/types/src/complementos/4.0/pago20/Pago20.ts new file mode 100644 index 00000000..bfd4a53f --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/Pago20.ts @@ -0,0 +1,43 @@ +import { XmlPago20, XmlPago20Attributes } from './types/pago20.xslt'; + +import { Pago20ImpuestosP } from './Pago20Impuestos'; +import { Pago20Relacionado } from './Pago20Relacionado'; + +export class Pago20 { + private static instance: Pago20; + + private pago: XmlPago20 = {} as XmlPago20; + constructor(data?: XmlPago20Attributes) { + this.pago = {} as XmlPago20; + if (data) { + this.pago._attributes = data; + } + } + static getInstance(data?: XmlPago20Attributes): Pago20 { + if (!Pago20.instance) { + Pago20.instance = new Pago20(data); + } + return Pago20.instance; + } + + setAttribute(data: XmlPago20Attributes) { + this.pago._attributes = data; + } + + doctoRelacionado(documents: Pago20Relacionado) { + if (!this.pago['pago20:DoctoRelacionado']) { + this.pago['pago20:DoctoRelacionado'] = []; + } + this.pago['pago20:DoctoRelacionado'].push(documents.getRelation()); + } + setImpuestosP(impuestos: Pago20ImpuestosP) { + if (!this.pago['pago20:ImpuestosP'] || this.pago['pago20:ImpuestosP']) { + this.pago['pago20:ImpuestosP'] = []; + } + this.pago['pago20:ImpuestosP'].push(impuestos.getImpuestosP()); + } + + getPago() { + return this.pago; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/Pago20Impuestos.ts b/packages/cfdi/types/src/complementos/4.0/pago20/Pago20Impuestos.ts new file mode 100644 index 00000000..4bf90aae --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/Pago20Impuestos.ts @@ -0,0 +1,61 @@ +import { + XmlPago20ImpuestoP, + XmlPagoRetencionPAttributes, + XmlPagoTranladoPAttributes, +} from './types/pago20.xslt'; + +/** + * + */ +export class Pago20ImpuestosP { + private impuesto: XmlPago20ImpuestoP = {} as XmlPago20ImpuestoP; + + /** + *constructor + * + * @param data + * XmlPagoImptoAttributes + */ + constructor() {} + + /** + *retenciones + * + * @param data + * XmlPagoRetencionAttributes + */ + setRetencionesP(data: XmlPagoRetencionPAttributes): void { + if (!this.impuesto['pago20:RetencionesP']) { + this.impuesto['pago20:RetencionesP'] = { + 'pago20:RetencionP': [], + }; + } + this.impuesto['pago20:RetencionesP']['pago20:RetencionP'].push({ + _attributes: data, + }); + } + + /** + *traslados + * + * @param data + * XmlPagoTranladoAttributes + */ + setTrasladosP(data: XmlPagoTranladoPAttributes): void { + if (!this.impuesto['pago20:TrasladosP']) { + this.impuesto['pago20:TrasladosP'] = { + 'pago20:TrasladoP': [], + }; + } + this.impuesto['pago20:TrasladosP']['pago20:TrasladoP'].push({ + _attributes: data, + }); + } + + /** + *getImpuesto + */ + getImpuestosP(): XmlPago20ImpuestoP { + return this.impuesto; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/Pago20Relacionado.ts b/packages/cfdi/types/src/complementos/4.0/pago20/Pago20Relacionado.ts new file mode 100644 index 00000000..63babe58 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/Pago20Relacionado.ts @@ -0,0 +1,79 @@ +import { + XmlDoctoRelAttributes, + XmlDoctoRelacionado, + XmlImpuestosDR, + XmlRetencionDRAttributes, + XmlTrasladoDRAttributes, +} from './types/pago20.xslt'; + +/** + * + */ +export class Pago20Relacionado { + private doctoRelacionado: XmlDoctoRelacionado = {} as XmlDoctoRelacionado; + private static instance: Pago20Relacionado; + + static getInstance(): Pago20Relacionado { + if (!Pago20Relacionado.instance) { + Pago20Relacionado.instance = new Pago20Relacionado(); + } + return Pago20Relacionado.instance; + } + /** + *relacion + * + * @param data + */ + setRelacion({ + doc, + retencionDR, + trasladoDR, + }: { + doc: XmlDoctoRelAttributes; + retencionDR?: XmlRetencionDRAttributes[]; + trasladoDR?: XmlTrasladoDRAttributes[]; + }): void { + const docR: XmlDoctoRelacionado = { + _attributes: doc, + }; + if (retencionDR || trasladoDR) { + docR['pago20:ImpuestosDR'] = {} as XmlImpuestosDR; + } + + const retsDR = docR['pago20:ImpuestosDR']; + if (retsDR) { + if (retencionDR) { + if (!retsDR['pago20:RetencionesDR']) { + retsDR['pago20:RetencionesDR'] = { + 'pago20:RetencionDR': [], + }; + } + for (const retDR of retencionDR) { + retsDR['pago20:RetencionesDR']['pago20:RetencionDR'].push({ + _attributes: retDR, + }); + } + } + if (trasladoDR) { + if (!retsDR['pago20:TrasladosDR']) { + retsDR['pago20:TrasladosDR'] = { + 'pago20:TrasladoDR': [], + }; + } + for (const trsDR of trasladoDR) { + retsDR['pago20:TrasladosDR']['pago20:TrasladoDR'].push({ + _attributes: trsDR, + }); + } + } + } + this.doctoRelacionado = docR; + } + + /** + *getRelations + */ + getRelation(): XmlDoctoRelacionado { + return this.doctoRelacionado; + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/Pagos20.ts b/packages/cfdi/types/src/complementos/4.0/pago20/Pagos20.ts new file mode 100644 index 00000000..b0a76f3d --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/Pagos20.ts @@ -0,0 +1,50 @@ +import { + XmlPagos20, + XmlPagos20Attributes, + XmlPagos20TotalesAttributes, +} from './types/pago20.xslt'; + +import { Complemento } from '../../Complemento'; +import { Pago20 } from './Pago20'; + +/** + * + */ +const xmlns = 'http://www.sat.gob.mx/Pagos20'; +const xsd = 'http://www.sat.gob.mx/sitio_internet/cfd/Pagos/Pagos20.xsd'; + +export class Pagos20 extends Complemento { + public complemento: XmlPagos20 = {} as XmlPagos20; + + /** + *constructor + * + * @param attributes + * XmlPagos20Attributes + */ + constructor(attributes: XmlPagos20Attributes = { Version: '2.0' }) { + super({ key: 'pago20:Pagos', xmlns, xsd }); + this.complemento = {} as XmlPagos20; + this.complemento._attributes = attributes; + } + + setTotales(total: XmlPagos20TotalesAttributes): void { + if (!this.complemento['pago20:Totales']) { + this.complemento['pago20:Totales'] = []; + } + + this.complemento['pago20:Totales'].push({ _attributes: total }); + } + /** + *pago + * + * @param pago + * Pago + */ + setPago(pago: Pago20): void { + if (!this.complemento['pago20:Pago']) { + this.complemento['pago20:Pago'] = []; + } + this.complemento['pago20:Pago'].push(pago.getPago()); + } +} diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/index.ts b/packages/cfdi/types/src/complementos/4.0/pago20/index.ts new file mode 100644 index 00000000..112d9c76 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/index.ts @@ -0,0 +1,9 @@ +import { Pago20 } from './Pago20'; +import { Pago20ImpuestosP } from './Pago20Impuestos'; +import { Pago20Relacionado } from './Pago20Relacionado'; +import { Pagos20 } from './Pagos20'; + +export { Pago20Relacionado }; +export { Pago20ImpuestosP }; +export { Pago20, Pagos20 }; +export default Pagos20; diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/types/Pago20.dto.ts b/packages/cfdi/types/src/complementos/4.0/pago20/types/Pago20.dto.ts new file mode 100644 index 00000000..bb9bdf88 --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/types/Pago20.dto.ts @@ -0,0 +1,35 @@ +import { + XmlDoctoRelAttributes, + XmlPago20Attributes, + XmlPagoRetencionPAttributes, + XmlPagoTranladoPAttributes, + XmlPagos20TotalesAttributes, + XmlRetencionDRAttributes, + XmlTrasladoDRAttributes, +} from './pago20.xslt'; + +export interface DoctoRelacionado extends XmlDoctoRelAttributes { + ImpuestosDR: ImpuestosDR; +} +export interface ImpuestosDR { + RetencionesDR: RetencioneDR[]; + TrasladosDR: TrasladoDR[]; +} +export interface RetencioneDR extends XmlRetencionDRAttributes {} +export interface TrasladoDR extends XmlTrasladoDRAttributes {} +export interface ImpuestoP { + RetencionesP: RetencionP[]; + TrasladosP: TrasladoP[]; +} +export interface RetencionP extends XmlPagoRetencionPAttributes {} +export interface TrasladoP extends XmlPagoTranladoPAttributes {} + +export interface Pagos20Totales extends XmlPagos20TotalesAttributes { + DoctoRelacionado: DoctoRelacionado; + ImpuestosP: ImpuestoP; +} +export interface XmlPago20 extends XmlPago20Attributes {} +export interface Pagos20 { + Totales: Pagos20Totales; + Pago: XmlPago20[]; +} diff --git a/packages/cfdi/types/src/complementos/4.0/pago20/types/pago20.xslt.ts b/packages/cfdi/types/src/complementos/4.0/pago20/types/pago20.xslt.ts new file mode 100644 index 00000000..ea5c030d --- /dev/null +++ b/packages/cfdi/types/src/complementos/4.0/pago20/types/pago20.xslt.ts @@ -0,0 +1,132 @@ +export interface XmlPagos20 { + _attributes: XmlPagos20Attributes; + 'pago20:Totales': XmlPagos20Totales[]; + 'pago20:Pago': XmlPago20[]; +} + +export interface XmlPagos20Attributes { + Version?: string; +} +export interface XmlPagos20Totales { + _attributes?: XmlPagos20TotalesAttributes; +} +export interface XmlPagos20TotalesAttributes { + TotalRetencionesIVA?: string; + TotalRetencionesISR?: string; + TotalRetencionesIEPS?: string; + TotalTrasladosBaseIVA16?: string; + TotalTrasladosImpuestoIVA16?: string; + TotalTrasladosBaseIVA8?: string; + TotalTrasladosImpuestoIVA8?: string; + TotalTrasladosBaseIVA0?: string; + TotalTrasladosImpuestoIVA0?: string; + TotalTrasladosBaseIVAExento?: string; + MontoTotalPagos?: string; +} +export interface XmlPago20 { + _attributes?: XmlPago20Attributes; + 'pago20:DoctoRelacionado': XmlDoctoRelacionado[]; + 'pago20:ImpuestosP': XmlPago20ImpuestoP[]; +} + +export interface XmlPago20Attributes { + FechaPago: string; + FormaDePagoP: string; + MonedaP: string; + TipoCambioP?: string; + Monto: string; + NumOperacion?: string; + RfcEmisorCtaOrd?: string; + NomBancoOrdExt?: string; + CtaOrdenante?: string; + RfcEmisorCtaBen?: string; + CtaBeneficiario?: string; + TipoCadPago?: string; + CertPago?: string; + CadPago?: string; + SelloPago?: string; +} + +export interface XmlDoctoRelacionado { + _attributes?: XmlDoctoRelAttributes; + 'pago20:ImpuestosDR'?: XmlImpuestosDR; +} + +export interface XmlImpuestosDR { + 'pago20:RetencionesDR': { + 'pago20:RetencionDR': XmlRetencionDR[]; + }; + 'pago20:TrasladosDR': { + 'pago20:TrasladoDR': XmlTrasladoDR[]; + }; +} +interface XmlRetencionDR { + _attributes: XmlRetencionDRAttributes; +} +interface XmlTrasladoDR { + _attributes: XmlTrasladoDRAttributes; +} + +export interface XmlDoctoRelAttributes { + IdDocumento: string; + Serie?: string; + Folio?: string; + MonedaDR: string; + EquivalenciaDR?: string; + NumParcialidad: string; + ImpSaldoAnt: string; + ImpPagado: string; + ImpSaldoInsoluto: string; + ObjetoImpDR: string; +} + +export interface XmlPago20ImpuestoP { + 'pago20:RetencionesP': XmlPagoRetenciones; + 'pago20:TrasladosP': XmlPagoTranlados; +} + +export interface XmlPagoImptoAttributes { + TotalImpuestosRetenidos?: string; + TotalImpuestosTrasladados?: string; +} + +export interface XmlPagoRetenciones { + 'pago20:RetencionP': XmlPagoRetencionP[]; +} + +export interface XmlPagoTranlados { + 'pago20:TrasladoP': XmlPagoTranladoP[]; +} + +export interface XmlPagoRetencionP { + _attributes?: XmlPagoRetencionPAttributes; +} + +export interface XmlPagoRetencionPAttributes { + ImpuestoP: string; + ImporteP: string; +} + +export interface XmlPagoTranladoP { + _attributes?: XmlPagoTranladoPAttributes; +} + +export interface XmlPagoTranladoPAttributes { + BaseP: string; + ImpuestoP: string; + TipoFactorP: string; + TasaOCuotaP?: string; + ImporteP?: string; +} +interface DR { + BaseDR: string; + ImpuestoDR: string; + TipoFactorDR: string; + TasaOCuotaDR?: string; + ImporteDR?: string; +} +export interface XmlRetencionDRAttributes extends DR { + TasaOCuotaDR: string; + ImporteDR: string; +} +export interface XmlTrasladoDRAttributes extends DR {} diff --git a/packages/cfdi/types/src/complementos/Complemento.ts b/packages/cfdi/types/src/complementos/Complemento.ts new file mode 100644 index 00000000..b5e51e08 --- /dev/null +++ b/packages/cfdi/types/src/complementos/Complemento.ts @@ -0,0 +1,33 @@ +import { ComplementsReturn } from './'; + +interface ConfigComplemento { + xmlns: string; + key: string; + xsd: string; +} + +export abstract class Complemento { + public complemento: T = {} as T; + private xmlns: string; + private key: string; + private schemaLocation: string[] = []; + private xmlnskey: string; + constructor(config: ConfigComplemento) { + const { key, xmlns, xsd } = config; + this.xmlns = xmlns; + this.key = key; + this.xmlnskey = this.key.split(':')[0]; + this.schemaLocation.push(xmlns); + this.schemaLocation.push(xsd); + } + + public getComplement(): ComplementsReturn { + return { + complement: this.complemento, + key: this.key, + schemaLocation: this.schemaLocation, + xmlns: this.xmlns, + xmlnskey: this.xmlnskey, + }; + } +} diff --git a/packages/cfdi/types/src/complementos/complements.interface.ts b/packages/cfdi/types/src/complementos/complements.interface.ts new file mode 100644 index 00000000..6090b2d9 --- /dev/null +++ b/packages/cfdi/types/src/complementos/complements.interface.ts @@ -0,0 +1,160 @@ + +import { Complemento } from './Complemento'; +import { XmlCartaPorte20 } from './4.0/cartaporte20/types/CartaPorte20.xslt'; +import { XmlIedu } from './4.0/iedu/type/iedu.xslt'; + +export interface ComplementoKey { + [key: string]: any; +} + +export interface XmlComplements extends ComplementoKey { + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/ecc/ecc.xml + // tslint:disable-next-line:max-line-length + // https://www.sat.gob.mx/consulta/21885/genera-tus-facturas-electronicas-con-el-complemento-para-el-estado-de-cuenta-de-combustibles-para-monederos-electronicos + 'ecc11:EstadoDeCuentaCombustible'?: any; + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/donatarias/donatarias.xml + // https://www.sat.gob.mx/consulta/54115/facturas-electronicas-con-leyendas-fiscalestarias.xml + 'donat:Donatarias'?: Complemento; + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/divisas/divisas.xml + // https://www.sat.gob.mx/consulta/53967/genera-tus-facturas-electronicas-con-el-complemento-para-compraventa-de-divisas + 'divisas:Divisas'?: Complemento; + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/imp_locales/imp_local.xml + // https://www.sat.gob.mx/consulta/18002/genera-tus-facturas-electronicas-con-la-informacion-de-otros-derechos-e-impuestos + 'implocal:ImpuestosLocales'?: Complemento; + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/leyendas_fiscales/leyendas_fiscales.xml + // https://www.sat.gob.mx/consulta/54115/facturas-electronicas-con-leyendas-fiscales + 'leyendasFisc:LeyendasFiscales'?: Complemento; + // https://www.sat.gob.mx/consulta/54191/facturas-electronicas-de-personas-fisicas-integrantes-de-coordinados + 'pfic:PFintegranteCoordinado'?: Complemento; + // https://www.sat.gob.mx/consulta/54366/emite-facturas-electronicas-para-el-manejo-de-datos-de-turistas-o-pasajeros-extranjeros + 'tpe:TuristaPasajeroExtranjero'?: Complemento; + // tslint:disable-next-line:max-line-length + // https://www.sat.gob.mx/consulta/85904/genera-facturas-electronicas-con-el-complemento-para-el-uso-del-sistema-de-pagos-electronicos-interbancarios + 'spei:Complemento_SPEI'?: Complemento; + // https://www.sat.gob.mx/consulta/76197/complemento-para-factura-electronica + 'detallista:detallista'?: Complemento; + // https://www.sat.gob.mx/consulta/52697/complemento-concepto-para-factura-electronica + 'registrofiscal:CFDIRegistroFiscal'?: Complemento; + // http://omawww.sat.gob.mx/Complemento/Paginas/complemento_nomina.htm + 'nomina12:Nomina'?: Complemento; + // https://www.sat.gob.mx/consulta/70751/genera-facturas-electronicas-con-el-complemento-por-la-facilidad-de-pago-en-especie + 'pagoenespecie:PagoEnEspecie'?: Complemento; + // https://www.sat.gob.mx/consulta/43376/genera-facturas-electronicas-con-informacion-del-servicio-de-monedero-electronico-de-vales-de-despensa + 'valesdedespensa:ValesDeDespensa'?: Complemento; + 'consumodecombustibles11:ConsumoDeCombustibles'?: Complemento; + 'aerolineas:Aerolineas'?: Complemento; + // https://www.sat.gob.mx/consulta/33510/genera-facturas-electronicas-con-el-complemento-de-notarios + 'notariospublicos:NotariosPublicos'?: Complemento; + // https://www.sat.gob.mx/consulta/45480/genera-facturas-electronicas-con-el-complemento-de-vehiculos-usados + 'vehiculousado:VehiculoUsado'?: Complemento; + // https://www.sat.gob.mx/consulta/18158/si-prestas-servicios-parciales-de-construccion,-genera-facturas-electronicas-con-este-complemento + 'servicioparcial:parcialesconstruccion'?: Complemento; + 'decreto:renovacionysustitucionvehiculos'?: Complemento; + 'destruccion:certificadodedestruccion'?: Complemento; + // https://www.sat.gob.mx/consulta/92945/si-realizas-venta-de-obras-de-arte-plasticas-y-antiguedades-genera-tus-facturas-electronicas-con-este-complemento + 'obrasarte:obrasarteantiguedades'?: Complemento; + 'ine:INE'?: Complemento; + 'cce11:ComercioExterior'?: Complemento; + // https://www.sat.gob.mx/consultas/92764/comprobante-de-recepcion-de-pagos + // http://omawww.sat.gob.mx/tramitesyservicios/Paginas/recepcion_de_pagos.htm + // http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Pagos10.pdf + 'pago20:Pagos'?: Complemento; + // https://www.sat.gob.mx/consulta/50282/conoce-los-complementos-para-consorcios-en-materia-de-hidrocarburos + 'gceh:GastosHidrocarburos'?: Complemento; + 'ieeh:IngresosHidrocarburos'?: Complemento; + 'tfd:TimbreFiscalDigital'?: Complemento; +} + +export interface XmlComplementsConcepts extends ComplementoKey { + 'iedu:instEducativas'?: XmlIedu; + 'ventavehiculos:VentaVehiculos'?: any; + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/venta_vehiculos/venta_vehiculos.xml + 'terceros:PorCuentadeTerceros'?: any; // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/terceros/terceros.xml + // deprecated + // https://www.sat.gob.mx/consulta/75154/complemento-concepto-para-acreditamiento-del-ieps- + // 'aieps:acreditamientoIEPS'?: any; + // https://github.com/facturacionmoderna/Comprobantes/blob/master/complementos/CFDI/acreditamiento_ieps/aieps.xml +} + +export declare type ComlementType = Complemento; +export declare type ComplementTypeXml = XmlCartaPorte20| T; +export declare type ComlementTypeConcept = Complemento; + +export interface ComplementsReturn extends ComplementProperties { + complement: ComplementTypeXml; +} + +export interface ComplementProperties { + key: string; + xmlns: string; + xmlnskey: string; + schemaLocation: string[]; +} + +export interface XmlComplementsAttributes extends ComplementoKey { + 'xmlns:cfdi'?: string; // http://www.sat.gob.mx/cfd/3 + 'xmlns:ecc11'?: string; // http://www.sat.gob.mx/EstadoDeCuentaCombustible + 'xmlns:donat'?: string; // http://www.sat.gob.mx/donat + 'xmlns:divisas'?: string; // http://www.sat.gob.mx/divisas + 'xmlns:implocal'?: string; // http://www.sat.gob.mx/implocal + 'xmlns:leyendasFisc'?: string; // http://www.sat.gob.mx/leyendasFiscales + 'xmlns:pfic'?: string; // http://www.sat.gob.mx/pfic + 'xmlns:tpe'?: string; // http://www.sat.gob.mx/TuristaPasajeroExtranjero + 'xmlns:spei'?: string; // http://www.sat.gob.mx/spei + 'xmlns:detallista'?: string; // http://www.sat.gob.mx/detallista + 'xmlns:registrofiscal'?: string; // http://www.sat.gob.mx/registrofiscal + 'xmlns:nomina12'?: string; // http://www.sat.gob.mx/nomina12 + 'xmlns:pagoenespecie'?: string; // http://www.sat.gob.mx/pagoenespecie + 'xmlns:valesdedespensa'?: string; // http://www.sat.gob.mx/valesdedespensa + 'xmlns:consumodecombustibles11'?: string; // http://www.sat.gob.mx/ConsumoDeCombustibles11 + 'xmlns:aerolineas'?: string; // ="http://www.sat.gob.mx/aerolineas" + 'xmlns:notariospublicos'?: string; // http://www.sat.gob.mx/notariospublicos + 'xmlns:vehiculousado'?: string; // http://www.sat.gob.mx/vehiculousado + 'xmlns:servicioparcial'?: string; // http://www.sat.gob.mx/servicioparcialconstruccion + 'xmlns:decreto'?: string; // http://www.sat.gob.mx/renovacionysustitucionvehiculos + 'xmlns:destruccion'?: string; // http://www.sat.gob.mx/certificadodestruccion + 'xmlns:obrasarte'?: string; // http://www.sat.gob.mx/arteantiguedades + 'xmlns:ine'?: string; // http://www.sat.gob.mx/ine + 'xmlns:cce11'?: string; // http://www.sat.gob.mx/ComercioExterior11 + 'xmlns:pago20'?: string; // http://www.sat.gob.mx/Pagos + 'xmlns:gceh'?: string; // http://www.sat.gob.mx/GastosHidrocarburos10 + /* ########XmlComplementsConcepts#########3 */ + 'xmlns:iedu'?: string; // http://www.sat.gob.mx/iedu + 'xmlns:ventavehiculos'?: string; // http://www.sat.gob.mx/ventavehiculos + 'xmlns:terceros'?: string; // http://www.sat.gob.mx/terceros + 'xmlns:aieps'?: string; // http://www.sat.gob.mx/acreditamiento +} + +export interface XmlnsComplementsLinks extends ComplementoKey { + /* ########XmlComplementsConcepts#########3 */ + ecc11?: string; // http://www.sat.gob.mx/EstadoDeCuentaCombustible + donat?: string; // http://www.sat.gob.mx/donat + divisas?: string; // http://www.sat.gob.mx/divisas + implocal?: string; // http://www.sat.gob.mx/implocal + leyendasFisc?: string; // http://www.sat.gob.mx/leyendasFiscales + pfic?: string; // http://www.sat.gob.mx/pfic + tpe?: string; // http://www.sat.gob.mx/TuristaPasajeroExtranjero + spei?: string; // http://www.sat.gob.mx/spei + detallista?: string; // http://www.sat.gob.mx/detallista + registrofiscal?: string; // http://www.sat.gob.mx/registrofiscal + nomina12?: string; // http://www.sat.gob.mx/nomina12 + pagoenespecie?: string; // http://www.sat.gob.mx/pagoenespecie + valesdedespensa?: string; // http://www.sat.gob.mx/valesdedespensa + consumodecombustibles11?: string; // http://www.sat.gob.mx/ConsumoDeCombustibles11 + aerolineas?: string; // ="http://www.sat.gob.mx/aerolineas" + notariospublicos?: string; // http://www.sat.gob.mx/notariospublicos + vehiculousado?: string; // http://www.sat.gob.mx/vehiculousado + servicioparcial?: string; // http://www.sat.gob.mx/servicioparcialconstruccion + decreto?: string; // http://www.sat.gob.mx/renovacionysustitucionvehiculos + destruccion?: string; // http://www.sat.gob.mx/certificadodestruccion + obrasarte?: string; // http://www.sat.gob.mx/arteantiguedades + ine?: string; // http://www.sat.gob.mx/ine + cce11?: string; // http://www.sat.gob.mx/ComercioExterior11 + pago20?: string; // http://www.sat.gob.mx/Pagos + gceh?: string; // http://www.sat.gob.mx/GastosHidrocarburos10 + /* ########XmlComplementsConcepts#########3 */ + iedu?: string; // http://www.sat.gob.mx/iedu + ventavehiculos?: string; // http://www.sat.gob.mx/ventavehiculos + terceros?: string; // http://www.sat.gob.mx/terceros + aieps?: string; // http://www.sat.gob.mx/acreditamiento +} diff --git a/packages/cfdi/types/src/complementos/index.ts b/packages/cfdi/types/src/complementos/index.ts new file mode 100644 index 00000000..8a344a39 --- /dev/null +++ b/packages/cfdi/types/src/complementos/index.ts @@ -0,0 +1,7 @@ +export * from './complements.interface'; +export * from './Complemento' +export * from './4.0/iedu' +export * from './4.0/aerolineas' +export * from './4.0/cartaporte20' +export * from './4.0/ine' +export * from './4.0/pago20' \ No newline at end of file diff --git a/packages/cfdi/types/src/comprobante/certificate.interface.ts b/packages/cfdi/types/src/comprobante/certificate.interface.ts new file mode 100644 index 00000000..3016c823 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/certificate.interface.ts @@ -0,0 +1,4 @@ +export interface Cer { + cer: string; + nocer: string; +} diff --git a/packages/cfdi/types/src/comprobante/comprobante.interface.ts b/packages/cfdi/types/src/comprobante/comprobante.interface.ts new file mode 100755 index 00000000..63562814 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/comprobante.interface.ts @@ -0,0 +1,89 @@ +import { AnyKey, XmlConcepto, XmlEmisor, XmlImpuestos, XmlReceptor } from '.'; +import { + ExportacionEnum, + ExportacionType, + FormaPago, + FormaPagoType, + MetodoPago, + MetodoPagoType, + TipoComprobante, + TypeComprobante, +} from '@cfdi/catalogos'; +import { + XmlComplements, + XmlComplementsAttributes, + XmlnsComplementsLinks, +} from '@cfdi/complementos'; + +export interface XmlComprobante { + _attributes: XmlComprobanteAttributes; + 'cfdi:InformacionGlobal'?: any; + 'cfdi:CfdiRelacionados'?: XmlRelacionados; + 'cfdi:Emisor'?: XmlEmisor; + 'cfdi:Receptor'?: XmlReceptor; + 'cfdi:Conceptos': XmlConcepto; + 'cfdi:Impuestos'?: XmlImpuestos; + 'cfdi:Complemento'?: XmlComplements; +} + +export interface XmlRelacionados { + _attributes?: XmlRelacionadosAttributes; + 'cfdi:CfdiRelacionado'?: XmlRelacionado[]; +} + +export interface XmlRelacionadosAttributes { + TipoRelacion: string; +} + +export interface XmlRelacionado { + _attributes?: XmlRelacionadoAttributes; +} + +export interface XmlRelacionadoAttributes { + UUID: string; +} + +export interface XmlComprobanteAttributes + extends XmlComplementsAttributes, + CFDIComprobante, ComprobanteSignature, + AnyKey { + 'xmlns:xsi'?: string; // http://www.w3.org/2001/XMLSchema-instance + 'xmlns:xs'?: string; // http://www.w3.org/2001/XMLSchema + 'xsi:schemaLocation'?: string; +} + +export interface ComprobanteAttributes { + xmlns?: XmlnsLinks; + schemaLocation?: string[]; +} + +export interface ComprobanteSignature { + NoCertificado: string; + Certificado?: string; + Sello?: string; +} +export interface CFDIComprobante { + Version?: string; + Serie?: string; + Folio?: string; + Fecha: string; + FormaPago?: FormaPago | FormaPagoType | number + CondicionesDePago?: string; + SubTotal: string | number; + Descuento?: string | number; + Moneda: string; + TipoCambio?: string; + Total: string | number; + TipoDeComprobante: TipoComprobante | TypeComprobante; + Exportacion: ExportacionEnum | ExportacionType | string; + MetodoPago?: MetodoPago | MetodoPagoType; + LugarExpedicion: string; + Confirmacion?: string; + +} + +export interface XmlnsLinks extends XmlnsComplementsLinks, AnyKey { + cfdi?: string; // http://www.sat.gob.mx/cfd/3 + xs?: string; // http://www.w3.org/2001/XMLSchema + xsi?: string; // http://www.w3.org/2001/XMLSchema-instance +} diff --git a/packages/cfdi/types/src/comprobante/concepts.interface.ts b/packages/cfdi/types/src/comprobante/concepts.interface.ts new file mode 100755 index 00000000..a1908286 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/concepts.interface.ts @@ -0,0 +1,61 @@ +import { Attributes, ElementCompact } from 'xml-js'; + +import { XmlComplementsConcepts } from '@cfdi/complementos'; +import { XmlImpuestos } from '.'; + +export interface XmlConcepto { + 'cfdi:Concepto': XmlConceptoProperties[]; +} + +export interface XmlConceptoTercerosAttributes { + RfcACuentaTerceros: string | number; + NombreACuentaTerceros: string | number; + RegimenFiscalACuentaTerceros: string | number; + DomicilioFiscalACuentaTerceros: string | number; +} + +export interface XmlConceptoParte { + _attributes: XmlConceptParteAttributes; + 'cfdi:InformacionAduanera'?: InformacionAduanera[]; +} +export interface XmlConceptParteAttributes { + ClaveProdServ: string | number; + NoIdentificacion?: string | number; + Cantidad: string | number; + Unidad?: string | number; + Descripcion: string | number; + ValorUnitario?: string | number; + Importe?: string | number; +} +export interface InformacionAduanera { + _attributes: XmlInformacionAduaneraAttributes; +} +export interface XmlInformacionAduaneraAttributes { + NumeroPedimento: string; +} +export interface XmlConceptoProperties extends ElementCompact { + _attributes: XmlConceptoAttributes; + 'cfdi:Impuestos': XmlImpuestos; + 'cfdi:ComplementoConcepto': XmlComplementsConcepts; + 'cfdi:Parte'?: XmlConceptoParte; + 'cfdi:InformacionAduanera'?: InformacionAduanera[]; +} + +export type ObjetoImp = '01' | '02' | '03'; +export enum ObjetoImpEnum { + NoobjetoDeimpuesto = '01', + SíObjetoDeImpuesto = '02', + SíObjetoDeImpuestoYNobligadoAlDesglose = '03', +} +export interface XmlConceptoAttributes extends Attributes { + ClaveProdServ: string; + NoIdentificacion?: string; + Cantidad: number | string; + ClaveUnidad: string; + Unidad?: string; + Descripcion: string; + ValorUnitario: number | string; + Importe: number | string; + Descuento?: number | string; + ObjetoImp: ObjetoImpEnum | ObjetoImp; +} diff --git a/packages/cfdi/types/src/comprobante/emisor.inteface.ts b/packages/cfdi/types/src/comprobante/emisor.inteface.ts new file mode 100755 index 00000000..a912bc5b --- /dev/null +++ b/packages/cfdi/types/src/comprobante/emisor.inteface.ts @@ -0,0 +1,11 @@ + +export interface XmlEmisor { + _attributes: XmlEmisorAttribute; +} + +export interface XmlEmisorAttribute { + Rfc: string; + Nombre: string; + RegimenFiscal: string | number; + FacAtrAdquirente?: string | number; +} diff --git a/packages/cfdi/types/src/comprobante/impuestos.interface.ts b/packages/cfdi/types/src/comprobante/impuestos.interface.ts new file mode 100755 index 00000000..b4c8fbf2 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/impuestos.interface.ts @@ -0,0 +1,34 @@ +export interface XmlImpuestos { + _attributes: XmlImpuestosTrasladados; + 'cfdi:Traslados': XmlTranslado; + 'cfdi:Retenciones': XmlRetenciones; +} + +export interface XmlImpuestosTrasladados { + TotalImpuestosRetenidos?: number | string; + TotalImpuestosTrasladados?: number | string; +} + +export interface XmlTranslado { + 'cfdi:Traslado': XmlTransladoAttributes[]; +} + +export interface XmlRetenciones { + 'cfdi:Retencion': XmlRetencionAttributes[]; +} + +export interface XmlTransladoAttributes { + _attributes: XmlTranRentAttributesProperties; +} + +export interface XmlRetencionAttributes { + _attributes: XmlTranRentAttributesProperties; +} + +export interface XmlTranRentAttributesProperties { + Base?: string | number; + Impuesto: string | number; + TipoFactor: string; + TasaOCuota?: string | number; + Importe?: string | number; +} diff --git a/packages/cfdi/types/src/comprobante/index.ts b/packages/cfdi/types/src/comprobante/index.ts new file mode 100644 index 00000000..7cca8b21 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/index.ts @@ -0,0 +1,10 @@ +// Tags +export * from './comprobante.interface'; +export * from './concepts.interface'; +export * from './emisor.inteface'; +export * from './receptor.inteface'; +export * from './impuestos.interface'; +export * from './xmlCdfi.interface'; +export * from './tags.structure'; +// certificado +export * from './types'; diff --git a/packages/cfdi/types/src/comprobante/receptor.inteface.ts b/packages/cfdi/types/src/comprobante/receptor.inteface.ts new file mode 100755 index 00000000..7180ff12 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/receptor.inteface.ts @@ -0,0 +1,15 @@ + +export interface XmlReceptor { + _attributes: XmlReceptorAttribute; +} + +export interface XmlReceptorAttribute { + Rfc: string; + Nombre: string; + UsoCFDI: string; + DomicilioFiscalReceptor: string; + ResidenciaFiscal?: string; + NumRegIdTrib?: string; + RegimenFiscalReceptor: string | number; +} + diff --git a/packages/cfdi/types/src/comprobante/tags.structure.ts b/packages/cfdi/types/src/comprobante/tags.structure.ts new file mode 100644 index 00000000..45a5d832 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/tags.structure.ts @@ -0,0 +1,6 @@ +export type TagComprobante = 'cfdi:Comprobante'; +export type TagRelacionados = 'cfdi:CfdiRelacionados'; +export type TagEmisor = 'cfdi:Emisor'; +export type TagReceptor = 'cfdi:Receptor'; +export type TagConcepto = 'cfdi:Concepto'; +export type TagImpuestos = 'cfdi:Impuestos'; diff --git a/packages/cfdi/types/src/comprobante/types.ts b/packages/cfdi/types/src/comprobante/types.ts new file mode 100644 index 00000000..3dc74f94 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/types.ts @@ -0,0 +1,65 @@ +export interface Schema { + path: string; +} + +export interface SaxonHe { + binary: string; +} + +export interface XsltSheet { + path: string; +} + +export interface Config { + debug?: boolean; + compact?: boolean; + customTags?: any; + schema?: Schema + saxon?: SaxonHe + xslt?: XsltSheet // @ Extensible Stylesheet Language Transformation +} + + +export enum InvoiceType { + INGRESO = 'I', + EGRESO = 'E', + TRASLADO = 'T', + NOMINA = 'N', + PAGO = 'P', +} + +export enum InvoiceRelation { + NOTA_DE_CREDITO = '01', + NOTA_DE_DEBITO = '02', + DELOVUCION_DE_MERCANCIA = '03', + SUSTITUCION_DE_CFDI_PREVIOS = '04', + TRASLADOS_DE_MERCANCIA_FACTURADOS_PREVIAMENTE = '05', + FACTURA_POR_TRASLADOS_PREVIOS = '06', + APLICACION_DE_ANTICIPO = '07', + PAGOS_EN_PARCIALIDADES = '08', + PAGOS_DIFERIDOS = '09', +} + +export enum TaxSystem { + GENERAL_LEY_DE_PERSONAS_MORALES = '601', + PERSONAS_MORALES_CON_FINES_NO_LUCRATIVOS = '603', + SUELDOS_Y_SALARIOS = '605', + ARRENDAMIENTO = '606', + DEMAS_INGRESOS = '608', + CONSOLIDACION = '609', + RESIDENTES_EN_EL_EXTRANJERO = '610', + INGRESOS_POR_DIVIDENDOS_SOCIOS_Y_ACCIONISTAS = '611', + PERSONAS_FISICAS_CON_ACTIVIDADES_EMPRESARIALES_Y_PROFESIONALES = '612', + INGRESOS_POR_INTERESES = '614', + SIN_OBLIGACIONES_FISCALES = '616', + SOCIEDADES_COOPERATIVAS_DE_PRODUCCION = '620', + REGIMEN_DE_INCORPORACION_FISCAL = '621', + ACTIVIDADES_AGRICOLAS_GANADERAS_SILVICOLAS_Y_PESQUERAS = '622', + OPCIONAL_PARA_GRUPOS_DE_SOCIEDADES = '623', + COORDINADOS = '624', + HIDROCARBUROS = '628', + REGIMEN_DE_ENAJENACION_O_ADQUISICION_DE_BIENES = '607', + PREFERENTES_Y_EMPRESAS_MULTINACIONALES = '629', + ENAJENACION_DE_ACCIONES_EN_BOLSA_DE_VALORES = '630', + REGIMEN_DE_LOS_INGRESOS_POR_OBTENCION_DE_PREMIOS = '615', +} diff --git a/packages/cfdi/types/src/comprobante/xmlCdfi.interface.ts b/packages/cfdi/types/src/comprobante/xmlCdfi.interface.ts new file mode 100755 index 00000000..49943283 --- /dev/null +++ b/packages/cfdi/types/src/comprobante/xmlCdfi.interface.ts @@ -0,0 +1,17 @@ +import { XmlComprobante } from '.'; + +export interface XmlCdfi { + _declaration: XmlDeclaration; + 'cfdi:Comprobante': XmlComprobante; +} +export interface XmlDeclaration { + _attributes: XmlVersion; +} +export interface XmlVersion { + version: string; + encoding: string; +} + +export interface AnyKey { + [key: string]: any; +} diff --git a/packages/cfdi/types/src/index.ts b/packages/cfdi/types/src/index.ts new file mode 100644 index 00000000..cf781360 --- /dev/null +++ b/packages/cfdi/types/src/index.ts @@ -0,0 +1,2 @@ +export * from './comprobante' +export * from './complementos' \ No newline at end of file diff --git a/packages/cfdi/types/test/check.test.ts b/packages/cfdi/types/test/check.test.ts new file mode 100644 index 00000000..6ac59191 --- /dev/null +++ b/packages/cfdi/types/test/check.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it, test } from 'vitest'; + +describe('blah', () => { + it('works', () => { + expect(2).toEqual(2); + }); +}); diff --git a/packages/cfdi/types/tsconfig.json b/packages/cfdi/types/tsconfig.json new file mode 100644 index 00000000..dd3d7e74 --- /dev/null +++ b/packages/cfdi/types/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "./node_modules/@recreando/typescript-settings/profiles/default/tsconfig-base.json", + "compilerOptions": { + "lib": ["dom", "esnext"], + "types": [ "node" ], + "importHelpers": true, + // output .d.ts declaration files for consumers + "declaration": true, + // output .js.map sourcemap files for consumers + "sourceMap": true, + "noUnusedLocals": false, + "strict": true, + "noUnusedParameters": false, + } +} diff --git a/packages/cfdi/types/vitest.config.mts b/packages/cfdi/types/vitest.config.mts new file mode 100644 index 00000000..427131cc --- /dev/null +++ b/packages/cfdi/types/vitest.config.mts @@ -0,0 +1,29 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { resolve } from 'path'; +export default defineConfig({ + test: { + reporters: ['default'], + coverage: { + include: ['src/**/*.ts'], + exclude: ['**/node_modules/**', '**/test/**'], // Excluir node_modules y la carpeta de tests + }, + }, + plugins: [ + tsconfigPaths(), + /* { + name: 'vite-plugin-alias', + configureServer(server) { + server.watcher.add(resolve(__dirname, '../xsd/src')); + } + } */ + ], + resolve: { + alias: { + '@cfdi/xsd': resolve(__dirname, '../xsd/src'), + '@cfdi/complementos': resolve(__dirname, '../complementos/src'), + '@cfdi/csd': resolve(__dirname, '../csd/src'), + '@saxon-he/cli': resolve(__dirname, '../../clir/saxon-he/src'), + }, + }, +}); diff --git a/packages/cfdi/utils/package.json b/packages/cfdi/utils/package.json index de6f3f8e..d2a56a33 100644 --- a/packages/cfdi/utils/package.json +++ b/packages/cfdi/utils/package.json @@ -67,8 +67,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -78,13 +78,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/xml/README.md b/packages/cfdi/xml/README.md index 83103cf9..7f0f54ae 100644 --- a/packages/cfdi/xml/README.md +++ b/packages/cfdi/xml/README.md @@ -12,11 +12,10 @@
  • - - @cfdi/types + + @cfdi/xsd
  • -
  • @cfdi/transform @@ -24,8 +23,14 @@
  • - - @cfdi/elements + + @cfdi/xml2json + +
  • + +
  • + + @cfdi/expresiones
  • @@ -52,8 +57,15 @@
  • - - @cfdi/pdf + + + @cfdi/pdf + +
  • +
  • + + @cfdi/types +
  • @cfdi/curp diff --git a/packages/cfdi/xml/package.json b/packages/cfdi/xml/package.json index 5ce5d55f..0da617b3 100644 --- a/packages/cfdi/xml/package.json +++ b/packages/cfdi/xml/package.json @@ -75,15 +75,15 @@ "rimraf": "^5.0.0", "@recreando/eslint-settings": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@types/node": "^18.11.3", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/cfdi/xml/vitest.config.mts b/packages/cfdi/xml/vitest.config.mts new file mode 100644 index 00000000..320bc897 --- /dev/null +++ b/packages/cfdi/xml/vitest.config.mts @@ -0,0 +1,23 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { resolve } from 'path'; +export default defineConfig({ + test: { + reporters: ['default'], + coverage: { + include: ['src/**/*.ts'], + exclude: ['**/node_modules/**', '**/test/**'], // Excluir node_modules y la carpeta de tests + }, + }, + plugins: [ + tsconfigPaths(), + ], + resolve: { + alias: { + '@cfdi/xsd': resolve(__dirname, '../xsd/src'), + '@cfdi/complementos': resolve(__dirname, '../complementos/src'), + '@cfdi/csd': resolve(__dirname, '../csd/src'), + '@saxon-he/cli': resolve(__dirname, '../../clir/saxon-he/src'), + }, + }, +}); diff --git a/packages/cfdi/xml2json/ vitest.config.ts b/packages/cfdi/xml2json/ vitest.config.ts new file mode 100644 index 00000000..f2a4ec65 --- /dev/null +++ b/packages/cfdi/xml2json/ vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; // only if you are using custom tsconfig paths + +export default defineConfig({ + test: {}, + plugins: [tsconfigPaths()], // only if you are using custom tsconfig paths +}); diff --git a/packages/cfdi/xml2json/.eslintrc.js b/packages/cfdi/xml2json/.eslintrc.js new file mode 100644 index 00000000..1c7b1395 --- /dev/null +++ b/packages/cfdi/xml2json/.eslintrc.js @@ -0,0 +1,30 @@ +// This is a workaround for https://github.com/eslint/eslint/issues/3458 +require("@rushstack/eslint-config/patch/modern-module-resolution"); + +module.exports = { + extends: [ + "./node_modules/@recreando/eslint-settings/react", + ], + parserOptions: { tsconfigRootDir: __dirname, }, + rules: { + "no-unused-expressions": "off", + "sort-imports": "off", + "no-unused-vars": "off", + "import/no-cycle": "off", + "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "React" }], + "@typescript-eslint/no-unused-expressions": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-argument":"off", + "@typescript-eslint/await-thenable": "off", + "@typescript-eslint/no-misused-promises": "off", + "no-async-promise-executor":"off", + "noUnusedLocals": "off", + "no-unused-vars": "off", + "noUnusedParameters": "off", + "no-unused-variable":1, + "class-methods-use-this":"off", + "react/no-multi-comp": "off", + "guard-for-in": "off", + "no-restricted-syntax":"off" + }, +}; diff --git a/packages/cfdi/xml2json/.gitignore b/packages/cfdi/xml2json/.gitignore new file mode 100644 index 00000000..4c9d7c35 --- /dev/null +++ b/packages/cfdi/xml2json/.gitignore @@ -0,0 +1,4 @@ +*.log +.DS_Store +node_modules +dist diff --git a/packages/cfdi/xml2json/LICENSE b/packages/cfdi/xml2json/LICENSE new file mode 100644 index 00000000..5d5ce6d3 --- /dev/null +++ b/packages/cfdi/xml2json/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 MisaelMa + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/cfdi/xml2json/README.md b/packages/cfdi/xml2json/README.md new file mode 100644 index 00000000..9487075c --- /dev/null +++ b/packages/cfdi/xml2json/README.md @@ -0,0 +1 @@ +utils diff --git a/packages/cfdi/xml2json/config/index.js b/packages/cfdi/xml2json/config/index.js new file mode 100644 index 00000000..41438f2f --- /dev/null +++ b/packages/cfdi/xml2json/config/index.js @@ -0,0 +1,2 @@ +'use strict' +module.exports = require('./xml2json.cjs.production.min.js') diff --git a/packages/cfdi/xml2json/jest.config.js b/packages/cfdi/xml2json/jest.config.js new file mode 100644 index 00000000..e9a29ce4 --- /dev/null +++ b/packages/cfdi/xml2json/jest.config.js @@ -0,0 +1,5 @@ +const baseConfig = require('@recreando/jest/jestConfig'); + +module.exports = { + ...baseConfig, +}; diff --git a/packages/cfdi/xml2json/package.index.json b/packages/cfdi/xml2json/package.index.json new file mode 100644 index 00000000..8e8b3ece --- /dev/null +++ b/packages/cfdi/xml2json/package.index.json @@ -0,0 +1,5 @@ +{ + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "module": "dist/xml2json.esm.js" +} diff --git a/packages/cfdi/xml2json/package.json b/packages/cfdi/xml2json/package.json new file mode 100644 index 00000000..4629ece7 --- /dev/null +++ b/packages/cfdi/xml2json/package.json @@ -0,0 +1,98 @@ +{ + "name": "@cfdi/xml2json", + "version": "4.0.13", + "license": "MIT", + "source": "./src/index.ts", + "release": { + "branches": [ + "main", + "next", + "beta" + ] + }, + "files": [ + "dist", + "src" + ], + "engines": { + "node": ">=10" + }, + "scripts": { + "start": "tsdx watch", + "build": "tsdx build --env production --minify && rimraf ./dist/index.js ./dist/xml2json.cjs.development.* && npm run cp", + "cp": "cp ./config/index.js ./dist", + "test": "vitest", + "test:ci": "vitest run", + "test:coverage": "vitest --coverage run", + "test:ui": "vitest --ui", + "lint": "tsdx lint", + "prepare": "npm run build", + "size": "size-limit", + "analyze": "size-limit --why" + }, + "husky": { + "hooks": { + "pre-commit": "tsdx lint" + } + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/MisaelMa/recreando" + }, + "prettier": { + "printWidth": 80, + "semi": true, + "singleQuote": true, + "trailingComma": "es5" + }, + "author": { + "name": "Amir Misael Marin Coh, Signati", + "email": "amisael.amir.misae@gmail.com, signatidev@gmail.com,", + "url": "" + }, + "size-limit": [ + { + "path": "dist/xml2json.cjs.production.min.js", + "limit": "10 KB" + }, + { + "path": "dist/xml2json.esm.js", + "limit": "10 KB" + } + ], + "dependencies": { + "xml-js": "^1.6.11" + }, + "devDependencies": { + "rimraf": "^5.0.0", + "@recreando/eslint-settings": "workspace:*", + "@recreando/jest": "workspace:*", + "@recreando/typescript-settings": "workspace:*", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", + "@size-limit/preset-small-lib": "^7.0.8", + "@testing-library/dom": "^8.19.0", + "@testing-library/jest-dom": "^5.16.1", + "@types/deep-freeze": "^0.1.2", + "@types/jest": "^27.5.0", + "@types/node": "^18.11.3", + "@types/testing-library__jest-dom": "^5.9.1", + "chalk": "^4.0.0", + "chokidar": "^3.5.2", + "eslint": "^8.57.0", + "husky": "^8.0.1", + "jest": "^28.1.2", + "size-limit": "^7.0.8", + "tsdx": "^0.14.1", + "tslib": "^2.4.0", + "typescript": "^5.6.3", + "vitest": "2.1.3", + "vite-tsconfig-paths": "~4.2.1", + "@vitest/coverage-v8": "2.1.3", + "@vitest/ui": "2.1.3" + } +} diff --git a/packages/cfdi/xml2json/src/index.ts b/packages/cfdi/xml2json/src/index.ts new file mode 100644 index 00000000..354a0839 --- /dev/null +++ b/packages/cfdi/xml2json/src/index.ts @@ -0,0 +1 @@ +export { default as Transform } from './transform'; diff --git a/packages/cfdi/xml2json/src/transform.ts b/packages/cfdi/xml2json/src/transform.ts new file mode 100644 index 00000000..36afb72f --- /dev/null +++ b/packages/cfdi/xml2json/src/transform.ts @@ -0,0 +1,124 @@ +// @ts-ignore + +import { js2xml, json2xml, xml2js } from 'xml-js'; +import { readFileSync, writeFileSync } from 'fs'; + +type XsdElement = { + name: string; + minOccurs?: string; + elements?: XsdElement[]; + attributes?: Record; +}; + +type JsonSchema = { + $schema: string; + type: string; + properties: Record; + required: string[]; + additionalProperties: false; +}; + +function cleanObjectKeys(obj: any): any { + if (typeof obj !== 'object') { + return obj; + } + + if (Array.isArray(obj)) { + return obj.map(cleanObjectKeys); + } + + const cleanedObj = {}; + + for (const key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + if (key === '_attributes') { + const attributes = obj[key]; + for (const attrKey in attributes) { + if (Object.prototype.hasOwnProperty.call(attributes, attrKey)) { + if (!attrKey.includes(':')) { + // @ts-ignore + cleanedObj[`@${attrKey}`] = attributes[attrKey]; + } + } + } + } else { + const cleanedKey = key.split(':').pop(); + // @ts-ignore + cleanedObj[cleanedKey] = cleanObjectKeys(obj[key]); + } + } + } + + return cleanedObj; +} + +//export const CFDIXsd = LoadXsd.getInstance(); + +export default class Transform { + xml: any = {}; + xslPath = ''; + fullPath = ''; + constructor(xml: any) { + this.xml = xml; + } + + async run() { + const rear = await this.obtenerValores(this.xml['cfdi:Comprobante']); + return `||${rear.filter((e) => e).join('|')}||`; + } + + json(xslPath: string) { + this.xslPath = xslPath; + return this; + } + + warnings(type: string = 'silent') { + return this; + } + + private obtenerValores(obj: any, options: any = { tagKey: 'comprobante' }) { + const { tagKey = 'comprobante', ignore = false } = options; + let valores: (string | number)[] = []; + const omitKeys = [ + 'xmlns:cfdi', + 'xmlns:xsi', + 'xsi:schemaLocation', + 'Certificado', + 'xmlns:destruccion', + 'xmlns:iedu', + 'xmlns:pago10', + ]; + const miObjeto = { + comprobante: [ + '_attributes', + 'cfdi:InformacionGlobal', + 'cfdi:CfdiRelacionados', + 'cfdi:Emisor', + 'cfdi:Receptor', + 'cfdi:Conceptos', + 'cfdi:Impuestos', + 'cfdi:Complemento', + ], + concepto: [], + }; + + const ingnore: string[] = ['Sello']; + // @ts-ignore + const clavesOrdenadas = ignore ? Object.keys(obj) : miObjeto[tagKey]; + for (let key of clavesOrdenadas) { + if (!omitKeys.includes(key)) { + if (typeof obj[key] === 'object') { + valores = valores.concat( + this.obtenerValores(obj[key], { ignore: true }) + ); + } else { + if (!ingnore.includes(key)) { + valores.push(obj[key]); + } + } + } + } + + return valores; + } +} diff --git a/packages/cfdi/xml2json/test/check.test.ts b/packages/cfdi/xml2json/test/check.test.ts new file mode 100644 index 00000000..6ac59191 --- /dev/null +++ b/packages/cfdi/xml2json/test/check.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it, test } from 'vitest'; + +describe('blah', () => { + it('works', () => { + expect(2).toEqual(2); + }); +}); diff --git a/packages/cfdi/xml2json/tsconfig.json b/packages/cfdi/xml2json/tsconfig.json new file mode 100644 index 00000000..dd3d7e74 --- /dev/null +++ b/packages/cfdi/xml2json/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "./node_modules/@recreando/typescript-settings/profiles/default/tsconfig-base.json", + "compilerOptions": { + "lib": ["dom", "esnext"], + "types": [ "node" ], + "importHelpers": true, + // output .d.ts declaration files for consumers + "declaration": true, + // output .js.map sourcemap files for consumers + "sourceMap": true, + "noUnusedLocals": false, + "strict": true, + "noUnusedParameters": false, + } +} diff --git a/packages/cfdi/xsd/package.json b/packages/cfdi/xsd/package.json index 6c5c8943..c4f05198 100644 --- a/packages/cfdi/xsd/package.json +++ b/packages/cfdi/xsd/package.json @@ -75,8 +75,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -86,13 +86,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/clir/openssl/package.json b/packages/clir/openssl/package.json index 400c0fe2..85ea6329 100644 --- a/packages/clir/openssl/package.json +++ b/packages/clir/openssl/package.json @@ -55,8 +55,8 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@testing-library/dom": "^8.19.0", "@testing-library/jest-dom": "^5.16.1", @@ -67,13 +67,13 @@ "@types/testing-library__jest-dom": "^5.9.1", "chalk": "^4.0.0", "chokidar": "^3.5.2", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "husky": "^8.0.1", "jest": "^28.1.2", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/packages/clir/saxon-he/package.json b/packages/clir/saxon-he/package.json index 1cf7d00f..98ca5a2f 100644 --- a/packages/clir/saxon-he/package.json +++ b/packages/clir/saxon-he/package.json @@ -53,15 +53,15 @@ "@recreando/eslint-settings": "workspace:*", "@recreando/jest": "workspace:*", "@recreando/typescript-settings": "workspace:*", - "@rushstack/eslint-config": "^2.6.0", - "@rushstack/heft": "^0.45.1", + "@rushstack/eslint-config": "^4.0.2", + "@rushstack/heft": "^0.68.6", "@size-limit/preset-small-lib": "^7.0.8", "@types/node": "^18.11.3", - "eslint": "^8.26.0", + "eslint": "^8.57.0", "size-limit": "^7.0.8", "tsdx": "^0.14.1", "tslib": "^2.4.0", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "vitest": "2.1.3", "vite-tsconfig-paths": "~4.2.1", "@vitest/coverage-v8": "2.1.3", diff --git a/rigs/eslint/package.json b/rigs/eslint/package.json index 7ac5c118..c4759976 100644 --- a/rigs/eslint/package.json +++ b/rigs/eslint/package.json @@ -8,33 +8,27 @@ "_phase:build": "" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.13.0", + "eslint": "^8.57.0", "typescript": ">=3.0.0" }, "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.22.0", - "@typescript-eslint/parser": "^5.22.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-airbnb": "^19.0.4", + "@typescript-eslint/eslint-plugin": "^8.13.0", + "@typescript-eslint/parser": "^8.13.0", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-typescript": "^2.7.1", - "eslint-plugin-better-styled-components": "^1.1.2", "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^26.1.5", + "eslint-plugin-jest": "^28.9.0", "eslint-plugin-jsdoc": "^39.2.6", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-sort-destructure-keys": "^1.4.0", "prettier": "^2.6.2", "stylelint-config-recommended": "^5.0.0", - "stylelint-config-styled-components": "^0.1.1", "stylelint-order": "^4.1.0", - "stylelint-processor-styled-components": "^1.10.0", "stylelint": "^13.13.1" }, "devDependencies": { - "eslint": "^8.26.0", - "typescript": "^4.8.4" + "eslint": "^8.57.0", + "typescript": "^5.6.3" } } diff --git a/rigs/jest/package.json b/rigs/jest/package.json index 3d5f144b..f735953a 100644 --- a/rigs/jest/package.json +++ b/rigs/jest/package.json @@ -8,17 +8,13 @@ "_phase:build": "" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.13.0", + "eslint": "^6.0.0 || ^7.0.0 || ^9.14.0", "typescript": ">=3.0.0" }, "devDependencies": { "@babel/core": "^7.17.9", "@babel/preset-env": "^7.17.10", "@recreando/typescript-settings": "workspace:*", - "@testing-library/dom": "^8.19.0", - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^13.2.0", - "@testing-library/user-event": "^13.5.0", "@types/jest": "^27.5.0", "@types/node": "^18.11.3", "@types/testing-library__jest-dom": "^5.9.1", @@ -28,15 +24,12 @@ "identity-obj-proxy": "^3.0.0", "jest-environment-jsdom": "^28.1.0", "jest-light-runner": "^0.2.1", - "jest-styled-components": "^7.0.8", - "jest-transform-graphql": "^2.1.0", "jest-watch-typeahead": "^1.0.0", "jest": "^28.1.2", - "styled-components": "5.3.0", "ts-jest": "^28.0.3", "ts-loader": "9.2.6", "tsconfig-paths-webpack-plugin": "^3.5.2", - "typescript": "^4.8.4", + "typescript": "^5.6.3", "webpack": "^5.72.0" } } diff --git a/rigs/typescript/package.json b/rigs/typescript/package.json index 4a4c0d5b..f39b24d3 100644 --- a/rigs/typescript/package.json +++ b/rigs/typescript/package.json @@ -7,11 +7,11 @@ "build": "" }, "dependencies": { - "@rushstack/heft": "^0.45.1", - "@rushstack/heft-jest-plugin": "^0.3.1", - "eslint": "^8.26.0", - "jest-environment-node": "^27.5.1", - "typescript": "^4.8.4", + "@rushstack/heft": "^0.68.6", + "@rushstack/heft-jest-plugin": "^0.12.18", + "eslint": "^8.57.0", + "jest-environment-node": "^29.5.0", + "typescript": "^5.6.3", "tsconfig-paths": "^4.0.0" } } diff --git a/rigs/vite/index.ts b/rigs/vite/index.ts new file mode 100644 index 00000000..cdfdee3d --- /dev/null +++ b/rigs/vite/index.ts @@ -0,0 +1,3 @@ +import viteConfig from './vitest.config'; + +export default viteConfig; \ No newline at end of file diff --git a/rigs/vite/package.json b/rigs/vite/package.json new file mode 100644 index 00000000..fd521ef4 --- /dev/null +++ b/rigs/vite/package.json @@ -0,0 +1,22 @@ +{ + "name": "@recreando/vite", + "version": "1.0.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "test": "vitest", + "test:ci": "vitest run", + "test:coverage": "vitest run --coverage", + "test:ui": "vitest --ui" + }, + "dependencies": { + "vite": "^4.0.0" + }, + "devDependencies": { + "typescript": "^5.6.3", + "vitest": "2.1.3", + "vite-tsconfig-paths": "~4.2.1", + "@vitest/coverage-v8": "2.1.3", + "@vitest/ui": "2.1.3" + } +} diff --git a/rigs/vite/test/check.test.ts b/rigs/vite/test/check.test.ts new file mode 100644 index 00000000..6ac59191 --- /dev/null +++ b/rigs/vite/test/check.test.ts @@ -0,0 +1,7 @@ +import { describe, expect, it, test } from 'vitest'; + +describe('blah', () => { + it('works', () => { + expect(2).toEqual(2); + }); +}); diff --git a/rigs/vite/tsconfig.json b/rigs/vite/tsconfig.json new file mode 100644 index 00000000..a9686245 --- /dev/null +++ b/rigs/vite/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "outDir": "dist", + "declaration": true, + "esModuleInterop": true, + "skipLibCheck": true, + "strict": true + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] + } + \ No newline at end of file diff --git a/rigs/vite/vitest.config.mts b/rigs/vite/vitest.config.mts new file mode 100644 index 00000000..82b5d831 --- /dev/null +++ b/rigs/vite/vitest.config.mts @@ -0,0 +1,23 @@ +import { defineConfig } from 'vitest/config'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import { resolve } from 'path'; +export default defineConfig({ + test: { + reporters: ['default'], + coverage: { + include: ['src/**/*.ts'], + exclude: ['**/node_modules/**', '**/test/**'], // Excluir node_modules y la carpeta de tests + }, + }, + plugins: [ + //tsconfigPaths({}), + ], + resolve: { + alias: { + '@cfdi/xsd': resolve(__dirname, '../xsd/src'), + '@cfdi/complementos': resolve(__dirname, '../complementos/src'), + '@cfdi/csd': resolve(__dirname, '../csd/src'), + '@saxon-he/cli': resolve(__dirname, '../../clir/saxon-he/src'), + }, + }, +}); diff --git a/rush.json b/rush.json index 33e54bf6..05d5af64 100644 --- a/rush.json +++ b/rush.json @@ -36,7 +36,9 @@ "variants": [], "telemetryEnabled": false, "allowedProjectTags": [ - "beta" + "main", + "beta", + "dev" ], "projects": [ { @@ -51,6 +53,12 @@ "reviewCategory": "libraries", "shouldPublish": false }, + { + "packageName": "@recreando/vite", + "projectFolder": "rigs/vite", + "reviewCategory": "libraries", + "shouldPublish": false + }, { "packageName": "@recreando/eslint-settings", "projectFolder": "rigs/eslint", @@ -159,6 +167,41 @@ "versionPolicyName": "saxon", "reviewCategory": "libraries", "shouldPublish": true + }, + { + "packageName": "@cfdi/types", + "projectFolder": "packages/cfdi/types", + "versionPolicyName": "types", + "reviewCategory": "libraries", + "shouldPublish": true + }, + { + "packageName": "@cfdi/transform", + "projectFolder": "packages/cfdi/transform", + "versionPolicyName": "transform", + "reviewCategory": "libraries", + "shouldPublish": true + }, + { + "packageName": "@cfdi/xml2json", + "projectFolder": "packages/cfdi/xml2json", + "versionPolicyName": "xml2json", + "reviewCategory": "libraries", + "shouldPublish": true + }, + { + "packageName": "@cfdi/expresiones", + "projectFolder": "packages/cfdi/expresiones", + "versionPolicyName": "expresiones", + "reviewCategory": "libraries", + "shouldPublish": true + }, + { + "packageName": "@cfdi/elements", + "projectFolder": "packages/cfdi/elements", + "versionPolicyName": "elements", + "reviewCategory": "libraries", + "shouldPublish": true } ] } \ No newline at end of file