Code analyzer: find multiple hooks in single patch, add tests (#39566)
This commit is contained in:
parent
4549bc82c5
commit
3a6c3cde9f
705
pnpm-lock.yaml
705
pnpm-lock.yaml
|
@ -3486,6 +3486,9 @@ importers:
|
||||||
specifier: ^8.3.2
|
specifier: ^8.3.2
|
||||||
version: 8.3.2
|
version: 8.3.2
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@types/jest':
|
||||||
|
specifier: ^27.4.1
|
||||||
|
version: 27.4.1
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^16.18.18
|
specifier: ^16.18.18
|
||||||
version: 16.18.21
|
version: 16.18.21
|
||||||
|
@ -3495,6 +3498,12 @@ importers:
|
||||||
eslint:
|
eslint:
|
||||||
specifier: ^8.32.0
|
specifier: ^8.32.0
|
||||||
version: 8.32.0
|
version: 8.32.0
|
||||||
|
jest:
|
||||||
|
specifier: ^29.6.2
|
||||||
|
version: 29.6.2(@types/node@16.18.21)(ts-node@10.9.1)
|
||||||
|
ts-jest:
|
||||||
|
specifier: ^29.1.1
|
||||||
|
version: 29.1.1(@babel/core@7.21.3)(jest@29.6.2)(typescript@5.1.6)
|
||||||
ts-node:
|
ts-node:
|
||||||
specifier: ^10.2.1
|
specifier: ^10.2.1
|
||||||
version: 10.9.1(@types/node@16.18.21)(typescript@5.1.6)
|
version: 10.9.1(@types/node@16.18.21)(typescript@5.1.6)
|
||||||
|
@ -4182,7 +4191,7 @@ packages:
|
||||||
'@babel/core': ^7.0.0-0
|
'@babel/core': ^7.0.0-0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.21.3
|
'@babel/core': 7.21.3
|
||||||
'@jridgewell/trace-mapping': 0.3.17
|
'@jridgewell/trace-mapping': 0.3.16
|
||||||
commander: 4.1.1
|
commander: 4.1.1
|
||||||
convert-source-map: 1.8.0
|
convert-source-map: 1.8.0
|
||||||
fs-readdir-recursive: 1.1.0
|
fs-readdir-recursive: 1.1.0
|
||||||
|
@ -10847,6 +10856,18 @@ packages:
|
||||||
jest-util: 29.5.0
|
jest-util: 29.5.0
|
||||||
slash: 3.0.0
|
slash: 3.0.0
|
||||||
|
|
||||||
|
/@jest/console@29.6.2:
|
||||||
|
resolution: {integrity: sha512-0N0yZof5hi44HAR2pPS+ikJ3nzKNoZdVu8FffRf3wy47I7Dm7etk/3KetMdRUqzVd16V4O2m2ISpNTbnIuqy1w==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
chalk: 4.1.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/core@24.9.0:
|
/@jest/core@24.9.0:
|
||||||
resolution: {integrity: sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==}
|
resolution: {integrity: sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11050,6 +11071,49 @@ packages:
|
||||||
- ts-node
|
- ts-node
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@jest/core@29.6.2(ts-node@10.9.1):
|
||||||
|
resolution: {integrity: sha512-Oj+5B+sDMiMWLhPFF+4/DvHOf+U10rgvCLGPHP8Xlsy/7QxS51aU/eBngudHlJXnaWD5EohAgJ4js+T6pa+zOg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
peerDependencies:
|
||||||
|
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
node-notifier:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@jest/console': 29.6.2
|
||||||
|
'@jest/reporters': 29.6.2
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/transform': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
ansi-escapes: 4.3.2
|
||||||
|
chalk: 4.1.2
|
||||||
|
ci-info: 3.2.0
|
||||||
|
exit: 0.1.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-changed-files: 29.5.0
|
||||||
|
jest-config: 29.6.2(@types/node@16.18.21)(ts-node@10.9.1)
|
||||||
|
jest-haste-map: 29.6.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-regex-util: 29.4.3
|
||||||
|
jest-resolve: 29.6.2
|
||||||
|
jest-resolve-dependencies: 29.6.2
|
||||||
|
jest-runner: 29.6.2
|
||||||
|
jest-runtime: 29.6.2
|
||||||
|
jest-snapshot: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-validate: 29.6.2
|
||||||
|
jest-watcher: 29.6.2
|
||||||
|
micromatch: 4.0.5
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- babel-plugin-macros
|
||||||
|
- supports-color
|
||||||
|
- ts-node
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/create-cache-key-function@27.5.1:
|
/@jest/create-cache-key-function@27.5.1:
|
||||||
resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==}
|
resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==}
|
||||||
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
|
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
|
||||||
|
@ -11105,12 +11169,29 @@ packages:
|
||||||
'@types/node': 16.18.21
|
'@types/node': 16.18.21
|
||||||
jest-mock: 29.5.0
|
jest-mock: 29.5.0
|
||||||
|
|
||||||
|
/@jest/environment@29.6.2:
|
||||||
|
resolution: {integrity: sha512-AEcW43C7huGd/vogTddNNTDRpO6vQ2zaQNrttvWV18ArBx9Z56h7BIsXkNFJVOO4/kblWEQz30ckw0+L3izc+Q==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/fake-timers': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
jest-mock: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/expect-utils@29.5.0:
|
/@jest/expect-utils@29.5.0:
|
||||||
resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==}
|
resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
jest-get-type: 29.4.3
|
jest-get-type: 29.4.3
|
||||||
|
|
||||||
|
/@jest/expect-utils@29.6.2:
|
||||||
|
resolution: {integrity: sha512-6zIhM8go3RV2IG4aIZaZbxwpOzz3ZiM23oxAlkquOIole+G6TrbeXnykxWYlqF7kz2HlBjdKtca20x9atkEQYg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/expect@29.5.0:
|
/@jest/expect@29.5.0:
|
||||||
resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==}
|
resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
@ -11120,6 +11201,16 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/@jest/expect@29.6.2:
|
||||||
|
resolution: {integrity: sha512-m6DrEJxVKjkELTVAztTLyS/7C92Y2b0VYqmDROYKLLALHn8T/04yPs70NADUYPrV3ruI+H3J0iUIuhkjp7vkfg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
expect: 29.6.2
|
||||||
|
jest-snapshot: 29.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/fake-timers@24.9.0:
|
/@jest/fake-timers@24.9.0:
|
||||||
resolution: {integrity: sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==}
|
resolution: {integrity: sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11176,6 +11267,18 @@ packages:
|
||||||
jest-mock: 29.5.0
|
jest-mock: 29.5.0
|
||||||
jest-util: 29.5.0
|
jest-util: 29.5.0
|
||||||
|
|
||||||
|
/@jest/fake-timers@29.6.2:
|
||||||
|
resolution: {integrity: sha512-euZDmIlWjm1Z0lJ1D0f7a0/y5Kh/koLFMUBE5SUYWrmy8oNhJpbTBDAP6CxKnadcMLDoDf4waRYCe35cH6G6PA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@sinonjs/fake-timers': 10.0.2
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-mock: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/globals@25.5.2:
|
/@jest/globals@25.5.2:
|
||||||
resolution: {integrity: sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==}
|
resolution: {integrity: sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==}
|
||||||
engines: {node: '>= 8.3'}
|
engines: {node: '>= 8.3'}
|
||||||
|
@ -11213,6 +11316,18 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/@jest/globals@29.6.2:
|
||||||
|
resolution: {integrity: sha512-cjuJmNDjs6aMijCmSa1g2TNG4Lby/AeU7/02VtpW+SLcZXzOLK2GpN2nLqcFjmhy3B3AoPeQVx7BnyOf681bAw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/environment': 29.6.2
|
||||||
|
'@jest/expect': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
jest-mock: 29.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/reporters@24.9.0:
|
/@jest/reporters@24.9.0:
|
||||||
resolution: {integrity: sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==}
|
resolution: {integrity: sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11386,12 +11501,56 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@jest/reporters@29.6.2:
|
||||||
|
resolution: {integrity: sha512-sWtijrvIav8LgfJZlrGCdN0nP2EWbakglJY49J1Y5QihcQLfy7ovyxxjJBRXMNltgt4uPtEcFmIMbVshEDfFWw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
peerDependencies:
|
||||||
|
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
node-notifier:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@bcoe/v8-coverage': 0.2.3
|
||||||
|
'@jest/console': 29.6.2
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/transform': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@jridgewell/trace-mapping': 0.3.19
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
chalk: 4.1.2
|
||||||
|
collect-v8-coverage: 1.0.1
|
||||||
|
exit: 0.1.2
|
||||||
|
glob: 7.2.3
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
istanbul-lib-coverage: 3.2.0
|
||||||
|
istanbul-lib-instrument: 5.1.0
|
||||||
|
istanbul-lib-report: 3.0.0
|
||||||
|
istanbul-lib-source-maps: 4.0.1
|
||||||
|
istanbul-reports: 3.1.4
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-worker: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
string-length: 4.0.2
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
v8-to-istanbul: 9.1.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/schemas@29.4.3:
|
/@jest/schemas@29.4.3:
|
||||||
resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==}
|
resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==}
|
||||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sinclair/typebox': 0.25.24
|
'@sinclair/typebox': 0.25.24
|
||||||
|
|
||||||
|
/@jest/schemas@29.6.0:
|
||||||
|
resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@sinclair/typebox': 0.27.8
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/source-map@24.9.0:
|
/@jest/source-map@24.9.0:
|
||||||
resolution: {integrity: sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==}
|
resolution: {integrity: sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11435,6 +11594,15 @@ packages:
|
||||||
callsites: 3.1.0
|
callsites: 3.1.0
|
||||||
graceful-fs: 4.2.9
|
graceful-fs: 4.2.9
|
||||||
|
|
||||||
|
/@jest/source-map@29.6.0:
|
||||||
|
resolution: {integrity: sha512-oA+I2SHHQGxDCZpbrsCQSoMLb3Bz547JnM+jUr9qEbuw0vQlWZfpPS7CO9J7XiwKicEz9OFn/IYoLkkiUD7bzA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/trace-mapping': 0.3.19
|
||||||
|
callsites: 3.1.0
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/test-result@24.9.0:
|
/@jest/test-result@24.9.0:
|
||||||
resolution: {integrity: sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==}
|
resolution: {integrity: sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11482,6 +11650,16 @@ packages:
|
||||||
'@types/istanbul-lib-coverage': 2.0.3
|
'@types/istanbul-lib-coverage': 2.0.3
|
||||||
collect-v8-coverage: 1.0.1
|
collect-v8-coverage: 1.0.1
|
||||||
|
|
||||||
|
/@jest/test-result@29.6.2:
|
||||||
|
resolution: {integrity: sha512-3VKFXzcV42EYhMCsJQURptSqnyjqCGbtLuX5Xxb6Pm6gUf1wIRIl+mandIRGJyWKgNKYF9cnstti6Ls5ekduqw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/console': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/istanbul-lib-coverage': 2.0.3
|
||||||
|
collect-v8-coverage: 1.0.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/test-sequencer@24.9.0:
|
/@jest/test-sequencer@24.9.0:
|
||||||
resolution: {integrity: sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==}
|
resolution: {integrity: sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11550,6 +11728,16 @@ packages:
|
||||||
slash: 3.0.0
|
slash: 3.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@jest/test-sequencer@29.6.2:
|
||||||
|
resolution: {integrity: sha512-GVYi6PfPwVejO7slw6IDO0qKVum5jtrJ3KoLGbgBWyr2qr4GaxFV6su+ZAjdTX75Sr1DkMFRk09r2ZVa+wtCGw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-haste-map: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/transform@24.9.0:
|
/@jest/transform@24.9.0:
|
||||||
resolution: {integrity: sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==}
|
resolution: {integrity: sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11664,6 +11852,29 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/@jest/transform@29.6.2:
|
||||||
|
resolution: {integrity: sha512-ZqCqEISr58Ce3U+buNFJYUktLJZOggfyvR+bZMaiV1e8B1SIvJbwZMrYz3gx/KAPn9EXmOmN+uB08yLCjWkQQg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@babel/core': 7.21.3
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@jridgewell/trace-mapping': 0.3.19
|
||||||
|
babel-plugin-istanbul: 6.1.1
|
||||||
|
chalk: 4.1.2
|
||||||
|
convert-source-map: 2.0.0
|
||||||
|
fast-json-stable-stringify: 2.1.0
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-haste-map: 29.6.2
|
||||||
|
jest-regex-util: 29.4.3
|
||||||
|
jest-util: 29.6.2
|
||||||
|
micromatch: 4.0.5
|
||||||
|
pirates: 4.0.5
|
||||||
|
slash: 3.0.0
|
||||||
|
write-file-atomic: 4.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jest/types@24.9.0:
|
/@jest/types@24.9.0:
|
||||||
resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==}
|
resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -11714,6 +11925,18 @@ packages:
|
||||||
'@types/yargs': 17.0.24
|
'@types/yargs': 17.0.24
|
||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
|
|
||||||
|
/@jest/types@29.6.1:
|
||||||
|
resolution: {integrity: sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/schemas': 29.6.0
|
||||||
|
'@types/istanbul-lib-coverage': 2.0.3
|
||||||
|
'@types/istanbul-reports': 3.0.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
'@types/yargs': 17.0.24
|
||||||
|
chalk: 4.1.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jridgewell/gen-mapping@0.1.1:
|
/@jridgewell/gen-mapping@0.1.1:
|
||||||
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
|
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
|
@ -11745,7 +11968,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/resolve-uri': 3.1.0
|
'@jridgewell/resolve-uri': 3.1.0
|
||||||
'@jridgewell/sourcemap-codec': 1.4.14
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jridgewell/trace-mapping@0.3.17:
|
/@jridgewell/trace-mapping@0.3.17:
|
||||||
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
|
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
|
||||||
|
@ -11753,6 +11975,13 @@ packages:
|
||||||
'@jridgewell/resolve-uri': 3.1.0
|
'@jridgewell/resolve-uri': 3.1.0
|
||||||
'@jridgewell/sourcemap-codec': 1.4.14
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
|
|
||||||
|
/@jridgewell/trace-mapping@0.3.19:
|
||||||
|
resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==}
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/resolve-uri': 3.1.0
|
||||||
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@jridgewell/trace-mapping@0.3.9:
|
/@jridgewell/trace-mapping@0.3.9:
|
||||||
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
|
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -13043,6 +13272,10 @@ packages:
|
||||||
/@sinclair/typebox@0.25.24:
|
/@sinclair/typebox@0.25.24:
|
||||||
resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
|
resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
|
||||||
|
|
||||||
|
/@sinclair/typebox@0.27.8:
|
||||||
|
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@sindresorhus/is@4.6.0:
|
/@sindresorhus/is@4.6.0:
|
||||||
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
|
resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
@ -21999,6 +22232,24 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/babel-jest@29.6.2(@babel/core@7.21.3):
|
||||||
|
resolution: {integrity: sha512-BYCzImLos6J3BH/+HvUCHG1dTf2MzmAB4jaVxHV+29RZLjR29XuYTmsf2sdDwkrb+FczkGo3kOhE7ga6sI0P4A==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
peerDependencies:
|
||||||
|
'@babel/core': ^7.8.0
|
||||||
|
dependencies:
|
||||||
|
'@babel/core': 7.21.3
|
||||||
|
'@jest/transform': 29.6.2
|
||||||
|
'@types/babel__core': 7.1.16
|
||||||
|
babel-plugin-istanbul: 6.1.1
|
||||||
|
babel-preset-jest: 29.5.0(@babel/core@7.21.3)
|
||||||
|
chalk: 4.1.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
slash: 3.0.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/babel-loader@8.2.3(@babel/core@7.17.8)(webpack@5.70.0):
|
/babel-loader@8.2.3(@babel/core@7.17.8)(webpack@5.70.0):
|
||||||
resolution: {integrity: sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==}
|
resolution: {integrity: sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==}
|
||||||
engines: {node: '>= 8.9'}
|
engines: {node: '>= 8.9'}
|
||||||
|
@ -25455,6 +25706,15 @@ packages:
|
||||||
/dedent@0.7.0:
|
/dedent@0.7.0:
|
||||||
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
|
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
|
||||||
|
|
||||||
|
/dedent@1.5.1:
|
||||||
|
resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
|
||||||
|
peerDependencies:
|
||||||
|
babel-plugin-macros: ^3.1.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
babel-plugin-macros:
|
||||||
|
optional: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/deep-eql@3.0.1:
|
/deep-eql@3.0.1:
|
||||||
resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==}
|
resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==}
|
||||||
engines: {node: '>=0.12'}
|
engines: {node: '>=0.12'}
|
||||||
|
@ -27534,6 +27794,18 @@ packages:
|
||||||
jest-message-util: 29.5.0
|
jest-message-util: 29.5.0
|
||||||
jest-util: 29.5.0
|
jest-util: 29.5.0
|
||||||
|
|
||||||
|
/expect@29.6.2:
|
||||||
|
resolution: {integrity: sha512-iAErsLxJ8C+S02QbLAwgSGSezLQK+XXRDt8IuFXFpwCNw2ECmzZSmjKcCaFVp5VRMk+WAvz6h6jokzEzBFZEuA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/expect-utils': 29.6.2
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
jest-matcher-utils: 29.6.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/expose-loader@3.1.0(webpack@5.70.0):
|
/expose-loader@3.1.0(webpack@5.70.0):
|
||||||
resolution: {integrity: sha512-2RExSo0yJiqP+xiUue13jQa2IHE8kLDzTI7b6kn+vUlBVvlzNSiLDzo4e5Pp5J039usvTUnxZ8sUOhv0Kg15NA==}
|
resolution: {integrity: sha512-2RExSo0yJiqP+xiUue13jQa2IHE8kLDzTI7b6kn+vUlBVvlzNSiLDzo4e5Pp5J039usvTUnxZ8sUOhv0Kg15NA==}
|
||||||
engines: {node: '>= 12.13.0'}
|
engines: {node: '>= 12.13.0'}
|
||||||
|
@ -31337,6 +31609,35 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jest-circus@29.6.2:
|
||||||
|
resolution: {integrity: sha512-G9mN+KOYIUe2sB9kpJkO9Bk18J4dTDArNFPwoZ7WKHKel55eKIS/u2bLthxgojwlf9NLCVQfgzM/WsOVvoC6Fw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/environment': 29.6.2
|
||||||
|
'@jest/expect': 29.6.2
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
chalk: 4.1.2
|
||||||
|
co: 4.6.0
|
||||||
|
dedent: 1.5.1
|
||||||
|
is-generator-fn: 2.1.0
|
||||||
|
jest-each: 29.6.2
|
||||||
|
jest-matcher-utils: 29.6.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-runtime: 29.6.2
|
||||||
|
jest-snapshot: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
p-limit: 3.1.0
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
pure-rand: 6.0.1
|
||||||
|
slash: 3.0.0
|
||||||
|
stack-utils: 2.0.5
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- babel-plugin-macros
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-cli@24.9.0:
|
/jest-cli@24.9.0:
|
||||||
resolution: {integrity: sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==}
|
resolution: {integrity: sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -31470,6 +31771,35 @@ packages:
|
||||||
- ts-node
|
- ts-node
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jest-cli@29.6.2(@types/node@16.18.21)(ts-node@10.9.1):
|
||||||
|
resolution: {integrity: sha512-TT6O247v6dCEX2UGHGyflMpxhnrL0DNqP2fRTKYm3nJJpCTfXX3GCMQPGFjXDoj0i5/Blp3jriKXFgdfmbYB6Q==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
node-notifier:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@jest/core': 29.6.2(ts-node@10.9.1)
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
chalk: 4.1.2
|
||||||
|
exit: 0.1.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
import-local: 3.0.3
|
||||||
|
jest-config: 29.6.2(@types/node@16.18.21)(ts-node@10.9.1)
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-validate: 29.6.2
|
||||||
|
prompts: 2.4.2
|
||||||
|
yargs: 17.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@types/node'
|
||||||
|
- babel-plugin-macros
|
||||||
|
- supports-color
|
||||||
|
- ts-node
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-config@24.9.0:
|
/jest-config@24.9.0:
|
||||||
resolution: {integrity: sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==}
|
resolution: {integrity: sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -31640,6 +31970,47 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jest-config@29.6.2(@types/node@16.18.21)(ts-node@10.9.1):
|
||||||
|
resolution: {integrity: sha512-VxwFOC8gkiJbuodG9CPtMRjBUNZEHxwfQXmIudSTzFWxaci3Qub1ddTRbFNQlD/zUeaifLndh/eDccFX4wCMQw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
peerDependencies:
|
||||||
|
'@types/node': '*'
|
||||||
|
ts-node: '>=9.0.0'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@types/node':
|
||||||
|
optional: true
|
||||||
|
ts-node:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@babel/core': 7.21.3
|
||||||
|
'@jest/test-sequencer': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
babel-jest: 29.6.2(@babel/core@7.21.3)
|
||||||
|
chalk: 4.1.2
|
||||||
|
ci-info: 3.2.0
|
||||||
|
deepmerge: 4.3.0
|
||||||
|
glob: 7.2.3
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-circus: 29.6.2
|
||||||
|
jest-environment-node: 29.6.2
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
jest-regex-util: 29.4.3
|
||||||
|
jest-resolve: 29.6.2
|
||||||
|
jest-runner: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-validate: 29.6.2
|
||||||
|
micromatch: 4.0.5
|
||||||
|
parse-json: 5.2.0
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
strip-json-comments: 3.1.1
|
||||||
|
ts-node: 10.9.1(@types/node@16.18.21)(typescript@5.1.6)
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- babel-plugin-macros
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-dev-server@4.4.0:
|
/jest-dev-server@4.4.0:
|
||||||
resolution: {integrity: sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A==}
|
resolution: {integrity: sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -31730,6 +32101,16 @@ packages:
|
||||||
jest-get-type: 29.4.3
|
jest-get-type: 29.4.3
|
||||||
pretty-format: 29.5.0
|
pretty-format: 29.5.0
|
||||||
|
|
||||||
|
/jest-diff@29.6.2:
|
||||||
|
resolution: {integrity: sha512-t+ST7CB9GX5F2xKwhwCf0TAR17uNDiaPTZnVymP9lw0lssa9vG+AFyDZoeIHStU3WowFFwT+ky+er0WVl2yGhA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
chalk: 4.1.2
|
||||||
|
diff-sequences: 29.4.3
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-docblock@24.9.0:
|
/jest-docblock@24.9.0:
|
||||||
resolution: {integrity: sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==}
|
resolution: {integrity: sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -31819,6 +32200,17 @@ packages:
|
||||||
pretty-format: 29.5.0
|
pretty-format: 29.5.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jest-each@29.6.2:
|
||||||
|
resolution: {integrity: sha512-MsrsqA0Ia99cIpABBc3izS1ZYoYfhIy0NNWqPSE0YXbQjwchyt6B1HD2khzyPe1WiJA7hbxXy77ZoUQxn8UlSw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
chalk: 4.1.2
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
jest-util: 29.6.2
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-environment-jsdom@24.9.0:
|
/jest-environment-jsdom@24.9.0:
|
||||||
resolution: {integrity: sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==}
|
resolution: {integrity: sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -31968,6 +32360,18 @@ packages:
|
||||||
jest-mock: 29.5.0
|
jest-mock: 29.5.0
|
||||||
jest-util: 29.5.0
|
jest-util: 29.5.0
|
||||||
|
|
||||||
|
/jest-environment-node@29.6.2:
|
||||||
|
resolution: {integrity: sha512-YGdFeZ3T9a+/612c5mTQIllvWkddPbYcN2v95ZH24oWMbGA4GGS2XdIF92QMhUhvrjjuQWYgUGW2zawOyH63MQ==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/environment': 29.6.2
|
||||||
|
'@jest/fake-timers': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
jest-mock: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-environment-puppeteer@4.4.0:
|
/jest-environment-puppeteer@4.4.0:
|
||||||
resolution: {integrity: sha512-iV8S8+6qkdTM6OBR/M9gKywEk8GDSOe05hspCs5D8qKSwtmlUfdtHfB4cakdc68lC6YfK3AUsLirpfgodCHjzQ==}
|
resolution: {integrity: sha512-iV8S8+6qkdTM6OBR/M9gKywEk8GDSOe05hspCs5D8qKSwtmlUfdtHfB4cakdc68lC6YfK3AUsLirpfgodCHjzQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -32116,6 +32520,25 @@ packages:
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
|
|
||||||
|
/jest-haste-map@29.6.2:
|
||||||
|
resolution: {integrity: sha512-+51XleTDAAysvU8rT6AnS1ZJ+WHVNqhj1k6nTvN2PYP+HjU3kqlaKQ1Lnw3NYW3bm2r8vq82X0Z1nDDHZMzHVA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/graceful-fs': 4.1.5
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
anymatch: 3.1.2
|
||||||
|
fb-watchman: 2.0.1
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-regex-util: 29.4.3
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-worker: 29.6.2
|
||||||
|
micromatch: 4.0.5
|
||||||
|
walker: 1.0.8
|
||||||
|
optionalDependencies:
|
||||||
|
fsevents: 2.3.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-jasmine2@24.9.0:
|
/jest-jasmine2@24.9.0:
|
||||||
resolution: {integrity: sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==}
|
resolution: {integrity: sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -32260,6 +32683,14 @@ packages:
|
||||||
jest-get-type: 29.4.3
|
jest-get-type: 29.4.3
|
||||||
pretty-format: 29.5.0
|
pretty-format: 29.5.0
|
||||||
|
|
||||||
|
/jest-leak-detector@29.6.2:
|
||||||
|
resolution: {integrity: sha512-aNqYhfp5uYEO3tdWMb2bfWv6f0b4I0LOxVRpnRLAeque2uqOVVMLh6khnTcE2qJ5wAKop0HcreM1btoysD6bPQ==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-matcher-utils@24.9.0:
|
/jest-matcher-utils@24.9.0:
|
||||||
resolution: {integrity: sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==}
|
resolution: {integrity: sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -32307,6 +32738,16 @@ packages:
|
||||||
jest-get-type: 29.4.3
|
jest-get-type: 29.4.3
|
||||||
pretty-format: 29.5.0
|
pretty-format: 29.5.0
|
||||||
|
|
||||||
|
/jest-matcher-utils@29.6.2:
|
||||||
|
resolution: {integrity: sha512-4LiAk3hSSobtomeIAzFTe+N8kL6z0JtF3n6I4fg29iIW7tt99R7ZcIFW34QkX+DuVrf+CUe6wuVOpm7ZKFJzZQ==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
chalk: 4.1.2
|
||||||
|
jest-diff: 29.6.2
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-message-util@24.9.0:
|
/jest-message-util@24.9.0:
|
||||||
resolution: {integrity: sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==}
|
resolution: {integrity: sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -32380,6 +32821,21 @@ packages:
|
||||||
slash: 3.0.0
|
slash: 3.0.0
|
||||||
stack-utils: 2.0.5
|
stack-utils: 2.0.5
|
||||||
|
|
||||||
|
/jest-message-util@29.6.2:
|
||||||
|
resolution: {integrity: sha512-vnIGYEjoPSuRqV8W9t+Wow95SDp6KPX2Uf7EoeG9G99J2OVh7OSwpS4B6J0NfpEIpfkBNHlBZpA2rblEuEFhZQ==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@babel/code-frame': 7.18.6
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/stack-utils': 2.0.1
|
||||||
|
chalk: 4.1.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
micromatch: 4.0.5
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
stack-utils: 2.0.5
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-mock-extended@1.0.18(jest@27.5.1)(typescript@5.1.6):
|
/jest-mock-extended@1.0.18(jest@27.5.1)(typescript@5.1.6):
|
||||||
resolution: {integrity: sha512-qf1n7lIa2dTxxPIBr+FlXrbj3hnV1sG9DPZsrr2H/8W+Jw0wt6OmeOQsPcjRuW8EXIECC9pDXsSIfEdn+HP7JQ==}
|
resolution: {integrity: sha512-qf1n7lIa2dTxxPIBr+FlXrbj3hnV1sG9DPZsrr2H/8W+Jw0wt6OmeOQsPcjRuW8EXIECC9pDXsSIfEdn+HP7JQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -32428,6 +32884,15 @@ packages:
|
||||||
'@types/node': 16.18.21
|
'@types/node': 16.18.21
|
||||||
jest-util: 29.5.0
|
jest-util: 29.5.0
|
||||||
|
|
||||||
|
/jest-mock@29.6.2:
|
||||||
|
resolution: {integrity: sha512-hoSv3lb3byzdKfwqCuT6uTscan471GUECqgNYykg6ob0yiAw3zYc7OrPnI9Qv8Wwoa4lC7AZ9hyS4AiIx5U2zg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
jest-util: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-pnp-resolver@1.2.2(jest-resolve@24.9.0):
|
/jest-pnp-resolver@1.2.2(jest-resolve@24.9.0):
|
||||||
resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==}
|
resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
@ -32486,6 +32951,18 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
jest-resolve: 29.5.0
|
jest-resolve: 29.5.0
|
||||||
|
|
||||||
|
/jest-pnp-resolver@1.2.2(jest-resolve@29.6.2):
|
||||||
|
resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
peerDependencies:
|
||||||
|
jest-resolve: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
jest-resolve:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
jest-resolve: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-puppeteer@4.4.0(puppeteer-core@3.0.0):
|
/jest-puppeteer@4.4.0(puppeteer-core@3.0.0):
|
||||||
resolution: {integrity: sha512-ZaiCTlPZ07B9HW0erAWNX6cyzBqbXMM7d2ugai4epBDKpKvRDpItlRQC6XjERoJELKZsPziFGS0OhhUvTvQAXA==}
|
resolution: {integrity: sha512-ZaiCTlPZ07B9HW0erAWNX6cyzBqbXMM7d2ugai4epBDKpKvRDpItlRQC6XjERoJELKZsPziFGS0OhhUvTvQAXA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -32584,6 +33061,16 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jest-resolve-dependencies@29.6.2:
|
||||||
|
resolution: {integrity: sha512-LGqjDWxg2fuQQm7ypDxduLu/m4+4Lb4gczc13v51VMZbVP5tSBILqVx8qfWcsdP8f0G7aIqByIALDB0R93yL+w==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
jest-regex-util: 29.4.3
|
||||||
|
jest-snapshot: 29.6.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-resolve@24.9.0:
|
/jest-resolve@24.9.0:
|
||||||
resolution: {integrity: sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==}
|
resolution: {integrity: sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -32653,6 +33140,21 @@ packages:
|
||||||
resolve.exports: 2.0.2
|
resolve.exports: 2.0.2
|
||||||
slash: 3.0.0
|
slash: 3.0.0
|
||||||
|
|
||||||
|
/jest-resolve@29.6.2:
|
||||||
|
resolution: {integrity: sha512-G/iQUvZWI5e3SMFssc4ug4dH0aZiZpsDq9o1PtXTV1210Ztyb2+w+ZgQkB3iOiC5SmAEzJBOHWz6Hvrd+QnNPw==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
chalk: 4.1.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-haste-map: 29.6.2
|
||||||
|
jest-pnp-resolver: 1.2.2(jest-resolve@29.6.2)
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-validate: 29.6.2
|
||||||
|
resolve: 1.22.1
|
||||||
|
resolve.exports: 2.0.2
|
||||||
|
slash: 3.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-runner-groups@2.2.0(jest-docblock@29.4.3)(jest-runner@29.5.0):
|
/jest-runner-groups@2.2.0(jest-docblock@29.4.3)(jest-runner@29.5.0):
|
||||||
resolution: {integrity: sha512-Sp/B9ZX0CDAKa9dIkgH0sGyl2eDuScV4SVvOxqhBMxqWpsNAkmol/C58aTFmPWZj+C0ZTW1r1BSu66MTCN+voA==}
|
resolution: {integrity: sha512-Sp/B9ZX0CDAKa9dIkgH0sGyl2eDuScV4SVvOxqhBMxqWpsNAkmol/C58aTFmPWZj+C0ZTW1r1BSu66MTCN+voA==}
|
||||||
engines: {node: '>= 10.14.2'}
|
engines: {node: '>= 10.14.2'}
|
||||||
|
@ -32814,6 +33316,35 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/jest-runner@29.6.2:
|
||||||
|
resolution: {integrity: sha512-wXOT/a0EspYgfMiYHxwGLPCZfC0c38MivAlb2lMEAlwHINKemrttu1uSbcGbfDV31sFaPWnWJPmb2qXM8pqZ4w==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/console': 29.6.2
|
||||||
|
'@jest/environment': 29.6.2
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/transform': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
chalk: 4.1.2
|
||||||
|
emittery: 0.13.1
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-docblock: 29.4.3
|
||||||
|
jest-environment-node: 29.6.2
|
||||||
|
jest-haste-map: 29.6.2
|
||||||
|
jest-leak-detector: 29.6.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-resolve: 29.6.2
|
||||||
|
jest-runtime: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
jest-watcher: 29.6.2
|
||||||
|
jest-worker: 29.6.2
|
||||||
|
p-limit: 3.1.0
|
||||||
|
source-map-support: 0.5.13
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-runtime@24.9.0:
|
/jest-runtime@24.9.0:
|
||||||
resolution: {integrity: sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==}
|
resolution: {integrity: sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -32984,6 +33515,36 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/jest-runtime@29.6.2:
|
||||||
|
resolution: {integrity: sha512-2X9dqK768KufGJyIeLmIzToDmsN0m7Iek8QNxRSI/2+iPFYHF0jTwlO3ftn7gdKd98G/VQw9XJCk77rbTGZnJg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/environment': 29.6.2
|
||||||
|
'@jest/fake-timers': 29.6.2
|
||||||
|
'@jest/globals': 29.6.2
|
||||||
|
'@jest/source-map': 29.6.0
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/transform': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
chalk: 4.1.2
|
||||||
|
cjs-module-lexer: 1.2.2
|
||||||
|
collect-v8-coverage: 1.0.1
|
||||||
|
glob: 7.2.3
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-haste-map: 29.6.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-mock: 29.6.2
|
||||||
|
jest-regex-util: 29.4.3
|
||||||
|
jest-resolve: 29.6.2
|
||||||
|
jest-snapshot: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
slash: 3.0.0
|
||||||
|
strip-bom: 4.0.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-serializer@24.9.0:
|
/jest-serializer@24.9.0:
|
||||||
resolution: {integrity: sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==}
|
resolution: {integrity: sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -33135,6 +33696,34 @@ packages:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
/jest-snapshot@29.6.2:
|
||||||
|
resolution: {integrity: sha512-1OdjqvqmRdGNvWXr/YZHuyhh5DeaLp1p/F8Tht/MrMw4Kr1Uu/j4lRG+iKl1DAqUJDWxtQBMk41Lnf/JETYBRA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@babel/core': 7.21.3
|
||||||
|
'@babel/generator': 7.21.3
|
||||||
|
'@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.3)
|
||||||
|
'@babel/plugin-syntax-typescript': 7.18.6(@babel/core@7.21.3)
|
||||||
|
'@babel/types': 7.22.4
|
||||||
|
'@jest/expect-utils': 29.6.2
|
||||||
|
'@jest/transform': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.3)
|
||||||
|
chalk: 4.1.2
|
||||||
|
expect: 29.6.2
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
jest-diff: 29.6.2
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
jest-matcher-utils: 29.6.2
|
||||||
|
jest-message-util: 29.6.2
|
||||||
|
jest-util: 29.6.2
|
||||||
|
natural-compare: 1.4.0
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
semver: 7.5.3
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-util@24.9.0:
|
/jest-util@24.9.0:
|
||||||
resolution: {integrity: sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==}
|
resolution: {integrity: sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -33199,6 +33788,18 @@ packages:
|
||||||
graceful-fs: 4.2.9
|
graceful-fs: 4.2.9
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
|
|
||||||
|
/jest-util@29.6.2:
|
||||||
|
resolution: {integrity: sha512-3eX1qb6L88lJNCFlEADKOkjpXJQyZRiavX1INZ4tRnrBVr2COd3RgcTLyUiEXMNBlDU/cgYq6taUS0fExrWW4w==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
chalk: 4.1.2
|
||||||
|
ci-info: 3.2.0
|
||||||
|
graceful-fs: 4.2.9
|
||||||
|
picomatch: 2.3.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-validate@24.9.0:
|
/jest-validate@24.9.0:
|
||||||
resolution: {integrity: sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==}
|
resolution: {integrity: sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -33256,6 +33857,18 @@ packages:
|
||||||
leven: 3.1.0
|
leven: 3.1.0
|
||||||
pretty-format: 29.5.0
|
pretty-format: 29.5.0
|
||||||
|
|
||||||
|
/jest-validate@29.6.2:
|
||||||
|
resolution: {integrity: sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
camelcase: 6.2.1
|
||||||
|
chalk: 4.1.2
|
||||||
|
jest-get-type: 29.4.3
|
||||||
|
leven: 3.1.0
|
||||||
|
pretty-format: 29.6.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-watcher@24.9.0:
|
/jest-watcher@24.9.0:
|
||||||
resolution: {integrity: sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==}
|
resolution: {integrity: sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -33321,6 +33934,20 @@ packages:
|
||||||
jest-util: 29.5.0
|
jest-util: 29.5.0
|
||||||
string-length: 4.0.2
|
string-length: 4.0.2
|
||||||
|
|
||||||
|
/jest-watcher@29.6.2:
|
||||||
|
resolution: {integrity: sha512-GZitlqkMkhkefjfN/p3SJjrDaxPflqxEAv3/ik10OirZqJGYH5rPiIsgVcfof0Tdqg3shQGdEIxDBx+B4tuLzA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/test-result': 29.6.2
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
ansi-escapes: 4.3.2
|
||||||
|
chalk: 4.1.2
|
||||||
|
emittery: 0.13.1
|
||||||
|
jest-util: 29.6.2
|
||||||
|
string-length: 4.0.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest-worker@24.9.0:
|
/jest-worker@24.9.0:
|
||||||
resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==}
|
resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -33362,6 +33989,16 @@ packages:
|
||||||
merge-stream: 2.0.0
|
merge-stream: 2.0.0
|
||||||
supports-color: 8.1.1
|
supports-color: 8.1.1
|
||||||
|
|
||||||
|
/jest-worker@29.6.2:
|
||||||
|
resolution: {integrity: sha512-l3ccBOabTdkng8I/ORCkADz4eSMKejTYv1vB/Z83UiubqhC1oQ5Li6dWCyqOIvSifGjUBxuvxvlm6KGK2DtuAQ==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 16.18.21
|
||||||
|
jest-util: 29.6.2
|
||||||
|
merge-stream: 2.0.0
|
||||||
|
supports-color: 8.1.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jest@24.9.0:
|
/jest@24.9.0:
|
||||||
resolution: {integrity: sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==}
|
resolution: {integrity: sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -33446,6 +34083,27 @@ packages:
|
||||||
- ts-node
|
- ts-node
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/jest@29.6.2(@types/node@16.18.21)(ts-node@10.9.1):
|
||||||
|
resolution: {integrity: sha512-8eQg2mqFbaP7CwfsTpCxQ+sHzw1WuNWL5UUvjnWP4hx2riGz9fPSzYOaU5q8/GqWn1TfgZIVTqYJygbGbWAANg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
node-notifier:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@jest/core': 29.6.2(ts-node@10.9.1)
|
||||||
|
'@jest/types': 29.6.1
|
||||||
|
import-local: 3.0.3
|
||||||
|
jest-cli: 29.6.2(@types/node@16.18.21)(ts-node@10.9.1)
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@types/node'
|
||||||
|
- babel-plugin-macros
|
||||||
|
- supports-color
|
||||||
|
- ts-node
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jmespath@0.16.0:
|
/jmespath@0.16.0:
|
||||||
resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==}
|
resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==}
|
||||||
engines: {node: '>= 0.6.0'}
|
engines: {node: '>= 0.6.0'}
|
||||||
|
@ -38485,6 +39143,15 @@ packages:
|
||||||
ansi-styles: 5.2.0
|
ansi-styles: 5.2.0
|
||||||
react-is: 18.2.0
|
react-is: 18.2.0
|
||||||
|
|
||||||
|
/pretty-format@29.6.2:
|
||||||
|
resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
dependencies:
|
||||||
|
'@jest/schemas': 29.6.0
|
||||||
|
ansi-styles: 5.2.0
|
||||||
|
react-is: 18.2.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/pretty-hrtime@1.0.3:
|
/pretty-hrtime@1.0.3:
|
||||||
resolution: {integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=}
|
resolution: {integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
@ -43448,6 +44115,40 @@ packages:
|
||||||
yargs-parser: 21.1.1
|
yargs-parser: 21.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/ts-jest@29.1.1(@babel/core@7.21.3)(jest@29.6.2)(typescript@5.1.6):
|
||||||
|
resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==}
|
||||||
|
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
'@babel/core': '>=7.0.0-beta.0 <8'
|
||||||
|
'@jest/types': ^29.0.0
|
||||||
|
babel-jest: ^29.0.0
|
||||||
|
esbuild: '*'
|
||||||
|
jest: ^29.0.0
|
||||||
|
typescript: '>=4.3 <6'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@babel/core':
|
||||||
|
optional: true
|
||||||
|
'@jest/types':
|
||||||
|
optional: true
|
||||||
|
babel-jest:
|
||||||
|
optional: true
|
||||||
|
esbuild:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@babel/core': 7.21.3
|
||||||
|
bs-logger: 0.2.6
|
||||||
|
fast-json-stable-stringify: 2.1.0
|
||||||
|
jest: 29.6.2(@types/node@16.18.21)(ts-node@10.9.1)
|
||||||
|
jest-util: 29.5.0
|
||||||
|
json5: 2.2.3
|
||||||
|
lodash.memoize: 4.1.2
|
||||||
|
make-error: 1.3.6
|
||||||
|
semver: 7.5.3
|
||||||
|
typescript: 5.1.6
|
||||||
|
yargs-parser: 21.1.1
|
||||||
|
dev: true
|
||||||
|
|
||||||
/ts-loader@9.4.1(typescript@5.1.6)(webpack@5.76.3):
|
/ts-loader@9.4.1(typescript@5.1.6)(webpack@5.76.3):
|
||||||
resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==}
|
resolution: {integrity: sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw==}
|
||||||
engines: {node: '>=12.0.0'}
|
engines: {node: '>=12.0.0'}
|
||||||
|
|
|
@ -12,7 +12,7 @@ Currently there are 3 commands:
|
||||||
|
|
||||||
Here is an example `analyzer` command, run from this directory:
|
Here is an example `analyzer` command, run from this directory:
|
||||||
|
|
||||||
`pnpm run analyzer -- lint "release/6.8" "6.8.0" -b release/6.7`
|
`pnpm analyzer lint "release/6.8" "6.8.0" -b release/6.7`
|
||||||
|
|
||||||
In this command we compare the `release/6.7` and `release/6.8` branches to find differences, and we're looking for changes introduced since `6.8.0` (using the `@since` tag).
|
In this command we compare the `release/6.7` and `release/6.8` branches to find differences, and we're looking for changes introduced since `6.8.0` (using the `@since` tag).
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ To find out more about the other arguments to the command you can run `pnpm run
|
||||||
|
|
||||||
Here is an example `major-minor` command, run from this directory:
|
Here is an example `major-minor` command, run from this directory:
|
||||||
|
|
||||||
`pnpm run analyzer major-minor -- "release/6.8" "plugins/woocommerce/woocommerce.php"`
|
`pnpm analyzer major-minor "release/6.8" "plugins/woocommerce/woocommerce.php"`
|
||||||
|
|
||||||
In this command we checkout the branch `release/6.8` and check the version of the woocommerce.php mainfile located at the path passed. Note that at the time of
|
In this command we checkout the branch `release/6.8` and check the version of the woocommerce.php mainfile located at the path passed. Note that at the time of
|
||||||
writing the main file in this particular branch reports `6.8.1` so the output of this command is `6.8.0`.
|
writing the main file in this particular branch reports `6.8.1` so the output of this command is `6.8.0`.
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
||||||
|
module.exports = {
|
||||||
|
preset: 'ts-jest',
|
||||||
|
testEnvironment: 'node',
|
||||||
|
};
|
|
@ -9,26 +9,30 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
"@commander-js/extra-typings": "^10.0.3",
|
"@commander-js/extra-typings": "^10.0.3",
|
||||||
"@woocommerce/monorepo-utils": "workspace:*",
|
|
||||||
"@oclif/core": "^2.4.0",
|
"@oclif/core": "^2.4.0",
|
||||||
"@tsconfig/node16": "^1.0.3",
|
"@tsconfig/node16": "^1.0.3",
|
||||||
"@types/uuid": "^8.3.4",
|
"@types/uuid": "^8.3.4",
|
||||||
|
"@woocommerce/monorepo-utils": "workspace:*",
|
||||||
"commander": "^9.4.0",
|
"commander": "^9.4.0",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
"simple-git": "^3.10.0",
|
"simple-git": "^3.10.0",
|
||||||
"uuid": "^8.3.2"
|
"uuid": "^8.3.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@types/jest": "^27.4.1",
|
||||||
"@types/node": "^16.18.18",
|
"@types/node": "^16.18.18",
|
||||||
"@woocommerce/eslint-plugin": "workspace:*",
|
"@woocommerce/eslint-plugin": "workspace:*",
|
||||||
"eslint": "^8.32.0",
|
"eslint": "^8.32.0",
|
||||||
|
"jest": "^29.6.2",
|
||||||
|
"ts-jest": "^29.1.1",
|
||||||
"ts-node": "^10.2.1",
|
"ts-node": "^10.2.1",
|
||||||
"tslib": "^2.3.1",
|
"tslib": "^2.3.1",
|
||||||
"typescript": "^5.1.6"
|
"typescript": "^5.1.6"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "eslint . --ext .ts",
|
"lint": "eslint . --ext .ts",
|
||||||
"posttest": "pnpm lint",
|
"turbo:test": "jest",
|
||||||
|
"test": "pnpm -w exec turbo run turbo:test --filter=$npm_package_name",
|
||||||
"analyzer": "node -r ts-node/register ./src/commands/analyzer/index.ts"
|
"analyzer": "node -r ts-node/register ./src/commands/analyzer/index.ts"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
// See https://stackoverflow.com/a/75924883/472987
|
||||||
|
const uuid = require( '../../../node_modules/uuid/dist' );
|
||||||
|
module.exports = uuid;
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,94 @@
|
||||||
|
/**
|
||||||
|
* External dependencies
|
||||||
|
*/
|
||||||
|
import fs from 'fs';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Internal dependencies
|
||||||
|
*/
|
||||||
|
import { scanForHookChanges } from '../hook-changes';
|
||||||
|
|
||||||
|
describe( 'scanForHookChages', () => {
|
||||||
|
it( 'should return a Map with multiple entries in patches with multiple hook changes for the same file.', async () => {
|
||||||
|
// load the text file as a string variable
|
||||||
|
const content = fs.readFileSync(
|
||||||
|
__dirname + '/fixtures/diff.txt',
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
|
||||||
|
// We don't need a repo path for this test, its just for generating github links
|
||||||
|
const result = await scanForHookChanges( content, '6.8.0', __dirname );
|
||||||
|
|
||||||
|
// Expect 2 entries in /plugins/woocommerce/includes/abstracts/abstract-wc-order.php
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/abstracts/abstract-wc-order.php'
|
||||||
|
)
|
||||||
|
).toBeDefined();
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/abstracts/abstract-wc-order.php'
|
||||||
|
)?.name
|
||||||
|
).toBe( 'woocommerce_apply_base_tax_for_local_pickup' );
|
||||||
|
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/abstracts/abstract-wc-order.php#2'
|
||||||
|
)
|
||||||
|
).toBeDefined();
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/abstracts/abstract-wc-order.php#2'
|
||||||
|
)?.name
|
||||||
|
).toBe( 'woocommerce_local_pickup_methods' );
|
||||||
|
|
||||||
|
// Expect 2 entries in /plugins/woocommerce/includes/emails/class-wc-email.php
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/emails/class-wc-email.php'
|
||||||
|
)
|
||||||
|
).toBeDefined();
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/emails/class-wc-email.php'
|
||||||
|
)?.name
|
||||||
|
).toBe( 'woocommerce_allow_switching_email_locale' );
|
||||||
|
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/emails/class-wc-email.php#2'
|
||||||
|
)
|
||||||
|
).toBeDefined();
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/emails/class-wc-email.php#2'
|
||||||
|
)?.name
|
||||||
|
).toBe( 'woocommerce_allow_restoring_email_locale' );
|
||||||
|
|
||||||
|
// Expect 1 entry in /plugins/woocommerce/includes/export/abstract-wc-csv-batch-exporter.php
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/export/abstract-wc-csv-batch-exporter.php'
|
||||||
|
)
|
||||||
|
).toBeDefined();
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/includes/export/abstract-wc-csv-batch-exporter.php'
|
||||||
|
)?.name
|
||||||
|
).toBe( 'woocommerce_csv_exporter_fopen_mode' );
|
||||||
|
|
||||||
|
// Expect 1 entry in /plugins/woocommerce/src/Internal/DataStores/Orders/OrdersTableDataStore.php
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/src/Internal/DataStores/Orders/OrdersTableDataStore.php'
|
||||||
|
)
|
||||||
|
).toBeDefined();
|
||||||
|
expect(
|
||||||
|
result.get(
|
||||||
|
'/plugins/woocommerce/src/Internal/DataStores/Orders/OrdersTableDataStore.php'
|
||||||
|
)?.name
|
||||||
|
).toBe( 'woocommerce_orders_table_datastore_extra_db_rows_for_order' );
|
||||||
|
|
||||||
|
expect( result.size ).toBe( 6 );
|
||||||
|
} );
|
||||||
|
} );
|
|
@ -5,7 +5,7 @@ import {
|
||||||
getFilename,
|
getFilename,
|
||||||
getPatches,
|
getPatches,
|
||||||
} from '@woocommerce/monorepo-utils/src/core/git';
|
} from '@woocommerce/monorepo-utils/src/core/git';
|
||||||
import fs from 'node:fs';
|
import fs, { existsSync } from 'node:fs';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal dependencies
|
* Internal dependencies
|
||||||
|
@ -27,6 +27,22 @@ export type HookChangeDescription = {
|
||||||
ghLink: string;
|
ghLink: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const getUniqueKey = (
|
||||||
|
changes: Map< string, HookChangeDescription >,
|
||||||
|
filePath: string
|
||||||
|
) => {
|
||||||
|
let index = 1;
|
||||||
|
let uniqueKey = filePath;
|
||||||
|
|
||||||
|
// If the key already exists, append a number (#1, #2, etc.) until we find a unique key.
|
||||||
|
while ( changes.has( uniqueKey ) ) {
|
||||||
|
index++;
|
||||||
|
uniqueKey = `${ filePath }#${ index }`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return uniqueKey;
|
||||||
|
};
|
||||||
|
|
||||||
export const scanForHookChanges = async (
|
export const scanForHookChanges = async (
|
||||||
content: string,
|
content: string,
|
||||||
version: string,
|
version: string,
|
||||||
|
@ -47,76 +63,84 @@ export const scanForHookChanges = async (
|
||||||
for ( const p in patches ) {
|
for ( const p in patches ) {
|
||||||
const patch = patches[ p ];
|
const patch = patches[ p ];
|
||||||
|
|
||||||
// Separate patches into bits beginning with a comment. If a bit does not have an action, disregard.
|
// Separate patch into pieces beginning with a comment. If a piece does not have actions/filters discard it.
|
||||||
const patchWithHook = patch.split( '/**' ).find( ( s ) => {
|
const patchesWithHooks = patch.split( '/**' ).filter( ( s ) => {
|
||||||
return s.includes( 'apply_filters' ) || s.includes( 'do_action' );
|
return s.includes( 'apply_filters' ) || s.includes( 'do_action' );
|
||||||
} );
|
} );
|
||||||
if ( ! patchWithHook ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const results = patchWithHook.match( newRegEx );
|
if ( ! patchesWithHooks.length ) {
|
||||||
|
|
||||||
if ( ! results ) {
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const lines = patch.split( '\n' );
|
const lines = patch.split( '\n' );
|
||||||
const filePath = getFilename( lines[ 0 ] );
|
const filePath = getFilename( lines[ 0 ] );
|
||||||
|
|
||||||
for ( const raw of results ) {
|
for ( const hookPatch of patchesWithHooks ) {
|
||||||
// Extract hook name and type.
|
const results = hookPatch.match( newRegEx );
|
||||||
const hookName = raw.match(
|
|
||||||
/(.*)(do_action|apply_filters)\(\s+'(.*)'/
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( ! hookName ) {
|
if ( ! results ) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const name = getHookName( hookName[ 3 ] );
|
for ( const raw of results ) {
|
||||||
const description = getHookDescription( raw, name ) || '';
|
// Extract hook name and type.
|
||||||
|
const hookName = raw.match(
|
||||||
|
/(.*)(do_action|apply_filters)\(\s+'(.*)'/
|
||||||
|
);
|
||||||
|
|
||||||
const hookType =
|
if ( ! hookName ) {
|
||||||
hookName[ 2 ] === 'do_action' ? 'action' : 'filter';
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
const changeType = getHookChangeType( raw );
|
const name = getHookName( hookName[ 3 ] );
|
||||||
|
const description = getHookDescription( raw, name ) || '';
|
||||||
|
|
||||||
if ( ! hookName[ 2 ].startsWith( '-' ) ) {
|
const hookType =
|
||||||
let ghLink = '';
|
hookName[ 2 ] === 'do_action' ? 'action' : 'filter';
|
||||||
|
|
||||||
try {
|
const changeType = getHookChangeType( raw );
|
||||||
const data = await fs.promises.readFile(
|
|
||||||
tmpRepoPath + filePath,
|
|
||||||
'utf-8'
|
|
||||||
);
|
|
||||||
|
|
||||||
const reg = new RegExp( name );
|
if ( ! hookName[ 2 ].startsWith( '-' ) ) {
|
||||||
|
let ghLink = '';
|
||||||
|
|
||||||
data.split( '\n' ).forEach( ( line, index ) => {
|
try {
|
||||||
if ( line.match( reg ) ) {
|
// If path doesn't exist for some reason don't try create a link.
|
||||||
const lineNum = index + 1;
|
if ( existsSync( tmpRepoPath + filePath ) ) {
|
||||||
|
const data = await fs.promises.readFile(
|
||||||
|
tmpRepoPath + filePath,
|
||||||
|
'utf-8'
|
||||||
|
);
|
||||||
|
|
||||||
ghLink = `https://github.com/woocommerce/woocommerce/blob/${ version }/${ filePath.replace(
|
const reg = new RegExp( name );
|
||||||
/(^\/)/,
|
|
||||||
''
|
data.split( '\n' ).forEach( ( line, index ) => {
|
||||||
) }#L${ lineNum }`;
|
if ( line.match( reg ) ) {
|
||||||
|
const lineNum = index + 1;
|
||||||
|
|
||||||
|
ghLink = `https://github.com/woocommerce/woocommerce/blob/${ version }/${ filePath.replace(
|
||||||
|
/(^\/)/,
|
||||||
|
''
|
||||||
|
) }#L${ lineNum }`;
|
||||||
|
}
|
||||||
|
} );
|
||||||
}
|
}
|
||||||
} );
|
|
||||||
|
|
||||||
changes.set( filePath, {
|
const uniqueKey = getUniqueKey( changes, filePath );
|
||||||
filePath,
|
|
||||||
name,
|
changes.set( uniqueKey, {
|
||||||
hookType,
|
filePath,
|
||||||
description,
|
name,
|
||||||
changeType,
|
hookType,
|
||||||
version,
|
description,
|
||||||
ghLink,
|
changeType,
|
||||||
} );
|
version,
|
||||||
} catch ( error ) {
|
ghLink,
|
||||||
if ( error ) {
|
} );
|
||||||
// eslint-disable-next-line no-console
|
} catch ( error ) {
|
||||||
console.error( error );
|
if ( error ) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.error( error );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
*/
|
*/
|
||||||
import { Logger } from '@woocommerce/monorepo-utils/src/core/logger';
|
import { Logger } from '@woocommerce/monorepo-utils/src/core/logger';
|
||||||
import {
|
import {
|
||||||
cloneRepo,
|
cloneRepoShallow,
|
||||||
generateDiff,
|
generateDiff,
|
||||||
} from '@woocommerce/monorepo-utils/src/core/git';
|
} from '@woocommerce/monorepo-utils/src/core/git';
|
||||||
import { execSync } from 'child_process';
|
import { execSync } from 'child_process';
|
||||||
|
@ -28,7 +28,7 @@ const generateVersionDiff = async (
|
||||||
const tmpRepoPath =
|
const tmpRepoPath =
|
||||||
typeof clonedPath !== 'undefined'
|
typeof clonedPath !== 'undefined'
|
||||||
? clonedPath
|
? clonedPath
|
||||||
: await cloneRepo( source );
|
: await cloneRepoShallow( source );
|
||||||
|
|
||||||
Logger.endTask();
|
Logger.endTask();
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ export const scanForChanges = async (
|
||||||
const tmpRepoPath =
|
const tmpRepoPath =
|
||||||
typeof clonedPath !== 'undefined'
|
typeof clonedPath !== 'undefined'
|
||||||
? clonedPath
|
? clonedPath
|
||||||
: await cloneRepo( source );
|
: await cloneRepoShallow( source );
|
||||||
|
|
||||||
Logger.endTask();
|
Logger.endTask();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue