diff --git a/.projenrc.ts b/.projenrc.ts index 63dac68..fe08d11 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -191,6 +191,7 @@ const cli = new yarn.TypeScriptWorkspace({ 'csv', '@aws-sdk/client-s3', '@aws-sdk/credential-providers', + 'tslog', ], jest: false, }); diff --git a/NOTICE b/NOTICE index 52d8353..e229160 100644 --- a/NOTICE +++ b/NOTICE @@ -2259,7 +2259,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/client-cognito-identity 3.616.0 +@aws-sdk/client-cognito-identity 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -2464,7 +2464,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/client-s3 3.617.0 +@aws-sdk/client-s3 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -2669,7 +2669,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/client-sso-oidc 3.616.0 +@aws-sdk/client-sso-oidc 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -2874,7 +2874,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/client-sso 3.616.0 +@aws-sdk/client-sso 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -3079,7 +3079,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/client-sts 3.616.0 +@aws-sdk/client-sts 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -3284,7 +3284,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/core 3.616.0 +@aws-sdk/core 3.635.0 Apache-2.0 # `@aws-sdk/core` @@ -3327,7 +3327,7 @@ If the component's functionality is downstream of a client, for example S3 pre-s it should be a standalone package with potentially a peer or runtime dependency on an AWS SDK client. -@aws-sdk/credential-provider-cognito-identity 3.616.0 +@aws-sdk/credential-provider-cognito-identity 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -3532,7 +3532,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/credential-provider-env 3.609.0 +@aws-sdk/credential-provider-env 3.620.1 Apache-2.0 Apache License Version 2.0, January 2004 @@ -3736,7 +3736,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/credential-provider-http 3.616.0 +@aws-sdk/credential-provider-http 3.635.0 Apache-2.0 # @aws-sdk/credential-provider-http @@ -3750,7 +3750,7 @@ Apache-2.0 See https://www.npmjs.com/package/@aws-sdk/credential-providers -@aws-sdk/credential-provider-ini 3.616.0 +@aws-sdk/credential-provider-ini 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -3954,7 +3954,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/credential-provider-node 3.616.0 +@aws-sdk/credential-provider-node 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -4158,7 +4158,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/credential-provider-process 3.614.0 +@aws-sdk/credential-provider-process 3.620.1 Apache-2.0 Apache License Version 2.0, January 2004 @@ -4362,7 +4362,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/credential-provider-sso 3.616.0 +@aws-sdk/credential-provider-sso 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -4566,7 +4566,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/credential-provider-web-identity 3.609.0 +@aws-sdk/credential-provider-web-identity 3.621.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -4770,7 +4770,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/credential-providers 3.617.0 +@aws-sdk/credential-providers 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -4974,7 +4974,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/middleware-bucket-endpoint 3.616.0 +@aws-sdk/middleware-bucket-endpoint 3.620.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -5179,7 +5179,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/middleware-expect-continue 3.616.0 +@aws-sdk/middleware-expect-continue 3.620.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -5384,7 +5384,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/middleware-flexible-checksums 3.616.0 +@aws-sdk/middleware-flexible-checksums 3.620.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -5589,7 +5589,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/middleware-host-header 3.616.0 +@aws-sdk/middleware-host-header 3.620.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -6203,7 +6203,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/middleware-recursion-detection 3.616.0 +@aws-sdk/middleware-recursion-detection 3.620.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -6408,7 +6408,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/middleware-sdk-s3 3.617.0 +@aws-sdk/middleware-sdk-s3 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -6613,210 +6613,6 @@ Apache-2.0 limitations under the License. -@aws-sdk/middleware-signing 3.616.0 -Apache-2.0 -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2018-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - @aws-sdk/middleware-ssec 3.609.0 Apache-2.0 Apache License @@ -7022,7 +6818,7 @@ Apache-2.0 limitations under the License. -@aws-sdk/middleware-user-agent 3.616.0 +@aws-sdk/middleware-user-agent 3.632.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -7431,7 +7227,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/signature-v4-multi-region 3.617.0 +@aws-sdk/signature-v4-multi-region 3.635.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -8248,7 +8044,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@aws-sdk/util-endpoints 3.614.0 +@aws-sdk/util-endpoints 3.632.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -9296,7 +9092,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/compat-data 7.24.9 +@babel/compat-data 7.25.2 MIT MIT License @@ -9322,7 +9118,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/core 7.24.9 +@babel/core 7.25.2 MIT MIT License @@ -9348,7 +9144,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/generator 7.24.10 +@babel/generator 7.25.0 MIT MIT License @@ -9374,7 +9170,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-compilation-targets 7.24.8 +@babel/helper-compilation-targets 7.25.2 MIT MIT License @@ -9400,7 +9196,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-environment-visitor 7.24.7 +@babel/helper-module-imports 7.24.7 MIT MIT License @@ -9426,7 +9222,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-function-name 7.24.7 +@babel/helper-module-transforms 7.25.2 MIT MIT License @@ -9452,7 +9248,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-hoist-variables 7.24.7 +@babel/helper-plugin-utils 7.24.8 MIT MIT License @@ -9478,7 +9274,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-module-imports 7.24.7 +@babel/helper-simple-access 7.24.7 MIT MIT License @@ -9504,7 +9300,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-module-transforms 7.24.9 +@babel/helper-string-parser 7.24.8 MIT MIT License @@ -9530,7 +9326,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-plugin-utils 7.24.8 +@babel/helper-validator-identifier 7.24.7 MIT MIT License @@ -9556,7 +9352,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-simple-access 7.24.7 +@babel/helper-validator-option 7.24.8 MIT MIT License @@ -9582,7 +9378,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-split-export-declaration 7.24.7 +@babel/helpers 7.25.0 MIT MIT License @@ -9608,7 +9404,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-string-parser 7.24.8 +@babel/highlight 7.24.7 MIT MIT License @@ -9634,33 +9430,30 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helper-validator-identifier 7.24.7 +@babel/parser 7.25.3 MIT -MIT License - -Copyright (c) 2014-present Sebastian McKenzie and other contributors +Copyright (C) 2012-2014 by various contributors (see AUTHORS) -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: +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 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. +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. -@babel/helper-validator-option 7.24.8 +@babel/plugin-syntax-async-generators 7.8.4 MIT MIT License @@ -9686,7 +9479,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/helpers 7.24.8 +@babel/plugin-syntax-bigint 7.8.3 MIT MIT License @@ -9712,7 +9505,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/highlight 7.24.7 +@babel/plugin-syntax-class-properties 7.12.13 MIT MIT License @@ -9738,30 +9531,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/parser 7.24.8 -MIT -Copyright (C) 2012-2014 by various contributors (see AUTHORS) - -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. - - -@babel/plugin-syntax-async-generators 7.8.4 +@babel/plugin-syntax-class-static-block 7.14.5 MIT MIT License @@ -9787,7 +9557,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-bigint 7.8.3 +@babel/plugin-syntax-import-attributes 7.24.7 MIT MIT License @@ -9813,7 +9583,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-class-properties 7.12.13 +@babel/plugin-syntax-import-meta 7.10.4 MIT MIT License @@ -9839,7 +9609,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-import-meta 7.10.4 +@babel/plugin-syntax-json-strings 7.8.3 MIT MIT License @@ -9865,7 +9635,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-json-strings 7.8.3 +@babel/plugin-syntax-jsx 7.24.7 MIT MIT License @@ -9891,7 +9661,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-jsx 7.24.7 +@babel/plugin-syntax-logical-assignment-operators 7.10.4 MIT MIT License @@ -9917,7 +9687,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-logical-assignment-operators 7.10.4 +@babel/plugin-syntax-nullish-coalescing-operator 7.8.3 MIT MIT License @@ -9943,7 +9713,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-nullish-coalescing-operator 7.8.3 +@babel/plugin-syntax-numeric-separator 7.10.4 MIT MIT License @@ -9969,7 +9739,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-numeric-separator 7.10.4 +@babel/plugin-syntax-object-rest-spread 7.8.3 MIT MIT License @@ -9995,7 +9765,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-object-rest-spread 7.8.3 +@babel/plugin-syntax-optional-catch-binding 7.8.3 MIT MIT License @@ -10021,7 +9791,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-optional-catch-binding 7.8.3 +@babel/plugin-syntax-optional-chaining 7.8.3 MIT MIT License @@ -10047,7 +9817,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/plugin-syntax-optional-chaining 7.8.3 +@babel/plugin-syntax-private-property-in-object 7.14.5 MIT MIT License @@ -10125,7 +9895,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/runtime 7.24.8 +@babel/runtime 7.25.0 MIT MIT License @@ -10151,7 +9921,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/template 7.24.7 +@babel/template 7.25.0 MIT MIT License @@ -10177,7 +9947,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/traverse 7.24.8 +@babel/traverse 7.25.3 MIT MIT License @@ -10203,7 +9973,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@babel/types 7.24.9 +@babel/types 7.25.2 MIT MIT License @@ -11132,7 +10902,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@commitlint/cli 19.3.0 +@commitlint/cli 19.4.0 MIT The MIT License (MIT) @@ -11332,7 +11102,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@commitlint/load 19.2.0 +@commitlint/load 19.4.0 MIT The MIT License (MIT) @@ -11407,7 +11177,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@commitlint/read 19.2.1 +@commitlint/read 19.4.0 MIT The MIT License (MIT) @@ -12673,7 +12443,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@jsii/check-node 1.101.0 +@jsii/check-node 1.102.0 Apache-2.0 Apache License @@ -12878,7 +12648,7 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. -@jsii/spec 1.101.0 +@jsii/spec 1.102.0 Apache-2.0 Apache License @@ -14151,7 +13921,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/core 2.2.8 +@smithy/core 2.4.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -14356,7 +14126,7 @@ Apache-2.0 limitations under the License. -@smithy/credential-provider-imds 3.1.4 +@smithy/credential-provider-imds 3.2.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -14765,7 +14535,7 @@ Apache-2.0 limitations under the License. -@smithy/eventstream-serde-browser 3.0.5 +@smithy/eventstream-serde-browser 3.0.6 Apache-2.0 Apache License Version 2.0, January 2004 @@ -15175,7 +14945,7 @@ Apache-2.0 limitations under the License. -@smithy/eventstream-serde-node 3.0.4 +@smithy/eventstream-serde-node 3.0.5 Apache-2.0 Apache License Version 2.0, January 2004 @@ -15380,7 +15150,7 @@ Apache-2.0 limitations under the License. -@smithy/eventstream-serde-universal 3.0.4 +@smithy/eventstream-serde-universal 3.0.5 Apache-2.0 Apache License Version 2.0, January 2004 @@ -15585,7 +15355,7 @@ Apache-2.0 limitations under the License. -@smithy/fetch-http-handler 3.2.2 +@smithy/fetch-http-handler 3.2.4 Apache-2.0 Apache License Version 2.0, January 2004 @@ -17218,7 +16988,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/middleware-content-length 3.0.4 +@smithy/middleware-content-length 3.0.5 Apache-2.0 Apache License Version 2.0, January 2004 @@ -17422,7 +17192,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/middleware-endpoint 3.0.5 +@smithy/middleware-endpoint 3.1.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -17626,7 +17396,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/middleware-retry 3.0.11 +@smithy/middleware-retry 3.0.15 Apache-2.0 Apache License Version 2.0, January 2004 @@ -18444,7 +18214,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/node-http-handler 3.1.3 +@smithy/node-http-handler 3.1.4 Apache-2.0 Apache License Version 2.0, January 2004 @@ -18852,7 +18622,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/protocol-http 4.0.4 +@smithy/protocol-http 4.1.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -19876,7 +19646,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/signature-v4 4.0.0 +@smithy/signature-v4 4.1.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -20080,9 +19850,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/smithy-client 3.1.9 -<<<<<<< Updated upstream -======= +@smithy/smithy-client 3.2.0 Apache-2.0 Apache License Version 2.0, January 2004 @@ -20288,7 +20056,6 @@ Apache-2.0 @smithy/types 3.2.0 ->>>>>>> Stashed changes Apache-2.0 Apache License Version 2.0, January 2004 @@ -22127,7 +21894,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/util-defaults-mode-browser 3.0.11 +@smithy/util-defaults-mode-browser 3.0.15 Apache-2.0 Apache License Version 2.0, January 2004 @@ -22332,7 +22099,7 @@ Apache-2.0 limitations under the License. -@smithy/util-defaults-mode-node 3.0.11 +@smithy/util-defaults-mode-node 3.0.15 Apache-2.0 Apache License Version 2.0, January 2004 @@ -23353,7 +23120,7 @@ Apache License See the License for the specific language governing permissions and limitations under the License. -@smithy/util-stream 3.1.1 +@smithy/util-stream 3.1.3 Apache-2.0 Apache License Version 2.0, January 2004 @@ -24795,7 +24562,7 @@ MIT SOFTWARE -@types/node 18.19.41 +@types/node 18.19.45 MIT MIT License @@ -24820,7 +24587,7 @@ MIT SOFTWARE -@types/node 20.14.11 +@types/node 22.4.2 MIT MIT License @@ -24920,7 +24687,32 @@ MIT SOFTWARE -@typescript-eslint/eslint-plugin 7.17.0 +@types/yargs 17.0.33 +MIT + MIT License + + Copyright (c) Microsoft Corporation. + + 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 + + +@typescript-eslint/eslint-plugin 7.18.0 MIT MIT License @@ -24945,7 +24737,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@typescript-eslint/parser 7.17.0 +@typescript-eslint/parser 7.18.0 BSD-2-Clause TypeScript ESLint Parser Copyright JS Foundation and other contributors, https://js.foundation @@ -24971,7 +24763,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -@typescript-eslint/scope-manager 7.17.0 +@typescript-eslint/scope-manager 7.18.0 MIT MIT License @@ -24996,7 +24788,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@typescript-eslint/type-utils 7.17.0 +@typescript-eslint/type-utils 7.18.0 MIT MIT License @@ -25021,7 +24813,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@typescript-eslint/types 7.17.0 +@typescript-eslint/types 7.18.0 MIT MIT License @@ -25046,7 +24838,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@typescript-eslint/typescript-estree 7.17.0 +@typescript-eslint/typescript-estree 7.18.0 BSD-2-Clause TypeScript ESTree @@ -25076,7 +24868,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -@typescript-eslint/utils 7.17.0 +@typescript-eslint/utils 7.18.0 MIT MIT License @@ -25101,7 +24893,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -@typescript-eslint/visitor-keys 7.17.0 +@typescript-eslint/visitor-keys 7.18.0 MIT MIT License @@ -25997,7 +25789,7 @@ The above copyright notice and this permission notice shall be included in all c 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. -async 3.2.5 +async 3.2.6 MIT Copyright (c) 2010-2018 Caolan McMahon @@ -26331,7 +26123,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -babel-preset-current-node-syntax 1.0.1 +babel-preset-current-node-syntax 1.1.0 MIT MIT License @@ -26525,7 +26317,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -browserslist 4.23.2 +browserslist 4.23.3 MIT The MIT License (MIT) @@ -26748,7 +26540,7 @@ The above copyright notice and this permission notice shall be included in all c 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. -caniuse-lite 1.0.30001643 +caniuse-lite 1.0.30001651 CC-BY-4.0 Attribution 4.0 International @@ -27585,7 +27377,7 @@ Apache-2.0 limitations under the License. -cdklabs-projen-project-types 0.1.199 +cdklabs-projen-project-types 0.1.200 Apache-2.0 Apache License @@ -28049,7 +27841,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -codemaker 1.101.0 +codemaker 1.102.0 Apache-2.0 Apache License @@ -28377,7 +28169,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -commonmark 0.31.0 +commonmark 0.31.1 BSD-2-Clause Copyright (c) 2014, John MacFarlane @@ -29050,7 +28842,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -csv-stringify 6.5.0 +csv-stringify 6.5.1 MIT The MIT License (MIT) @@ -29075,7 +28867,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -csv 6.3.9 +csv 6.3.10 MIT The MIT License (MIT) @@ -29235,7 +29027,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -debug 4.3.5 +debug 4.3.6 MIT (The MIT License) @@ -30180,11 +29972,7 @@ Apache-2.0 limitations under the License. -<<<<<<< Updated upstream -electron-to-chromium 1.4.832 -======= -electron-to-chromium 1.5.0 ->>>>>>> Stashed changes +electron-to-chromium 1.5.13 ISC Copyright 2018 Kilian Valkhof @@ -30230,7 +30018,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -enhanced-resolve 5.17.0 +enhanced-resolve 5.17.1 MIT Copyright JS Foundation and other contributors @@ -31714,7 +31502,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The complete list of contributors can be found at: - https://github.com/garycourt/uri-js/graphs/contributors -fast-xml-parser 4.2.5 +fast-xml-parser 4.4.1 MIT MIT License @@ -32160,6 +31948,32 @@ the licensed code: DEALINGS IN THE SOFTWARE. +fsevents 2.3.3 +MIT +MIT License +----------- + +Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller + +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. + + function-bind 1.1.2 MIT Copyright (c) 2013 Raynos. @@ -33253,7 +33067,7 @@ Apache-2.0 limitations under the License. -husky 9.1.1 +husky 9.1.5 MIT MIT License @@ -33327,6 +33141,30 @@ 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. +ignore 5.3.2 +MIT +Copyright (c) 2013 Kael Zhang , contributors +http://kael.me/ + +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. + import-fresh 3.3.0 MIT MIT License @@ -35626,7 +35464,7 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -jsii-diff 1.101.0 +jsii-diff 1.102.0 Apache-2.0 Apache License @@ -35831,7 +35669,7 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. -jsii-pacmak 1.101.0 +jsii-pacmak 1.102.0 Apache-2.0 Apache License @@ -36036,7 +35874,7 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. -jsii-reflect 1.101.0 +jsii-reflect 1.102.0 Apache-2.0 Apache License @@ -36241,7 +36079,7 @@ Apache-2.0 See the License for the specific language governing permissions and limitations under the License. -jsii-rosetta 5.4.25 +jsii-rosetta 5.4.31 Apache-2.0 Apache License @@ -36447,7 +36285,7 @@ Apache-2.0 limitations under the License. -jsii 5.4.26 +jsii 5.4.33 Apache-2.0 Apache License @@ -39230,7 +39068,7 @@ The above copyright notice and this permission notice shall be included in all c 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. -oo-ascii-tree 1.101.0 +oo-ascii-tree 1.102.0 Apache-2.0 Apache License @@ -50323,11 +50161,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** -<<<<<<< Updated upstream -projen 0.84.6 -======= -projen 0.84.7 ->>>>>>> Stashed changes +projen 0.85.2 Apache-2.0 Apache License @@ -52118,30 +51952,6 @@ The above copyright notice and this permission notice shall be included in all c 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. -string.prototype.repeat 1.0.0 -MIT -Copyright Mathias Bynens - -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. - - string.prototype.trim 1.2.9 MIT The MIT License (MIT) @@ -52787,7 +52597,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -ts-jest 29.2.3 +ts-jest 29.2.4 MIT MIT License @@ -52892,6 +52702,31 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +tslog 4.9.3 +MIT +MIT License + +Copyright (c) 2022 + +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. + + type-check 0.4.0 MIT Copyright (c) George Zahariev @@ -53185,11 +53020,7 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any END OF TERMS AND CONDITIONS -<<<<<<< Updated upstream -typescript 5.6.0-dev.20240722 -======= -typescript 5.6.0-dev.20240723 ->>>>>>> Stashed changes +typescript 5.7.0-dev.20240821 Apache-2.0 Apache License @@ -53283,6 +53114,31 @@ This package is a dual-publish of the [undici](https://www.npmjs.com/package/und - [Undici Documentation](https://undici.nodejs.org/#/) +undici-types 6.19.8 +MIT +MIT License + +Copyright (c) Matteo Collina and Undici contributors + +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. + + unicorn-magic 0.1.0 MIT MIT License @@ -54112,7 +53968,7 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -yaml 2.4.5 +yaml 2.5.0 ISC Copyright Eemeli Aro diff --git a/OSS_License_Summary.csv b/OSS_License_Summary.csv index a91fdfa..cdb7420 100644 --- a/OSS_License_Summary.csv +++ b/OSS_License_Summary.csv @@ -6,16 +6,12 @@ "(MIT OR CC0-1.0)","2" "(MIT OR GPL-3.0-or-later)","1" "0BSD","2" -<<<<<<< Updated upstream "Apache-2.0","140" -======= -"Apache-2.0","141" ->>>>>>> Stashed changes "BSD-2-Clause","12" "BSD-3-Clause","21" "CC-BY-4.0","1" "CC0-1.0","1" "ISC","60" -"MIT","560" +"MIT","562" "Python-2.0","1" "UNLICENSED","1" diff --git a/package-verification.json b/package-verification.json index 94039af..735715c 100644 --- a/package-verification.json +++ b/package-verification.json @@ -1,11 +1,11 @@ { "license": { - "package.json": "51868e88ee6cefb80f796c05a19b5c8364269222e343d12dc5bbe7b7d493855d", + "package.json": "2fa6e73426cf7478f18abdad18c34aab0e7cc00a9c7be587a820772228ccb927", "samples/cdk-ts-example/package.json": "54e2441af495ddf02e1e232fdd1ed4edc697c31fe03671776290a254e52ba2a6", - "packages/@cdklabs/cdk-cicd-wrapper/package.json": "c3289673d7e0b5f21ddc7913c3ad55c9424c286746f7ded136949f14a2cf2045", - "packages/@cdklabs/cdk-cicd-wrapper-cli/package.json": "0019772cf047d53197bc9e0068506eacdb240d7645c51068dbe0798c626ec0c5", - "packages/@cdklabs/cdk-cicd-wrapper-projen/package.json": "62eb28c35af3481a120c1a077ae0315d19b6227e5b99c85dfacce16c52cda162", + "packages/@cdklabs/cdk-cicd-wrapper/package.json": "5a037128d50a11a17cfddff266a40b2c939001931e30c27a2e0ad4cf8052186b", + "packages/@cdklabs/cdk-cicd-wrapper-cli/package.json": "56ad46900253b2fd1c44d965bdb0c40975ef5035dccff7be73c4864ccba8f57b", + "packages/@cdklabs/cdk-cicd-wrapper-projen/package.json": "8d45188ba2b0e57ba00df30f1cc2931032353a42c2da1171a708fb339b719b98", "projectList": "5790138ec76401840b75a0409a66d8e7e10445628567d18dbe5b2feedd20f463" }, - "npm-lock-file": "d5248d614fdd6f39e583d3a529bae3591f8806df19a71797febdc37b1147032e" + "npm-lock-file": "82fb1f31cffe273ba4518672883ce4ee7559edf92c0c9a81b64029d9ce106c8e" } \ No newline at end of file diff --git a/package.json b/package.json index 4fdbf74..6238925 100644 --- a/package.json +++ b/package.json @@ -34,22 +34,22 @@ "organization": false }, "devDependencies": { - "@commitlint/cli": "^19.3.0", + "@commitlint/cli": "^19.4.0", "@commitlint/config-conventional": "^19.2.2", "@types/node": "^18", "@typescript-eslint/eslint-plugin": "^7", "@typescript-eslint/parser": "^7", "@typescript-eslint/typescript-estree": "^7", "all-contributors-cli": "^6.26.1", - "cdklabs-projen-project-types": "^0.1.199", + "cdklabs-projen-project-types": "^0.1.200", "constructs": "^10.0.0", "eslint": "^8", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.1", + "husky": "^9.1.5", "node-fetch": "^2", "prettier": "^3.3.3", - "projen": "^0.84.7", + "projen": "^0.85.2", "ts-node": "^10.9.2", "typescript": "^5.5.4" }, diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/deps.json b/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/deps.json index 448c1cd..808ca55 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/deps.json +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/deps.json @@ -87,6 +87,10 @@ "version": "11.1.0", "type": "runtime" }, + { + "name": "tslog", + "type": "runtime" + }, { "name": "yargs", "type": "runtime" diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/tasks.json b/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/tasks.json index 5fcc490..f4b757b 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/tasks.json +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/.projen/tasks.json @@ -41,7 +41,7 @@ "builtin": "release/bump-version" } ], - "condition": "! git log --oneline -1 | grep -q \"chore(release):\"" + "condition": "git log --oneline -1 | grep -qv \"chore(release):\"" }, "check-for-updates": { "name": "check-for-updates", @@ -50,7 +50,7 @@ }, "steps": [ { - "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,prettier,projen,typescript,@aws-sdk/client-s3,@aws-sdk/credential-providers,@types/fs-extra,@types/yargs,csv,fs-extra,yargs" + "exec": "npx npm-check-updates@16 --upgrade --target=minor --peer --dep=dev,peer,prod,optional --filter=eslint-config-prettier,eslint-import-resolver-typescript,eslint-plugin-import,eslint-plugin-prettier,prettier,projen,typescript,@aws-sdk/client-s3,@aws-sdk/credential-providers,@types/fs-extra,@types/yargs,csv,fs-extra,tslog,yargs" } ] }, diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/package.json b/packages/@cdklabs/cdk-cicd-wrapper-cli/package.json index c13967d..7328e98 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/package.json +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/package.json @@ -38,17 +38,18 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", - "projen": "^0.84.7", + "projen": "^0.85.2", "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.617.0", - "@aws-sdk/credential-providers": "^3.617.0", + "@aws-sdk/client-s3": "^3.635.0", + "@aws-sdk/credential-providers": "^3.635.0", "@types/fs-extra": "^11.0.4", - "@types/yargs": "^17.0.32", - "csv": "^6.3.9", + "@types/yargs": "^17.0.33", + "csv": "^6.3.10", "fs-extra": "^11.2.0", "globby": "11.1.0", + "tslog": "^4.9.3", "yargs": "^17.7.2" }, "keywords": [ diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/CheckDependenciesCommand.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/CheckDependenciesCommand.ts index a199a40..f38138b 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/CheckDependenciesCommand.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/CheckDependenciesCommand.ts @@ -5,6 +5,7 @@ import { spawnSync } from 'child_process'; import * as path from 'path'; import * as yargs from 'yargs'; +import { logger } from '../utils/Logging'; /** * The path to the Python dependency check script. @@ -54,7 +55,7 @@ class Command implements yargs.CommandModule { */ handler(args: yargs.Arguments) { if (args.python) { - console.log('Checking Python dependencies'); + logger.info('Checking Python dependencies'); const command = path.join(__dirname, CHECK_DEPENDENCIES_PYTHON); const result = spawnSync(command, { stdio: 'inherit' }); @@ -65,7 +66,7 @@ class Command implements yargs.CommandModule { } if (args.npm) { - console.log('Checking NPM dependencies'); + logger.info('Checking NPM dependencies'); const result = spawnSync( 'npx', diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ComplianceBucketCommand.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ComplianceBucketCommand.ts index 287eee8..87e58ff 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ComplianceBucketCommand.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ComplianceBucketCommand.ts @@ -7,6 +7,7 @@ import * as path from 'path'; import { S3, BucketLocationConstraint } from '@aws-sdk/client-s3'; import { fromNodeProviderChain } from '@aws-sdk/credential-providers'; import * as yargs from 'yargs'; +import { logger } from '../utils/Logging'; /** * The default path to the policy JSON file. @@ -92,7 +93,7 @@ class Command implements yargs.CommandModule { credentials: fromNodeProviderChain({ profile: profile }), }); - console.log(`Creating bucket ${bucketName}...`); + logger.info(`Creating bucket ${bucketName}...`); try { await s3client.createBucket({ Bucket: bucketName, @@ -101,20 +102,20 @@ class Command implements yargs.CommandModule { }, }); - console.log(`Bucket ${bucketName} has been created.`); + logger.info(`Bucket ${bucketName} has been created.`); - console.log('Set bucket policy.'); + logger.info('Set bucket policy.'); s3client.putBucketPolicy( { Bucket: bucketName, Policy: policyString, }, (err) => { - if (err) console.log(err, err.stack); + if (err) logger.error(err, err.stack); }, ); - console.log('Disable public access.'); + logger.info('Disable public access.'); await s3client.putPublicAccessBlock({ Bucket: bucketName, PublicAccessBlockConfiguration: { @@ -125,7 +126,7 @@ class Command implements yargs.CommandModule { }, }); } catch (err) { - console.error(err); + logger.error(err); } })(); } diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/LicenseCommand.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/LicenseCommand.ts index ad23810..628bfc3 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/LicenseCommand.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/LicenseCommand.ts @@ -3,51 +3,22 @@ // ESLint must be disabled while the https://github.com/adaltas/node-csv/issues/323 has not been solved /* eslint-disable */ -import { SpawnSyncOptions, spawnSync } from 'child_process'; -import { existsSync, mkdirSync, mkdtempSync, rmSync, readFileSync, openSync, writeFileSync } from 'fs'; +import { existsSync, mkdirSync, mkdtempSync, rmSync, readFileSync, writeFileSync } from 'fs'; +import * as globby from 'globby'; import * as os from 'os'; import * as path from 'path'; -import { parse, stringify } from 'csv/sync'; -import * as globby from 'globby'; import * as yargs from 'yargs'; -import { CliHelpers } from '../utils/CliHelpers'; - -const NPM_LICENSE_CHECKER_TOOL = 'license-checker-rseidelsohn'; -const PYTHON_LICENSE_CHECKER_TOOL = 'pip-licenses'; +import { LicenseCollectorConstructor, LicenseConfig, ScanningContext } from './license/Types'; +import { Projects } from './license/Projects'; +import { NodeLicenseCollector } from './license/NodeLicenseCollector'; +import { PythonLicenseCollector } from './license/PythonLicenseCollector'; +import { logger } from '../utils/Logging'; // 5 min timeout const GLOBAL_TIMEOUT = { timeout: 5 * 60 * 1000 }; const DEFAULT_EXCLUDED_FOLDERS = ['**/node_modules/**', '**/cdk.out/**', '.git/**', '**/dist/**', 'docs/**', '**/bin/**', '**/tmp/**']; -/** - * Interface representing the scanning context. - */ -interface ScanningContext { - readonly projectRoot: string; - readonly workingDir: string; - readonly pip: string; - readonly python: string; -} - -/** - * Interface representing the license configuration. - */ -interface LicenseConfig { - readonly failOnLicenses: string[]; - readonly npm: { - excluded: string[]; - excludedSubProjects: string[]; - }; - readonly python: { - allowedTypes: string[]; - excluded: string[]; - excludedSubProjects: string[]; - }; - excludeFolders: string[]; -} - const VERIFICATION_FILE = './package-verification.json'; -const LICENSE_FILES_SUMMARY_HASH = 'projectList'; const DEFAULT_LICENSE_FILE = { failOnLicenses: [ @@ -87,6 +58,7 @@ const DEFAULT_LICENSE_FILE = { 'UC Berkeley', ], npm: { + cleanInstall: false, excluded: [], excludedSubProjects: [], }, @@ -97,16 +69,25 @@ const DEFAULT_LICENSE_FILE = { }, }; + +const COLLECTORS : Record = { + 'npm': NodeLicenseCollector, + 'python': PythonLicenseCollector, +} + /** * Class to check licenses of NPM and Python projects. */ class LicenseChecker { - readonly licenseCheckerConfiguration: LicenseConfig; - - private verificationJson: Record = {}; // eslint-disable-line - private licenseSection: Record = {}; + private context?: ScanningContext; - private newLicensesSection: Record = {}; + private static loadConfig(configFile: string): LicenseConfig { + if (!existsSync(configFile)) { + logger.info(`License checker configuration file ${configFile} does not exist. Creating one ...`); + writeFileSync(configFile, JSON.stringify(DEFAULT_LICENSE_FILE)); + } + return JSON.parse(readFileSync(configFile, { encoding: 'utf8' })); + } /** * Constructor to initialize the LicenseChecker. @@ -121,22 +102,24 @@ class LicenseChecker { readonly force: boolean = false, readonly fix: boolean = true, readonly debug: boolean = false, + readonly config: LicenseConfig = LicenseChecker.loadConfig(configFile) ) { - if (!existsSync(configFile)) { - console.log(`License checker configuration file ${configFile} does not exist. Creating one ...`); - writeFileSync(configFile, JSON.stringify(DEFAULT_LICENSE_FILE)); - } - - this.licenseCheckerConfiguration = JSON.parse(readFileSync(configFile, { encoding: 'utf8' })); + this.initializeConfig(); + } - this.licenseCheckerConfiguration.excludeFolders = [ + private initializeConfig() { + this.config.excludeFolders = [ ...DEFAULT_EXCLUDED_FOLDERS, - ...(this.licenseCheckerConfiguration.excludeFolders || []), + ...(this.config.excludeFolders || []), + ]; + + this.config.python.allowedTypes = [ + ...(this.config.python.allowedTypes || ["Pipenv"]) ]; - this.licenseCheckerConfiguration.python.allowedTypes = [ - ...(this.licenseCheckerConfiguration.python.allowedTypes || ["Pipenv"]) - ] + this.config.npm.cleanInstall = this.config.npm.cleanInstall || false; + this.config.timeout = this.config.timeout || GLOBAL_TIMEOUT.timeout; + this.config.verificationFile = this.config.verificationFile || VERIFICATION_FILE; } /** @@ -145,708 +128,101 @@ class LicenseChecker { * @returns 0 if successful, 1 if failed. */ scan() { - return this.createScanningEnvironment((context) => { - const npmProjectsToCheck = this.collectNpmPackageJsons(context); + var result = 0; + try { - const pythonProjectsToCheck = this.collectPythonPackages(context); + this.initScanningEnvironment(); - const verifyHashCodes = this.checkHasPackageFileUpdated(context, [ - ...npmProjectsToCheck, - ...pythonProjectsToCheck, - ]); + var projects = this.collect(); - if (verifyHashCodes) { - console.log('Licenses are out of sync.'); + const hasChanged = projects.hasChanged(); + + if (hasChanged) { + logger.info('Licenses are out of sync.'); } - if (this.force || (verifyHashCodes && this.fix)) { - console.log('Licenses are regenerating ...'); - this.runCheckLicenses(context, npmProjectsToCheck, pythonProjectsToCheck); + if (this.force || (hasChanged && this.fix)) { + logger.info('Licenses are regenerating ...'); + this.runLicenseCheckers(projects); - this.mergeLicenseFiles(context); + this.mergeLicenseFiles(); - this.updateVerificationJson(); - console.log('Licenses have been regenerated.'); - } else if (verifyHashCodes) { - console.log('Licenses check failed.'); + projects.updateVerificationJson(); + logger.info('Licenses have been regenerated.'); + } else if (hasChanged) { + logger.info('Licenses check failed.'); return 1; } else { - console.log('Licenses are up to date.'); + logger.info('Licenses are up to date.'); } - return 0; - }); - } - - /** - * Scans the working directory and all subfolder for existing package.json files. - * - * @param context - Scanning environment context. - * @returns Array of paths to package.json files. - */ - private collectNpmPackageJsons(context: ScanningContext) { - const packageJsons = globby.sync('**/package.json', { - cwd: context.projectRoot, - ignore: this.licenseCheckerConfiguration.excludeFolders, - absolute: true, - }); - - return packageJsons.filter( - (jsonPath) => - !this.licenseCheckerConfiguration.npm.excludedSubProjects.find((exclude) => jsonPath.endsWith(exclude)), - ); - } - - /** - * Scans the working directory and all subfolder for existing Pipfile or requirements.txt files. - * - * @param context - Scanning environment context. - * @returns Array of paths to Pipfile or requirements.txt files. - */ - private collectPythonPackages(context: ScanningContext) { - const lookup = this.licenseCheckerConfiguration.python.allowedTypes.map((pkgType) => { switch(pkgType) { - case "Pipenv": return '**/Pipfile'; - case "requirements.txt": return '**/requirements.txt'; - default: throw new Error(`Unsupported type ${pkgType}.`) - }}); - - const pythonPackages = globby.sync(lookup, { - cwd: context.projectRoot, - ignore: this.licenseCheckerConfiguration.excludeFolders, - absolute: true, - }); - - return pythonPackages.filter( - (jsonPath) => - !this.licenseCheckerConfiguration.python.excludedSubProjects.find((exclude) => jsonPath.endsWith(exclude)), - ); - } - - /** - * Checks if there any project file (package.json, Pipfile, or requirements.txt) has been modified since the last scan. - * - * @param context - Scanning environment context. - * @param projectFiles - List of package.json, Pipfile, or requirements.txt files. - * @returns True if any project file has been modified, false otherwise. - */ - private checkHasPackageFileUpdated(context: ScanningContext, projectFiles: string[]) { - if (!existsSync(VERIFICATION_FILE)) { - this.verificationJson = {}; - } else { - this.verificationJson = JSON.parse(readFileSync(VERIFICATION_FILE, { encoding: 'utf8' })); - } - - this.licenseSection = this.verificationJson.license || {}; - - let result = false; - - let projectFilesList = ''; - projectFiles.forEach((projectFile) => { - const projectRelativePath = path.relative(context.projectRoot, projectFile); - const verifiedHashCode = this.licenseSection[projectRelativePath]; - - const currentHashCode = CliHelpers.generateChecksum(projectFile); - - this.newLicensesSection[projectRelativePath] = currentHashCode; - if (verifiedHashCode !== currentHashCode) { - console.log(`File ${projectFile} has changed since last scan.`); - result = true; - } - - projectFilesList += projectRelativePath; - }); - - const currentHashCodeOfProjectFiles = CliHelpers.generateChecksumForText(projectFilesList); - - const verifiedHashCode = this.licenseSection[LICENSE_FILES_SUMMARY_HASH]; - - this.newLicensesSection[LICENSE_FILES_SUMMARY_HASH] = currentHashCodeOfProjectFiles; - if (verifiedHashCode !== currentHashCodeOfProjectFiles) { - console.log('Source of licenses has changed since last scan.'); - result = true; + } catch (error) { + logger.error(error); + logger.error('License scan failed'); + result = 1; + } finally { + this.demolishScanningEnvironment(); } - + return result; } - /** - * Updates the package-verification.json file with the latest license section. - */ - private updateVerificationJson() { - this.verificationJson.license = this.newLicensesSection; - writeFileSync(VERIFICATION_FILE, JSON.stringify(this.verificationJson, null, 2), { encoding: 'utf-8' }); - } - - /** - * Orchestrates the license checking of the projects. - * - * @param context - Scanning environment context. - * @param npmProjectsToCheck - List of NPM projects to verify. - * @param pythonProjectsToCheck - List of Python projects to verify. - */ - private runCheckLicenses(context: ScanningContext, npmProjectsToCheck: string[], pythonProjectsToCheck: string[]) { - console.log('Scanning NPM packages...'); - - npmProjectsToCheck.forEach((npmProjectToCheck) => this.runNPMLicenseCheck(context, npmProjectToCheck)); - - if (pythonProjectsToCheck.length > 0) { - console.log('Scanning Python packages...'); - this.installPythonLibsForLicenseCheck(context); - pythonProjectsToCheck.forEach((pythonProjectToCheck) => - this.runPythonLicenseCheck(context, pythonProjectToCheck), - ); - } - } - - /** - * Installs the NPM dependencies as that is required to be locally present for the license checker tool. - * - * @param projectWorkingDirectory - Working directory of the folder. - */ - private runNPMCI(projectWorkingDirectory: string) { - console.log(`Running NPM CI in folder ${projectWorkingDirectory}`); - - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const commandArgs = existsSync(path.join(projectWorkingDirectory, 'yarn.lock')) ? ['install', '--check-files', '--frozen-lockfile'] : ['ci']; - - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const command = existsSync(path.join(projectWorkingDirectory, 'yarn.lock')) ? 'yarn' : 'npm'; - - const options: SpawnSyncOptions = { - encoding: 'utf8', - stdio: 'inherit', - timeout: 5 * 60 * 1000, - cwd: projectWorkingDirectory, - }; - - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const commandResults = spawnSync(command, commandArgs, options); - - if (commandResults.status !== 0) { - console.error('Failed to run NPM CI.'); - throw new Error('Failed to run NPM CI.'); - } - } - - /** - * Collect the licenses of the NPM dependencies of the project. - * When the NPM project doesn't have a package-lock.json or npm-shrinkwrap.json file, it is assumed that all its dependencies are listed in a higher level package.json. - * - * @param context - Scanning environment context. - * @param npmProjectToCheck - NPM project to check. - */ - private runNPMLicenseCheck(context: ScanningContext, npmProjectToCheck: string) { - const projectRelativePath = path.relative(context.projectRoot, npmProjectToCheck); - const projectFolder = path.dirname(projectRelativePath); - const noticeSuffix = projectRelativePath.replace(/\//g, '-'); - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const tmpNoticeLocation = path.join(context.workingDir, `NOTICE.npm.${noticeSuffix}`); - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const tmpNoticeSummaryLocation = path.join(context.workingDir, `OSS_License_Summary.npm.${noticeSuffix}.csv`); - - console.log(`Checking licenses in ${npmProjectToCheck}`); - if ( - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - existsSync(path.join(context.projectRoot, projectFolder, 'package-lock.json')) || - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - existsSync(path.join(context.projectRoot, projectFolder, 'yarn.lock')) || - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - existsSync(path.join(context.projectRoot, projectFolder, 'npm-shrinkwrap.json')) - ) { - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - this.runNPMCI(path.join(context.projectRoot, projectFolder)); - } else { - console.log( - `NPM project ${npmProjectToCheck} doesn't have a lock file (package-lock.json, yarn.lock, or npm-shrinkwrap.json).`, - ); - console.log("It is assumed that their dependencies as part of another project's dependency list."); - console.log('If this is not the case, please create the lock file with executing npm install.'); - - return; - } - - this.checkedNPMBannedLicenses(context, projectRelativePath, projectFolder); - this.generateNPMNotice(context, projectRelativePath, projectFolder, tmpNoticeLocation); - this.generateNPMSummary(context, projectRelativePath, projectFolder, tmpNoticeSummaryLocation); - } - - /** - * Generates the summary of the various license types used in the NPM project. - * - * @param context - Scanning environment context. - * @param npmProjectFile - NPM project file relative location. - * @param npmPackageFolder - NPM project folder. - * @param tmpNoticeSummaryLocation - Temporary location of the summary file. - */ - private generateNPMSummary( - _: ScanningContext, - npmProjectFile: string, - npmPackageFolder: string, - tmpNoticeSummaryLocation: string, - ) { - const commandArgs = ['-y', NPM_LICENSE_CHECKER_TOOL, '--summary', '--csv', '--start', npmPackageFolder]; - - if (this.licenseCheckerConfiguration.npm.excluded && this.licenseCheckerConfiguration.npm.excluded.length != 0) { - const excludedPackages = this.licenseCheckerConfiguration.npm.excluded.join(';'); - commandArgs.push('--excludePackages', excludedPackages); - } - - const options: SpawnSyncOptions = { - encoding: 'utf8', - stdio: ['ignore', openSync(tmpNoticeSummaryLocation, 'a'), 'inherit'], - ...GLOBAL_TIMEOUT, - }; - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const commandResults = spawnSync('npx', commandArgs, options); - - if (commandResults.status !== 0) { - console.error(`Module ${npmProjectFile} failed the license check.`); - throw new Error(`Module ${npmProjectFile} failed the license check.`); - } - - const csvValues = parse(readFileSync(tmpNoticeSummaryLocation, { encoding: 'utf8' }), { - delimiter: ',', - columns: true, - }); - - const licenseSummary: Record = {}; - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - csvValues.forEach((rows: { [x: string]: any }) => { - const license = rows.license; - if (license) { - const count = licenseSummary[license] || 0; - licenseSummary[license] = count + 1; - } - }); - - let output = '#########################\n'; - output += `# NPM module: ${npmProjectFile}\n`; - output += '#########################\n'; - output += stringify( - Object.entries(licenseSummary) - .sort() - .map(([license, count]) => ({ License: license, Count: count })), - { header: true, quoted: true }, - ); - writeFileSync(tmpNoticeSummaryLocation, output); - } - - /** - * Generates the temporary NOTICE file based on the dependencies used in the NPM project - * - * @param context scanning environment context - * @param npmProjectFile NPM project file relative location - * @param npmPackageFolder NPM project folder - * @param tmpNoticeLocation temporary location of the NOTICE file - */ - private generateNPMNotice( - _: ScanningContext, - npmProjectFile: string, - npmPackageFolder: string, - tmpNoticeLocation: string, - ) { - const commandArgs = ['-y', NPM_LICENSE_CHECKER_TOOL, '--plainVertical']; - - if (this.licenseCheckerConfiguration.npm.excluded && this.licenseCheckerConfiguration.npm.excluded.length != 0) { - const excludedPackages = this.licenseCheckerConfiguration.npm.excluded.join(';'); - commandArgs.push('--excludePackages', excludedPackages); - } - - const options: SpawnSyncOptions = { - cwd: npmPackageFolder, - encoding: 'utf8', - stdio: ['ignore', openSync(tmpNoticeLocation, 'w+'), 'inherit'], - ...GLOBAL_TIMEOUT, - }; - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const commandResults = spawnSync('npx', commandArgs, options); - - if (commandResults.status !== 0) { - console.error(`Module ${npmProjectFile} failed the license check.`); - throw new Error(`Module ${npmProjectFile} failed the license check.`); - } - } - - /** - * Verifies there are no banned Licenses across the dependencies used. - * - * @param context scanning environment context - * @param npmProjectFile NPM project file relative location - * @param projectFolder NPM project file relative location - */ - private checkedNPMBannedLicenses(_: ScanningContext, npmProjectFile: string, projectFolder: string) { - const commandArgs = [ - '-y', - NPM_LICENSE_CHECKER_TOOL, - '--failOn', - this.licenseCheckerConfiguration.failOnLicenses.join(';'), - ]; - - if (this.licenseCheckerConfiguration.npm.excluded && this.licenseCheckerConfiguration.npm.excluded.length != 0) { - const excludedPackages = this.licenseCheckerConfiguration.npm.excluded.join(';'); - commandArgs.push('--excludePackages', excludedPackages); - } - - const options: SpawnSyncOptions = { - cwd: projectFolder, - encoding: 'utf8', - stdio: ['ignore', 'ignore', 'inherit'], - ...GLOBAL_TIMEOUT, - }; - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const commandResults = spawnSync('npx', commandArgs, options); - - if (commandResults.status !== 0) { - console.error(`Project ${npmProjectFile} failed the license check. It contains dependency with banned license.`); - throw new Error( - `Project ${npmProjectFile} failed the license check. It contains dependency with banned license.`, - ); - } - } - - /** - * Installs the python dependencies used to do the license checking into the venv - * - * @param context scanning environment context - */ - private installPythonLibsForLicenseCheck(context: ScanningContext) { - const pipExecutable = context.pip; - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const pipUpgrade = spawnSync(pipExecutable, ['install', '--upgrade', 'pip'], { - stdio: 'ignore', - encoding: 'utf8', - ...GLOBAL_TIMEOUT, - }); - - if (pipUpgrade.status !== 0) { - throw new Error(`Failed to upgrade pip because ${pipUpgrade.stderr}`); - } - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const pipInstall = spawnSync(pipExecutable, ['install', PYTHON_LICENSE_CHECKER_TOOL, 'pipenv'], { - encoding: 'utf8', - ...GLOBAL_TIMEOUT, - }); - - if (pipInstall.status !== 0) { - throw new Error(`Failed to install ${PYTHON_LICENSE_CHECKER_TOOL} and pipenv because ${pipInstall.stderr}`); - } - } - - /** - * Collect the licenses of the Python project - * - * @param context scanning environment context - * @param pythonProjectToCheck Python project to check - */ - private runPythonLicenseCheck(context: ScanningContext, pythonProjectToCheck: string) { - const projectRelativePath = path.relative(context.projectRoot, pythonProjectToCheck); - const noticeSuffix = projectRelativePath.replace(/\//g, '-'); - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const tmpNoticeLocation = path.join(context.workingDir, `NOTICE.python.${noticeSuffix}`); - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const tmpNoticeSummaryLocation = path.join(context.workingDir, `OSS_License_Summary.python.${noticeSuffix}.csv`); - - console.log(`Checking licenses in ${pythonProjectToCheck}`); - process.env.PIPENV_IGNORE_VIRTUALENVS = '1'; - const venvLocation = this.installPythonDependencies(context, projectRelativePath, noticeSuffix); - this.checkedPythonBannedLicenses(context, projectRelativePath, venvLocation); - this.generatePythonNotice(context, projectRelativePath, venvLocation, tmpNoticeLocation); - this.generatePythonSummary(context, projectRelativePath, venvLocation, tmpNoticeSummaryLocation); - } - - /** - * Install the dependencies for the Python project` - * - * @param context scanning environment context - * @param pythonProjectToCheck Python project to check - * @param noticeSuffix suffix to be used to create venv if not pipenv is used - * @returns - */ - private installPythonDependencies(context: ScanningContext, pythonProjectToCheck: string, noticeSuffix: string) { - if (pythonProjectToCheck.endsWith('Pipfile')) { - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const pipenvSync = spawnSync(path.join(context.workingDir, '.venv', 'bin', 'pipenv'), ['sync'], { - cwd: path.dirname(pythonProjectToCheck), - }); - - if (pipenvSync.status !== 0) { - throw new Error(`Failed to synchronize pipenv ${pythonProjectToCheck}`); - } - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const pipenvSyncVenvLocation = spawnSync(path.join(context.workingDir, '.venv', 'bin', 'pipenv'), ['--venv'], { - cwd: path.dirname(pythonProjectToCheck), - stdio: 'pipe', - encoding: 'utf8', - }); - - if (pipenvSyncVenvLocation.status !== 0) { - throw new Error(`Failed to retrieve pipenv venv location for ${pythonProjectToCheck}`); - } - - return pipenvSyncVenvLocation.stdout.trim(); - } else if (pythonProjectToCheck.endsWith('requirements.txt')) { - const venvFolder = '.venv-' + noticeSuffix; - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const venvLocation = path.join(context.workingDir, venvFolder); - - const pythonCommand = context.python; - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const vEnvCreation = spawnSync(pythonCommand, ['-m', 'venv', venvLocation]); + private initScanningEnvironment() { + let workingDir; + if (this.debug) { + workingDir = path.join(process.cwd(), 'license-debug'); - if (vEnvCreation.status !== 0) { - throw new Error(`Failed to create virtual environment ${venvLocation}`); - } - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const pipInstall = spawnSync(path.join(venvLocation, 'bin', 'pip'), ['install', '-r', pythonProjectToCheck], { - cwd: context.projectRoot, - stdio: 'inherit', - encoding: 'utf8', - ...GLOBAL_TIMEOUT, - }); - - if (pipInstall.status !== 0) { - throw new Error(`Failed to install dependencies listed in ${pythonProjectToCheck}`); + if (existsSync(workingDir)) { + rmSync(workingDir, { recursive: true }); } - return venvLocation; + mkdirSync(workingDir); } else { - throw new Error(`Python package ${pythonProjectToCheck} is not a Pipfile or requirements.txt file.`); + workingDir = mkdtempSync(path.join(os.tmpdir(), 'license')); } - } - /** - * Verifies there are no banned Licenses across the dependencies used. - * - * @param context scanning environment context - * @param pythonProjectToCheck Python project file relative location - * @param venvLocation location of the virtual environment - */ - private checkedPythonBannedLicenses(context: ScanningContext, pythonProjectToCheck: string, venvLocation: string) { - const commandArgs = [ - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - `--python=${path.join(venvLocation, 'bin', 'python')}`, - `--fail-on=${this.licenseCheckerConfiguration.failOnLicenses.join(';')}`, - ]; - - this.addPythonPackageExclusion(commandArgs); - - const options: SpawnSyncOptions = { - encoding: 'utf8', - stdio: 'inherit', - ...GLOBAL_TIMEOUT, + this.context = { + projectRoot: process.cwd(), + workingDir: workingDir, }; - const commandResults = spawnSync( - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - path.join(context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), - commandArgs, - options, - ); - - if (commandResults.status !== 0) { - console.error( - `Module ${pythonProjectToCheck} failed the license check. It contains dependency with banned license.`, - ); - throw new Error( - `Module ${pythonProjectToCheck} failed the license check. It contains dependency with banned license.`, - ); - } } - /** - * Extends the base list of command line arguments to exclude packages from the license check - * - * @param commandArgs base list of command line arguments - */ - private addPythonPackageExclusion(commandArgs: string[]) { - if ( - this.licenseCheckerConfiguration.python.excluded && - this.licenseCheckerConfiguration.python.excluded.length != 0 - ) { - commandArgs.push('--ignore-packages', ...this.licenseCheckerConfiguration.python.excluded); + private demolishScanningEnvironment() { + if (this.context?.workingDir && !this.debug) { + rmSync(this.context.workingDir, { recursive: true }); } } - /** - * Generates the summary of the various license types used in the Python project - * - * @param context scanning environment context - * @param pythonProjectToCheck Python project file relative location - * @param venvLocation location of the virtual environment - * @param tmpNoticeSummaryLocation temporary location of the summary file - */ - private generatePythonSummary( - context: ScanningContext, - pythonProjectToCheck: string, - venvLocation: string, - tmpNoticeSummaryLocation: string, - ) { - const commandArgs = [ - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - `--python=${path.join(venvLocation, 'bin', 'python')}`, - '--summary', - '-f', - 'csv', - ]; + private collect() { + var projects = new Projects(this.config, this.context!); - this.addPythonPackageExclusion(commandArgs); + projects.collectProjects('npm', '**/package.json'); + projects.collectProjects('python', this.pythonFileGlobs()); - const options: SpawnSyncOptions = { - encoding: 'utf8', - stdio: ['ignore', openSync(tmpNoticeSummaryLocation, 'w'), 0], - ...GLOBAL_TIMEOUT, - }; - - const commandResults = spawnSync( - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - path.join(context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), - commandArgs, - options, - ); - - if (commandResults.status !== 0) { - console.error(`Module ${pythonProjectToCheck} failed the license check.`); - throw new Error(`Module ${pythonProjectToCheck} failed the license check.`); - } - - const csvValues = parse(readFileSync(tmpNoticeSummaryLocation, { encoding: 'utf8' }), { - delimiter: ',', - columns: true, - quote: true, - }); + return projects; + } - let output = '#########################\n'; - output += `# Python module: ${pythonProjectToCheck}\n`; - output += '#########################\n'; - output += stringify( - // eslint-disable-next-line @typescript-eslint/no-explicit-any - Object.entries(csvValues).map((row: any) => ({ - License: row[1].License, - Count: row[1].Count, - })), - { header: true, quoted: true }, - ); - writeFileSync(tmpNoticeSummaryLocation, output); + private pythonFileGlobs() { + return this.config.python.allowedTypes.map((pkgType) => { switch(pkgType) { + case "Pipenv": return '**/Pipfile'; + case "requirements.txt": return '**/requirements.txt'; + default: throw new Error(`Unsupported type ${pkgType}.`) + }}); } /** - * Generates the temporary NOTICE file based on the dependencies used in the Python project + * Orchestrates the license checking of the projects. * - * @param context scanning environment context - * @param pythonProjectToCheck Python project file relative location - * @param venvLocation location of the virtual environment - * @param tmpNoticeLocation temporary location of the NOTICE file + * @param context - Scanning environment context. + * @param npmProjectsToCheck - List of NPM projects to verify. + * @param pythonProjectsToCheck - List of Python projects to verify. */ - private generatePythonNotice( - context: ScanningContext, - pythonProjectToCheck: string, - venvLocation: string, - tmpNoticeLocation: string, - ) { - const commandArgs = [ - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - `--python=${path.join(venvLocation, 'bin', 'python')}`, - '--format=plain-vertical', - '--with-license-file', - '--no-license-path', - ]; + private runLicenseCheckers(project: Projects) { + logger.debug('Scanning projects ...'); - this.addPythonPackageExclusion(commandArgs); - - const options: SpawnSyncOptions = { - encoding: 'utf8', - stdio: ['ignore', openSync(tmpNoticeLocation, 'w'), 0], - ...GLOBAL_TIMEOUT, - }; - - const commandResults = spawnSync( - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - path.join(context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), - commandArgs, - options, - ); - - if (commandResults.status !== 0) { - console.error(`Module ${pythonProjectToCheck} failed the license check.`); - throw new Error(`Module ${pythonProjectToCheck} failed the license check.`); - } - } - - private createScanningEnvironment(scanning: (context: ScanningContext) => number) { - let workingDir; - let exitCode = 0; - try { - if (this.debug) { - workingDir = path.join(process.cwd(), 'license-debug'); - - if (existsSync(workingDir)) { - rmSync(workingDir, { recursive: true }); - } - - mkdirSync(workingDir); - } else { - workingDir = mkdtempSync(path.join(os.tmpdir(), 'license')); - } - - const venvLocation = path.join(workingDir, '.venv'); - - const pythonCommands = CliHelpers.getPythonCommand(); - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - const vEnvCreation = spawnSync(pythonCommands.pythonExecutable, ['-m', 'venv', venvLocation]); - - if (vEnvCreation.status !== 0) { - throw new Error(`Failed to create virtual environment ${venvLocation}`); - } - - exitCode = scanning({ - projectRoot: process.cwd(), - workingDir: workingDir, - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - pip: path.join(venvLocation, 'bin', pythonCommands.pipExecutable), - // Suppressed as no user input it used to manage the path and child_process - // nosemgrep - python: path.join(venvLocation, 'bin', pythonCommands.pythonExecutable), - }); - } catch (error) { - console.error(error); - console.error('License scan failed'); - exitCode = 1; - } finally { - if (workingDir && !this.debug) { - rmSync(workingDir, { recursive: true }); - } - } - - return exitCode; + Object.entries(COLLECTORS).map(([type, collectorCtor]) => + new collectorCtor(this.config, this.context!, project.getProjects(type)) + ).forEach((collector) => collector.collectLicenses()); } /** @@ -854,10 +230,11 @@ class LicenseChecker { * * @param context scanning environment context */ - private mergeLicenseFiles(context: ScanningContext) { + private mergeLicenseFiles() { + const { workingDir, projectRoot } = this.context!; // Suppressed as no user input it used to manage the path and child_process // nosemgrep - const licenseFiles = globby.sync(path.join(context.workingDir, 'NOTICE.*')); + const licenseFiles = globby.sync(path.join(workingDir, 'NOTICE.*')); let output = ''; @@ -868,11 +245,11 @@ class LicenseChecker { // Suppressed as no user input it used to manage the path and child_process // nosemgrep - writeFileSync(path.join(context.projectRoot, 'NOTICE'), output); + writeFileSync(path.join(projectRoot, 'NOTICE'), output); // Suppressed as no user input it used to manage the path and child_process // nosemgrep - const licenseSummaryFiles = globby.sync(path.join(context.workingDir, 'OSS_License_Summary.*')); + const licenseSummaryFiles = globby.sync(path.join(workingDir, 'OSS_License_Summary.*')); let outputSummary = ''; @@ -883,7 +260,7 @@ class LicenseChecker { // Suppressed as no user input it used to manage the path and child_process // nosemgrep - writeFileSync(path.join(context.projectRoot, 'OSS_License_Summary.csv'), outputSummary); + writeFileSync(path.join(projectRoot, 'OSS_License_Summary.csv'), outputSummary); } } @@ -920,6 +297,8 @@ class Command implements yargs.CommandModule { return args; } handler(args: yargs.Arguments) { + + logger.settings.minLevel = args.debug ? 2 : 3; const result = new LicenseChecker( args.config as string, args.force as boolean, diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/SecurityCommand.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/SecurityCommand.ts index 05cd888..442ba69 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/SecurityCommand.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/SecurityCommand.ts @@ -9,6 +9,7 @@ import * as path from 'path'; import * as globby from 'globby'; import * as yargs from 'yargs'; import { CliHelpers } from '../utils/CliHelpers'; +import { logger } from '../utils/Logging'; // 2 min timeout const GLOBAL_TIMEOUT = { timeout: 2 * 60 * 1000 }; @@ -102,7 +103,7 @@ abstract class SecurityScanner { * @param version The version of the security scanner package to install. */ install(context: ScanningContext, version: string) { - console.log(`Installing ${this.packageName} ${version}`); + logger.info(`Installing ${this.packageName} ${version}`); const commandArgs = ['install', '-q', '--upgrade', `${this.packageName}==${version}`, ...this.additionalPackages]; @@ -115,7 +116,7 @@ abstract class SecurityScanner { }); if (commandResults.status !== 0) { - console.error(`Failed to install ${this.packageName} ${version}`); + logger.error(`Failed to install ${this.packageName} ${version}`); throw new Error(`Failed to install ${this.packageName} ${version}`); } @@ -143,13 +144,13 @@ abstract class SecurityScanner { let result = 0; if (args[this.command]) { this.install(context, version); - console.log(`Scanning with ${this.command} ${version}`); + logger.info(`Scanning with ${this.command} ${version}`); const errorCode = this.doScan(context, args); - console.log(`Scanning with ${this.command} ${version} completed with status: ${errorCode}`); + logger.info(`Scanning with ${this.command} ${version} completed with status: ${errorCode}`); result = errorCode; } else { - console.log(`Scanning with ${this.command} has been skipped by user.`); + logger.info(`Scanning with ${this.command} has been skipped by user.`); } return result; } @@ -221,7 +222,7 @@ class Shellcheck extends SecurityScanner { // no files to check if (files.length == 0) { - console.log('No files to analyze with Shellcheck.'); + logger.info('No files to analyze with Shellcheck.'); return 0; } @@ -391,8 +392,8 @@ class Command implements yargs.CommandModule { scanReportFolder: scanReportFolder, }); } catch (error) { - console.error(error); - console.error('Security scan failed'); + logger.error(error); + logger.error('Security scan failed'); exitCode = 1; } finally { if (workingDir) { @@ -444,9 +445,9 @@ class Command implements yargs.CommandModule { }); if (results === 0) { - console.log('Security scan completed successfully'); + logger.info('Security scan completed successfully'); } else { - console.error('Security scan has finding to resolve.'); + logger.error('Security scan has finding to resolve.'); } return results; diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ValidateCommand.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ValidateCommand.ts index 54192df..ebf170b 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ValidateCommand.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/ValidateCommand.ts @@ -1,10 +1,10 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -/* eslint-disable no-console */ import { readFileSync, existsSync } from 'fs'; import * as yargs from 'yargs'; import { CliHelpers } from '../utils/CliHelpers'; +import { logger } from '../utils/Logging'; /** * The path to the package verification file. @@ -28,7 +28,7 @@ class Command implements yargs.CommandModule { */ static generateChecksum(filePath: string) { const hexCheckSum = CliHelpers.generateChecksum(filePath); - console.log(hexCheckSum); + logger.info(hexCheckSum); CliHelpers.persistChecksum(VERIFICATION_FILE, LOCK_FILE, hexCheckSum); } @@ -43,11 +43,11 @@ class Command implements yargs.CommandModule { static validateChecksum(filePath: string, expectedHash: string) { const hexCheckSum = CliHelpers.generateChecksum(filePath); if (hexCheckSum !== expectedHash) { - console.log( + logger.info( `File at ${filePath} has checksum ${hexCheckSum}, which does not match expected value ${expectedHash}`, ); - console.log('This likely means dependencies have updated. You must get the changes approved before proceeding'); - console.log('Once you get approval, update ./package-verification.json with the new hash to proceed'); + logger.info('This likely means dependencies have updated. You must get the changes approved before proceeding'); + logger.info('Once you get approval, update ./package-verification.json with the new hash to proceed'); yargs.exit(1, new Error('Checksums do not match')); } } diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/NodeLicenseCollector.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/NodeLicenseCollector.ts new file mode 100644 index 0000000..ccacf9d --- /dev/null +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/NodeLicenseCollector.ts @@ -0,0 +1,249 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 +import { SpawnSyncOptions, spawnSync } from 'child_process'; +import { existsSync, readFileSync, openSync, writeFileSync } from 'fs'; +import * as path from 'path'; +import { parse, stringify } from 'csv/sync'; + +import { LicenseCollector, LicenseConfig, ScanningContext } from './Types'; +import { logger } from '../../utils/Logging'; + +const NPM_LICENSE_CHECKER_TOOL = 'license-checker-rseidelsohn'; + +enum ProjectType { + NPM, + YARN, +} + +interface ProjectInfo { + name: string; + projectPath: string; + projectFilePath: string; + projectRelativePath: string; + noticeFile: string; + summaryFile: string; + projectType: ProjectType; +} + +export class NodeLicenseCollector implements LicenseCollector { + constructor( + private config: LicenseConfig, + private context: ScanningContext, + private projectFiles: string[], + ) {} + + collectLicenses() { + logger.info('Checking NPM dependencies'); + for (const projectFile of this.projectFiles) { + const projectInfo = this.getProjectInfo(projectFile); + this.runNPMLicenseCheck(projectInfo); + } + } + + private getProjectInfo(npmProjectToCheck: string): ProjectInfo { + const { projectRoot, workingDir } = this.context; + const projectFilePath = npmProjectToCheck; + const projectPath = path.dirname(projectFilePath); + const projectRelativePath = path.relative(projectRoot, npmProjectToCheck); + const noticeSuffix = projectRelativePath.replace(/\//g, '-'); + + return { + name: projectRelativePath, + projectFilePath: projectFilePath, + projectPath: projectPath, + projectRelativePath: projectRelativePath, + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + noticeFile: path.join(workingDir, `NOTICE.npm.${noticeSuffix}`), + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + summaryFile: path.join(workingDir, `OSS_License_Summary.npm.${noticeSuffix}.csv`), + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + projectType: existsSync(path.join(projectPath, 'yarn.lock')) ? ProjectType.YARN : ProjectType.NPM, + }; + } + + /** + * Collect the licenses of the NPM dependencies of the project. + * When the NPM project doesn't have a package-lock.json or npm-shrinkwrap.json file, it is assumed that all its dependencies are listed in a higher level package.json. + * + */ + private runNPMLicenseCheck(projectInfo: ProjectInfo) { + logger.info(`Checking licenses in ${projectInfo.name}`); + logger.debug('Project: ', projectInfo); + if (this.isProjectLockExists(projectInfo)) { + if (this.config.npm.cleanInstall) { + this.runNPMCI(projectInfo); + } + + this.checkedNPMBannedLicenses(projectInfo); + this.generateNPMNotice(projectInfo); + this.generateNPMSummary(projectInfo); + } else { + logger.info( + `NPM project ${projectInfo.name} doesn't have a lock file (package-lock.json, yarn.lock, or npm-shrinkwrap.json).`, + ); + logger.warn("It is assumed that their dependencies are part of another project's dependency list."); + logger.warn('If this is not the case, please create the lock file by executing npm install.'); + } + } + + /** + * Installs the NPM dependencies as that is required to be locally present for the license checker tool. + * + * @param projectWorkingDirectory - Working directory of the folder. + */ + private runNPMCI(projectInfo: ProjectInfo) { + logger.info(`Fetching Node packages in folder ${projectInfo.projectPath}`); + + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const commandArgs = + projectInfo.projectType == ProjectType.YARN ? ['install', '--check-files', '--frozen-lockfile'] : ['ci']; + + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const command = projectInfo.projectType == ProjectType.YARN ? 'yarn' : 'npm'; + + const options: SpawnSyncOptions = { + encoding: 'utf8', + stdio: 'inherit', + timeout: this.config.timeout, + cwd: projectInfo.projectPath, + }; + + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const commandResults = spawnSync(command, commandArgs, options); + + if (commandResults.status !== 0) { + logger.error('Failed to run NPM CI.'); + logger.debug('CMD:', command, commandArgs); + throw new Error('Failed to run NPM CI.'); + } + } + + /** + * Generates the summary of the various license types used in the NPM project. + */ + private generateNPMSummary(projectInfo: ProjectInfo) { + const commandArgs = ['-y', NPM_LICENSE_CHECKER_TOOL, '--summary', '--csv', '--start', projectInfo.projectPath]; + + if (this.config.npm.excluded && this.config.npm.excluded.length != 0) { + const excludedPackages = this.config.npm.excluded.join(';'); + commandArgs.push('--excludePackages', excludedPackages); + } + + const options: SpawnSyncOptions = { + encoding: 'utf8', + stdio: ['ignore', openSync(projectInfo.summaryFile, 'a'), 'inherit'], + timeout: this.config.timeout, + }; + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const commandResults = spawnSync('npx', commandArgs, options); + + if (commandResults.status !== 0) { + logger.error(`Module ${projectInfo.name} failed the license check.`); + throw new Error(`Module ${projectInfo.name} failed the license check.`); + } + + const csvValues = parse(readFileSync(projectInfo.summaryFile, { encoding: 'utf8' }), { + delimiter: ',', + columns: true, + }); + + const licenseSummary: Record = {}; + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + csvValues.forEach((rows: { [x: string]: any }) => { + const license = rows.license; + if (license) { + const count = licenseSummary[license] || 0; + licenseSummary[license] = count + 1; + } + }); + + let output = '#########################\n'; + output += `# NPM module: ${projectInfo.name}\n`; + output += '#########################\n'; + output += stringify( + Object.entries(licenseSummary) + .sort() + .map(([license, count]) => ({ License: license, Count: count })), + { header: true, quoted: true }, + ); + writeFileSync(projectInfo.summaryFile, output); + } + + /** + * Generates the temporary NOTICE file based on the dependencies used in the NPM project + */ + private generateNPMNotice(projectInfo: ProjectInfo) { + const commandArgs = ['-y', NPM_LICENSE_CHECKER_TOOL, '--plainVertical']; + + if (this.config.npm.excluded && this.config.npm.excluded.length != 0) { + const excludedPackages = this.config.npm.excluded.join(';'); + commandArgs.push('--excludePackages', excludedPackages); + } + + const options: SpawnSyncOptions = { + cwd: projectInfo.projectPath, + encoding: 'utf8', + stdio: ['ignore', openSync(projectInfo.noticeFile, 'w+'), 'inherit'], + timeout: this.config.timeout, + }; + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const commandResults = spawnSync('npx', commandArgs, options); + + if (commandResults.status !== 0) { + logger.error(`Module ${projectInfo.name} failed the license check.`); + throw new Error(`Module ${projectInfo.name} failed the license check.`); + } + } + + /** + * Verifies there are no banned Licenses across the dependencies used. + */ + private checkedNPMBannedLicenses(projectInfo: ProjectInfo) { + const commandArgs = ['-y', NPM_LICENSE_CHECKER_TOOL, '--failOn', this.config.failOnLicenses.join(';')]; + + if (this.config.npm.excluded && this.config.npm.excluded.length != 0) { + const excludedPackages = this.config.npm.excluded.join(';'); + commandArgs.push('--excludePackages', excludedPackages); + } + + const options: SpawnSyncOptions = { + cwd: projectInfo.projectPath, + encoding: 'utf8', + stdio: ['ignore', 'ignore', 'inherit'], + timeout: this.config.timeout, + }; + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const commandResults = spawnSync('npx', commandArgs, options); + + if (commandResults.status !== 0) { + logger.error(`Project ${projectInfo.name} failed the license check. It contains dependency with banned license.`); + throw new Error( + `Project ${projectInfo.name} failed the license check. It contains dependency with banned license.`, + ); + } + } + + private isProjectLockExists(projectInfo: ProjectInfo): boolean { + return ( + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + existsSync(path.join(projectInfo.projectPath, 'package-lock.json')) || + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + existsSync(path.join(projectInfo.projectPath, 'yarn.lock')) || + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + existsSync(path.join(projectInfo.projectPath, 'npm-shrinkwrap.json')) + ); + } +} diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/Projects.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/Projects.ts new file mode 100644 index 0000000..215b634 --- /dev/null +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/Projects.ts @@ -0,0 +1,101 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +// ESLint must be disabled while the https://github.com/adaltas/node-csv/issues/323 has not been solved +/* eslint-disable */ +import { existsSync, readFileSync, writeFileSync } from 'fs'; +import * as path from 'path'; +import * as globby from 'globby'; +import { LicenseConfig, ScanningContext } from './Types'; +import { CliHelpers } from '../../utils/CliHelpers'; +import { logger } from '../../utils/Logging'; + +const LICENSE_FILES_SUMMARY_HASH = 'projectList'; + +export class Projects { + + private scannedProjects: Record = {}; + private verificationJson: Record = {}; + private licenseSection: Record = {}; + private newLicensesSection: Record = {}; + private verificationFilePath: string; + + constructor(readonly config: LicenseConfig, readonly context: ScanningContext) { + this.verificationFilePath = path.resolve(this.context.workingDir, this.config.verificationFile); + } + + public getProjects(type: string) { + return this.scannedProjects[type] || []; + } + + public collectProjects(type: string, pattern: string | string[]) { + + var typeConfig = this.config[type.toLocaleLowerCase() as keyof LicenseConfig] ? + (this.config[type.toLocaleLowerCase() as keyof LicenseConfig] as { projectFiles?: string[]; excludedSubProjects: string[]}): { excludedSubProjects: [] }; + + if (typeConfig.projectFiles) { + this.scannedProjects[type] = typeConfig.projectFiles; + } else { + var excludedSubProjects = typeConfig.excludedSubProjects || []; + + this.scannedProjects[type] = globby.sync(pattern, { + cwd: this.context.projectRoot, + ignore: this.config.excludeFolders, + absolute: true, + }).filter((jsonPath) => !excludedSubProjects.find((exclude) => jsonPath.endsWith(exclude))); + } + } + + /** + * Checks if there any project file (package.json, Pipfile, or requirements.txt) has been modified since the last scan. + * + * @returns True if any project file has been modified, false otherwise. + */ + public hasChanged() { + if (!existsSync(this.verificationFilePath)) { + this.verificationJson = {}; + } else { + this.verificationJson = JSON.parse(readFileSync(this.verificationFilePath, { encoding: 'utf8' })); + } + + this.licenseSection = this.verificationJson.license || {}; + + let result = false; + + let projectFilesList = ''; + Object.values(this.scannedProjects).flat().forEach((projectFile) => { + const projectRelativePath = path.relative(this.context.projectRoot, projectFile); + const verifiedHashCode = this.licenseSection[projectRelativePath]; + + const currentHashCode = CliHelpers.generateChecksum(projectFile); + + this.newLicensesSection[projectRelativePath] = currentHashCode; + if (verifiedHashCode !== currentHashCode) { + logger.info(`File ${projectFile} has changed since last scan.`); + result = true; + } + + projectFilesList += projectRelativePath; + }); + + const currentHashCodeOfProjectFiles = CliHelpers.generateChecksumForText(projectFilesList); + + const verifiedHashCode = this.licenseSection[LICENSE_FILES_SUMMARY_HASH]; + + this.newLicensesSection[LICENSE_FILES_SUMMARY_HASH] = currentHashCodeOfProjectFiles; + if (verifiedHashCode !== currentHashCodeOfProjectFiles) { + logger.info('Source of licenses has changed since last scan.'); + result = true; + } + + return result; + } + + /** + * Updates the package-verification.json file with the latest license section. + */ + public updateVerificationJson() { + this.verificationJson.license = this.newLicensesSection; + writeFileSync(this.verificationFilePath, JSON.stringify(this.verificationJson, null, 2), { encoding: 'utf-8' }); + } +} \ No newline at end of file diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/PythonLicenseCollector.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/PythonLicenseCollector.ts new file mode 100644 index 0000000..35444c3 --- /dev/null +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/PythonLicenseCollector.ts @@ -0,0 +1,372 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 +import { SpawnSyncOptions, spawnSync } from 'child_process'; +import { readFileSync, openSync, writeFileSync } from 'fs'; +import * as path from 'path'; +import { parse, stringify } from 'csv/sync'; +import { LicenseCollector, LicenseConfig, ScanningContext } from './Types'; +import { CliHelpers } from '../../utils/CliHelpers'; +import { logger } from '../../utils/Logging'; + +const PYTHON_LICENSE_CHECKER_TOOL = 'pip-licenses'; + +enum ProjectType { + PIP, + PIPENV, +} + +interface ProjectInfo { + name: string; + projectFilePath: string; + projectPath: string; + projectRelativePath: string; + noticeFile: string; + summaryFile: string; + projectType: ProjectType; +} + +export class PythonLicenseCollector implements LicenseCollector { + private pip: string; + private python: string; + private venvLocation: string; + + constructor( + private config: LicenseConfig, + private context: ScanningContext, + private projectFiles: string[], + ) { + this.pip = 'pip'; + this.python = 'python'; + this.venvLocation = ''; + } + + collectLicenses() { + logger.info('Checking Python dependencies'); + + if (this.projectFiles.length === 0) { + logger.info('No Python project files found.'); + return; + } + + this.installPythonLibsForLicenseCheck(); + + for (const projectFile of this.projectFiles) { + const projectInfo = this.getProjectInfo(projectFile); + this.runPythonLicenseCheck(projectInfo); + } + } + + /** + * Installs the python dependencies used to do the license checking into the venv + */ + private installPythonLibsForLicenseCheck() { + this.venvLocation = path.join(this.context.workingDir, '.venv'); + + const pythonCommands = CliHelpers.getPythonCommand(); + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const vEnvCreation = spawnSync(pythonCommands.pythonExecutable, ['-m', 'venv', this.venvLocation]); + + if (vEnvCreation.status !== 0) { + throw new Error(`Failed to create virtual environment ${this.venvLocation}`); + } + + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + this.pip = path.join(this.venvLocation, 'bin', pythonCommands.pipExecutable); + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + this.python = path.join(this.venvLocation, 'bin', pythonCommands.pythonExecutable); + + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const pipUpgrade = spawnSync(this.pip, ['install', '--upgrade', 'pip'], { + stdio: 'ignore', + encoding: 'utf8', + timeout: this.config.timeout, + }); + + if (pipUpgrade.status !== 0) { + logger.debug('CMD:', this.pip, 'install', '--upgrade', 'pip'); + throw new Error(`Failed to upgrade pip because ${pipUpgrade.stderr}`); + } + + var args = ['install', PYTHON_LICENSE_CHECKER_TOOL]; + + if (this.projectFiles.some((projectFile) => projectFile.endsWith('Pipfile'))) { + args.push('pipenv'); + } + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const pipInstall = spawnSync(this.pip, args, { + encoding: 'utf8', + timeout: this.config.timeout, + }); + + if (pipInstall.status !== 0) { + logger.debug('CMD:', this.pip, ...args); + throw new Error(`Failed to install ${PYTHON_LICENSE_CHECKER_TOOL} because ${pipInstall.stderr}`); + } + } + + private getProjectInfo(projectToCheck: string): ProjectInfo { + const { projectRoot, workingDir } = this.context; + const projectFilePath = projectToCheck; + const projectPath = path.dirname(projectFilePath); + const projectRelativePath = path.relative(projectRoot, projectToCheck); + const noticeSuffix = projectRelativePath.replace(/\//g, '-'); + + return { + name: projectRelativePath, + projectFilePath: projectFilePath, + projectPath: projectPath, + projectRelativePath: projectRelativePath, + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + noticeFile: path.join(workingDir, `NOTICE.python.${noticeSuffix}`), + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + summaryFile: path.join(workingDir, `OSS_License_Summary.python.${noticeSuffix}.csv`), + projectType: projectToCheck.endsWith('Pipfile') ? ProjectType.PIPENV : ProjectType.PIP, + }; + } + + /** + * Collect the licenses of the Python project + */ + private runPythonLicenseCheck(projectInfo: ProjectInfo) { + logger.info(`Checking licenses in ${projectInfo.name}`); + logger.debug('Project: ', projectInfo); + process.env.PIPENV_IGNORE_VIRTUALENVS = '1'; + this.installPythonDependencies(projectInfo); + this.checkedPythonBannedLicenses(projectInfo); + this.generatePythonNotice(projectInfo); + this.generatePythonSummary(projectInfo); + } + + /** + * Install the dependencies for the Python project` + */ + private installPythonDependencies(projectInfo: ProjectInfo) { + if (projectInfo.projectType === ProjectType.PIPENV) { + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const pipenvSync = spawnSync(this.python, ['-m', 'pipenv', 'sync'], { + cwd: projectInfo.projectPath, + stdio: 'pipe', + encoding: 'utf8', + }); + + if (pipenvSync.status !== 0) { + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + logger.debug('CMD:', this.python, '-m', 'pipenv', 'sync'); + logger.debug('STDOUT:', pipenvSync); + throw new Error(`Failed to synchronize pipenv ${projectInfo.name}. Use --debug for more information.`); + } + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const pipenvSyncVenvLocation = spawnSync(this.python, ['-m', 'pipenv', '--venv'], { + cwd: projectInfo.projectPath, + stdio: 'pipe', + encoding: 'utf8', + }); + + if (pipenvSyncVenvLocation.status !== 0) { + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + logger.debug('CMD:', this.python, '-m', 'pipenv', '--venv'); + logger.debug('STDOUT:', pipenvSyncVenvLocation); + throw new Error( + `Failed to retrieve pipenv venv location for ${projectInfo.name}. Use --debug for more information.`, + ); + } + + this.venvLocation = pipenvSyncVenvLocation.stdout.trim(); + } else { + const venvFolder = '.venv-' + projectInfo.name.replace(/\//g, '-'); + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const venvLocation = path.join(this.context.workingDir, venvFolder); + + const pythonCommand = this.python; + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const vEnvCreation = spawnSync(pythonCommand, ['-m', 'venv', venvLocation]); + + if (vEnvCreation.status !== 0) { + throw new Error(`Failed to create virtual environment ${venvLocation}`); + } + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + const pipInstall = spawnSync(path.join(venvLocation, 'bin', 'pip'), ['install', '-r', projectInfo.projectPath], { + cwd: this.context.projectRoot, + stdio: 'inherit', + encoding: 'utf8', + timeout: this.config.timeout, + }); + + if (pipInstall.status !== 0) { + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + logger.debug('CMD:', path.join(venvLocation, 'bin', 'pip'), 'install', '-r', projectInfo.projectPath); + throw new Error(`Failed to install dependencies listed in ${projectInfo.name}`); + } + } + } + + /** + * Verifies there are no banned Licenses across the dependencies used. + */ + private checkedPythonBannedLicenses(projectInfo: ProjectInfo) { + const commandArgs = [ + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + `--python=${path.join(this.venvLocation, 'bin', 'python')}`, + `--fail-on=${this.config.failOnLicenses.join(';')}`, + ]; + + this.addPythonPackageExclusion(commandArgs); + + const options: SpawnSyncOptions = { + encoding: 'utf8', + stdio: 'inherit', + timeout: this.config.timeout, + }; + const commandResults = spawnSync( + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + path.join(this.context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), + commandArgs, + options, + ); + + if (commandResults.status !== 0) { + logger.error(`Module ${projectInfo.name} failed the license check. It contains dependency with banned license.`); + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + logger.debug( + 'CMD:', + path.join(this.context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), + ...commandArgs, + ); + throw new Error( + `Module ${projectInfo.name} failed the license check. It contains dependency with banned license.`, + ); + } + } + + /** + * Extends the base list of command line arguments to exclude packages from the license check + * + * @param commandArgs base list of command line arguments + */ + private addPythonPackageExclusion(commandArgs: string[]) { + if (this.config.python.excluded && this.config.python.excluded.length != 0) { + commandArgs.push('--ignore-packages', ...this.config.python.excluded); + } + } + + /** + * Generates the summary of the various license types used in the Python project + */ + private generatePythonSummary(projectInfo: ProjectInfo) { + const commandArgs = [ + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + `--python=${path.join(this.venvLocation, 'bin', 'python')}`, + '--summary', + '-f', + 'csv', + ]; + + this.addPythonPackageExclusion(commandArgs); + + const options: SpawnSyncOptions = { + encoding: 'utf8', + stdio: ['ignore', openSync(projectInfo.summaryFile, 'w'), 0], + timeout: this.config.timeout, + }; + + const commandResults = spawnSync( + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + path.join(this.context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), + commandArgs, + options, + ); + + if (commandResults.status !== 0) { + logger.error(`Module ${projectInfo.name} failed the license check.`); + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + logger.debug( + 'CMD:', + path.join(this.context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), + ...commandArgs, + ); + throw new Error(`Module ${projectInfo.name} failed the license check.`); + } + + const csvValues = parse(readFileSync(projectInfo.summaryFile, { encoding: 'utf8' }), { + delimiter: ',', + columns: true, + quote: true, + }); + + let output = '#########################\n'; + output += `# Python module: ${projectInfo.name}\n`; + output += '#########################\n'; + output += stringify( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + Object.entries(csvValues).map((row: any) => ({ + License: row[1].License, + Count: row[1].Count, + })), + { header: true, quoted: true }, + ); + writeFileSync(projectInfo.summaryFile, output); + } + + /** + * Generates the temporary NOTICE file based on the dependencies used in the Python project + */ + private generatePythonNotice(projectInfo: ProjectInfo) { + const commandArgs = [ + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + `--python=${path.join(this.venvLocation, 'bin', 'python')}`, + '--format=plain-vertical', + '--with-license-file', + '--no-license-path', + ]; + + this.addPythonPackageExclusion(commandArgs); + + const options: SpawnSyncOptions = { + encoding: 'utf8', + stdio: ['ignore', openSync(projectInfo.noticeFile, 'w'), 0], + timeout: this.config.timeout, + }; + + const commandResults = spawnSync( + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + path.join(this.context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), + commandArgs, + options, + ); + + if (commandResults.status !== 0) { + logger.error(`Module ${projectInfo.name} failed the license check.`); + // Suppressed as no user input it used to manage the path and child_process + // nosemgrep + logger.debug( + 'CMD:', + path.join(this.context.workingDir, '.venv', 'bin', PYTHON_LICENSE_CHECKER_TOOL), + ...commandArgs, + ); + throw new Error(`Module ${projectInfo.name} failed the license check.`); + } + } +} diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/Types.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/Types.ts new file mode 100644 index 0000000..e56b1ee --- /dev/null +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/cmds/license/Types.ts @@ -0,0 +1,42 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +/** + * Interface representing the scanning context. + */ +export interface ScanningContext { + readonly projectRoot: string; + readonly workingDir: string; + // readonly pip: string; + // readonly python: string; +} + +/** + * Interface representing the license configuration. + */ +export interface LicenseConfig { + readonly failOnLicenses: string[]; + readonly npm: { + cleanInstall: boolean; + projectFiles?: string[]; + excluded: string[]; + excludedSubProjects: string[]; + }; + readonly python: { + allowedTypes: string[]; + projectFiles?: string[]; + excluded: string[]; + excludedSubProjects: string[]; + }; + timeout: number; + verificationFile: string; + excludeFolders: string[]; +} + +export interface LicenseCollectorConstructor { + new (config: LicenseConfig, context: ScanningContext, projectFiles: string[]): LicenseCollector; +} + +export interface LicenseCollector { + collectLicenses: () => void; +} diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/index.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/index.ts index e65749d..5c25e8e 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/index.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/index.ts @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 /* eslint-disable no-console */ + import * as yargs from 'yargs'; import checkDependencies from './cmds/CheckDependenciesCommand'; import complianceBucket from './cmds/ComplianceBucketCommand'; @@ -9,6 +10,7 @@ import configure from './cmds/ConfigureCommand'; import license from './cmds/LicenseCommand'; import security from './cmds/SecurityCommand'; import validate from './cmds/ValidateCommand'; +import { logger } from './utils/Logging'; /** * The main function sets up the command-line interface (CLI) using the yargs library. @@ -57,6 +59,6 @@ async function main() { // Start the main function and handle any errors main().catch((e) => { - console.error(e.stack); // Log the error stack trace + logger.error(e.stack); // Log the error stack trace process.exit(1); // Exit with a non-zero status code }); diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/CliHelpers.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/CliHelpers.ts index b9179b4..8134e79 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/CliHelpers.ts +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/CliHelpers.ts @@ -6,6 +6,7 @@ import { spawnSync } from 'child_process'; import { createHash } from 'crypto'; import { existsSync, readdirSync, statSync, readFileSync, writeFileSync } from 'fs'; import * as path from 'path'; +import { logger } from './Logging'; /** * A utility class providing helper functions for various command line operations. @@ -37,7 +38,7 @@ export class CliHelpers { }); if (python3Results.status !== 0) { - console.error('Python is not installed. Security checks will not be executed'); + logger.error('Python is not installed. Security checks will not be executed'); throw new Error('Python is not installed. Security checks will not be executed'); } return { diff --git a/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/Logging.ts b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/Logging.ts new file mode 100644 index 0000000..7990c40 --- /dev/null +++ b/packages/@cdklabs/cdk-cicd-wrapper-cli/src/utils/Logging.ts @@ -0,0 +1,6 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 + +import { Logger } from 'tslog'; + +export const logger = new Logger({ name: 'CDK CI/CD CLI', minLevel: 4 }); diff --git a/packages/@cdklabs/cdk-cicd-wrapper-projen/.projen/tasks.json b/packages/@cdklabs/cdk-cicd-wrapper-projen/.projen/tasks.json index f321b6f..43ff95b 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-projen/.projen/tasks.json +++ b/packages/@cdklabs/cdk-cicd-wrapper-projen/.projen/tasks.json @@ -41,7 +41,7 @@ "builtin": "release/bump-version" } ], - "condition": "! git log --oneline -1 | grep -q \"chore(release):\"" + "condition": "git log --oneline -1 | grep -qv \"chore(release):\"" }, "check-for-updates": { "name": "check-for-updates", diff --git a/packages/@cdklabs/cdk-cicd-wrapper-projen/package.json b/packages/@cdklabs/cdk-cicd-wrapper-projen/package.json index 98410d2..639c2e6 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper-projen/package.json +++ b/packages/@cdklabs/cdk-cicd-wrapper-projen/package.json @@ -34,11 +34,11 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^5.2.1", "prettier": "^3.3.3", - "projen": "^0.84.7", + "projen": "^0.85.2", "typescript": "^5.5.4" }, "dependencies": { - "projen": "^0.84.7" + "projen": "^0.85.2" }, "main": "lib/index.js", "license": "Apache-2.0", diff --git a/packages/@cdklabs/cdk-cicd-wrapper/.projen/tasks.json b/packages/@cdklabs/cdk-cicd-wrapper/.projen/tasks.json index 8e4849e..885e6aa 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper/.projen/tasks.json +++ b/packages/@cdklabs/cdk-cicd-wrapper/.projen/tasks.json @@ -41,7 +41,7 @@ "builtin": "release/bump-version" } ], - "condition": "! git log --oneline -1 | grep -q \"chore(release):\"" + "condition": "git log --oneline -1 | grep -qv \"chore(release):\"" }, "check-for-updates": { "name": "check-for-updates", diff --git a/packages/@cdklabs/cdk-cicd-wrapper/package.json b/packages/@cdklabs/cdk-cicd-wrapper/package.json index eab15c5..ef495f5 100644 --- a/packages/@cdklabs/cdk-cicd-wrapper/package.json +++ b/packages/@cdklabs/cdk-cicd-wrapper/package.json @@ -51,12 +51,12 @@ "jest": "^29.7.0", "jest-junit": "^15", "jsii": "~5.4.0", - "jsii-diff": "^1.101.0", - "jsii-pacmak": "^1.101.0", + "jsii-diff": "^1.102.0", + "jsii-pacmak": "^1.102.0", "jsii-rosetta": "~5.4.0", "prettier": "^3.3.3", - "projen": "^0.84.7", - "ts-jest": "^29.2.3", + "projen": "^0.85.2", + "ts-jest": "^29.2.4", "typescript": "^5.5.4" }, "peerDependencies": { diff --git a/yarn.lock b/yarn.lock index 0046e87..c68f5a5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -93,340 +93,343 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-cognito-identity@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.616.0.tgz#6b855f9625cac2c1df0992ce408bce74a41a6865" - integrity sha512-3yli0rchw7FuI8CmxUKW5z6TzrAJzBm9x+Se20Gqm0idXc2X2RT4Z8axtni5umBu8+4QWgNDZAr/WG6bR/JUGA== +"@aws-sdk/client-cognito-identity@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.635.0.tgz#d1e29344d59e2d0263d9b84f2156cb0d352183a1" + integrity sha512-fRMqHYuYOv53rjiyG7YSoi9QF0WatgwZ4MXt3wZi0pQYISZGzoJKWyUahB762M7N9c0hJFQ1cq1UP0Q46pkx3w== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.616.0" - "@aws-sdk/client-sts" "3.616.0" - "@aws-sdk/core" "3.616.0" - "@aws-sdk/credential-provider-node" "3.616.0" - "@aws-sdk/middleware-host-header" "3.616.0" + "@aws-sdk/client-sso-oidc" "3.635.0" + "@aws-sdk/client-sts" "3.635.0" + "@aws-sdk/core" "3.635.0" + "@aws-sdk/credential-provider-node" "3.635.0" + "@aws-sdk/middleware-host-header" "3.620.0" "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.616.0" - "@aws-sdk/middleware-user-agent" "3.616.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.632.0" "@aws-sdk/region-config-resolver" "3.614.0" "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-endpoints" "3.632.0" "@aws-sdk/util-user-agent-browser" "3.609.0" "@aws-sdk/util-user-agent-node" "3.614.0" "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.2.7" - "@smithy/fetch-http-handler" "^3.2.2" + "@smithy/core" "^2.4.0" + "@smithy/fetch-http-handler" "^3.2.4" "@smithy/hash-node" "^3.0.3" "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.4" - "@smithy/middleware-endpoint" "^3.0.5" - "@smithy/middleware-retry" "^3.0.10" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.15" "@smithy/middleware-serde" "^3.0.3" "@smithy/middleware-stack" "^3.0.3" "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.8" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/url-parser" "^3.0.3" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.10" - "@smithy/util-defaults-mode-node" "^3.0.10" + "@smithy/util-defaults-mode-browser" "^3.0.15" + "@smithy/util-defaults-mode-node" "^3.0.15" "@smithy/util-endpoints" "^2.0.5" "@smithy/util-middleware" "^3.0.3" "@smithy/util-retry" "^3.0.3" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-s3@^3.617.0": - version "3.617.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.617.0.tgz#05c19d2813b75db20c99f5da1bdc79f89cf448f4" - integrity sha512-0f954CU42BhPFVRQCCBc1jAvV9N4XW9I3D4h7tJ8tzxft7fS62MSJkgxRIXNKgWKLeGR7DUbz+XGZ1R5e7pyjA== +"@aws-sdk/client-s3@^3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.635.0.tgz#636588c997e1bcf08cbc59e8778dca11c8e6b219" + integrity sha512-4RP+DJZWqUka1MW2aSEzTzntY3GrDzS26D8dHZvbt2I0x+dSmlnmXiJkCxLjmti2SDVYAGL9gX6e7mLS7W55jA== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.616.0" - "@aws-sdk/client-sts" "3.616.0" - "@aws-sdk/core" "3.616.0" - "@aws-sdk/credential-provider-node" "3.616.0" - "@aws-sdk/middleware-bucket-endpoint" "3.616.0" - "@aws-sdk/middleware-expect-continue" "3.616.0" - "@aws-sdk/middleware-flexible-checksums" "3.616.0" - "@aws-sdk/middleware-host-header" "3.616.0" + "@aws-sdk/client-sso-oidc" "3.635.0" + "@aws-sdk/client-sts" "3.635.0" + "@aws-sdk/core" "3.635.0" + "@aws-sdk/credential-provider-node" "3.635.0" + "@aws-sdk/middleware-bucket-endpoint" "3.620.0" + "@aws-sdk/middleware-expect-continue" "3.620.0" + "@aws-sdk/middleware-flexible-checksums" "3.620.0" + "@aws-sdk/middleware-host-header" "3.620.0" "@aws-sdk/middleware-location-constraint" "3.609.0" "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.616.0" - "@aws-sdk/middleware-sdk-s3" "3.617.0" - "@aws-sdk/middleware-signing" "3.616.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-sdk-s3" "3.635.0" "@aws-sdk/middleware-ssec" "3.609.0" - "@aws-sdk/middleware-user-agent" "3.616.0" + "@aws-sdk/middleware-user-agent" "3.632.0" "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/signature-v4-multi-region" "3.617.0" + "@aws-sdk/signature-v4-multi-region" "3.635.0" "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-endpoints" "3.632.0" "@aws-sdk/util-user-agent-browser" "3.609.0" "@aws-sdk/util-user-agent-node" "3.614.0" "@aws-sdk/xml-builder" "3.609.0" "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.2.7" - "@smithy/eventstream-serde-browser" "^3.0.4" + "@smithy/core" "^2.4.0" + "@smithy/eventstream-serde-browser" "^3.0.6" "@smithy/eventstream-serde-config-resolver" "^3.0.3" - "@smithy/eventstream-serde-node" "^3.0.4" - "@smithy/fetch-http-handler" "^3.2.2" + "@smithy/eventstream-serde-node" "^3.0.5" + "@smithy/fetch-http-handler" "^3.2.4" "@smithy/hash-blob-browser" "^3.1.2" "@smithy/hash-node" "^3.0.3" "@smithy/hash-stream-node" "^3.1.2" "@smithy/invalid-dependency" "^3.0.3" "@smithy/md5-js" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.4" - "@smithy/middleware-endpoint" "^3.0.5" - "@smithy/middleware-retry" "^3.0.10" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.15" "@smithy/middleware-serde" "^3.0.3" "@smithy/middleware-stack" "^3.0.3" "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.8" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/url-parser" "^3.0.3" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.10" - "@smithy/util-defaults-mode-node" "^3.0.10" + "@smithy/util-defaults-mode-browser" "^3.0.15" + "@smithy/util-defaults-mode-node" "^3.0.15" "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" "@smithy/util-retry" "^3.0.3" - "@smithy/util-stream" "^3.1.0" + "@smithy/util-stream" "^3.1.3" "@smithy/util-utf8" "^3.0.0" "@smithy/util-waiter" "^3.1.2" tslib "^2.6.2" -"@aws-sdk/client-sso-oidc@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.616.0.tgz#eb298b1c543465a5f7ebd28f8148d68654edf9d1" - integrity sha512-YY1hpYS/G1uRGjQf88dL8VLHkP/IjGxKeXdhy+JnzMdCkAWl3V9j0fEALw40NZe0x79gr6R2KUOUH/IKYQfUmg== +"@aws-sdk/client-sso-oidc@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.635.0.tgz#6ec6d383ff1d393f0e38e856ec8e9bb55eabbb74" + integrity sha512-RIwDlhzAFttB1vbpznewnPqz7h1H/2UhQLwB38yfZBwYQOxyxVfLV5j5VoUUX3jY4i4qH9wiHc7b02qeAOZY6g== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.616.0" - "@aws-sdk/credential-provider-node" "3.616.0" - "@aws-sdk/middleware-host-header" "3.616.0" + "@aws-sdk/core" "3.635.0" + "@aws-sdk/credential-provider-node" "3.635.0" + "@aws-sdk/middleware-host-header" "3.620.0" "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.616.0" - "@aws-sdk/middleware-user-agent" "3.616.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.632.0" "@aws-sdk/region-config-resolver" "3.614.0" "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-endpoints" "3.632.0" "@aws-sdk/util-user-agent-browser" "3.609.0" "@aws-sdk/util-user-agent-node" "3.614.0" "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.2.7" - "@smithy/fetch-http-handler" "^3.2.2" + "@smithy/core" "^2.4.0" + "@smithy/fetch-http-handler" "^3.2.4" "@smithy/hash-node" "^3.0.3" "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.4" - "@smithy/middleware-endpoint" "^3.0.5" - "@smithy/middleware-retry" "^3.0.10" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.15" "@smithy/middleware-serde" "^3.0.3" "@smithy/middleware-stack" "^3.0.3" "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.8" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/url-parser" "^3.0.3" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.10" - "@smithy/util-defaults-mode-node" "^3.0.10" + "@smithy/util-defaults-mode-browser" "^3.0.15" + "@smithy/util-defaults-mode-node" "^3.0.15" "@smithy/util-endpoints" "^2.0.5" "@smithy/util-middleware" "^3.0.3" "@smithy/util-retry" "^3.0.3" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.616.0.tgz#d4bbb279daf6b4fde7ec2df9243526eb5119b0c0" - integrity sha512-hwW0u1f8U4dSloAe61/eupUiGd5Q13B72BuzGxvRk0cIpYX/2m0KBG8DDl7jW1b2QQ+CflTLpG2XUf2+vRJxGA== +"@aws-sdk/client-sso@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.635.0.tgz#bfeb0b1ee1255413dcff6e83a7cd168f12063127" + integrity sha512-/Hl69+JpFUo9JNVmh2gSvMgYkE4xjd+1okiRoPBbQqjI7YBP2JWCUDP8IoEkNq3wj0vNTq0OWfn6RpZycIkAXQ== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.616.0" - "@aws-sdk/middleware-host-header" "3.616.0" + "@aws-sdk/core" "3.635.0" + "@aws-sdk/middleware-host-header" "3.620.0" "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.616.0" - "@aws-sdk/middleware-user-agent" "3.616.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.632.0" "@aws-sdk/region-config-resolver" "3.614.0" "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-endpoints" "3.632.0" "@aws-sdk/util-user-agent-browser" "3.609.0" "@aws-sdk/util-user-agent-node" "3.614.0" "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.2.7" - "@smithy/fetch-http-handler" "^3.2.2" + "@smithy/core" "^2.4.0" + "@smithy/fetch-http-handler" "^3.2.4" "@smithy/hash-node" "^3.0.3" "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.4" - "@smithy/middleware-endpoint" "^3.0.5" - "@smithy/middleware-retry" "^3.0.10" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.15" "@smithy/middleware-serde" "^3.0.3" "@smithy/middleware-stack" "^3.0.3" "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.8" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/url-parser" "^3.0.3" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.10" - "@smithy/util-defaults-mode-node" "^3.0.10" + "@smithy/util-defaults-mode-browser" "^3.0.15" + "@smithy/util-defaults-mode-node" "^3.0.15" "@smithy/util-endpoints" "^2.0.5" "@smithy/util-middleware" "^3.0.3" "@smithy/util-retry" "^3.0.3" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.616.0.tgz#9616c3693d9ae5232ccc12d570f46abe4ec49d2b" - integrity sha512-FP7i7hS5FpReqnysQP1ukQF1OUWy8lkomaOnbu15H415YUrfCp947SIx6+BItjmx+esKxPkEjh/fbCVzw2D6hQ== +"@aws-sdk/client-sts@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.635.0.tgz#aa27c155a013e0ab0f104ce7f8d51a5bb1199bb0" + integrity sha512-Al2ytE69+cbA44qHlelqhzWwbURikfF13Zkal9utIG5Q6T2c7r8p6sePN92n8l/x1v0FhJ5VTxKak+cPTE0CZQ== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.616.0" - "@aws-sdk/core" "3.616.0" - "@aws-sdk/credential-provider-node" "3.616.0" - "@aws-sdk/middleware-host-header" "3.616.0" + "@aws-sdk/client-sso-oidc" "3.635.0" + "@aws-sdk/core" "3.635.0" + "@aws-sdk/credential-provider-node" "3.635.0" + "@aws-sdk/middleware-host-header" "3.620.0" "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.616.0" - "@aws-sdk/middleware-user-agent" "3.616.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.632.0" "@aws-sdk/region-config-resolver" "3.614.0" "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-endpoints" "3.632.0" "@aws-sdk/util-user-agent-browser" "3.609.0" "@aws-sdk/util-user-agent-node" "3.614.0" "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.2.7" - "@smithy/fetch-http-handler" "^3.2.2" + "@smithy/core" "^2.4.0" + "@smithy/fetch-http-handler" "^3.2.4" "@smithy/hash-node" "^3.0.3" "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.4" - "@smithy/middleware-endpoint" "^3.0.5" - "@smithy/middleware-retry" "^3.0.10" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.15" "@smithy/middleware-serde" "^3.0.3" "@smithy/middleware-stack" "^3.0.3" "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.8" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/url-parser" "^3.0.3" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.10" - "@smithy/util-defaults-mode-node" "^3.0.10" + "@smithy/util-defaults-mode-browser" "^3.0.15" + "@smithy/util-defaults-mode-node" "^3.0.15" "@smithy/util-endpoints" "^2.0.5" "@smithy/util-middleware" "^3.0.3" "@smithy/util-retry" "^3.0.3" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/core@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.616.0.tgz#4d7f79cd62e545e6db677216a17dab84c2b4cda3" - integrity sha512-O/urkh2kECs/IqZIVZxyeyHZ7OR2ZWhLNK7btsVQBQvJKrEspLrk/Fp20Qfg5JDerQfBN83ZbyRXLJOOucdZpw== +"@aws-sdk/core@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.635.0.tgz#74b7d0d7fa3aa39f87ea5cf4e6c97d4d84f4ef14" + integrity sha512-i1x/E/sgA+liUE1XJ7rj1dhyXpAKO1UKFUcTTHXok2ARjWTvszHnSXMOsB77aPbmn0fUp1JTx2kHUAZ1LVt5Bg== dependencies: - "@smithy/core" "^2.2.7" - "@smithy/protocol-http" "^4.0.4" - "@smithy/signature-v4" "^4.0.0" - "@smithy/smithy-client" "^3.1.8" + "@smithy/core" "^2.4.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/property-provider" "^3.1.3" + "@smithy/protocol-http" "^4.1.0" + "@smithy/signature-v4" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" - fast-xml-parser "4.2.5" + "@smithy/util-middleware" "^3.0.3" + fast-xml-parser "4.4.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-cognito-identity@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.616.0.tgz#c8bf11bb125469905a96c3710cdee41ed35ab953" - integrity sha512-bcsf36gdGY2SpvTmoxd7t2235q+Rjg6xnTeCiKs9YuzbNezZ4FosqSORs7/vu2CvyaXWwV28909Q1boZ76v4TA== +"@aws-sdk/credential-provider-cognito-identity@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.635.0.tgz#879cbaa425a2fe6d16e0f083e8602300a339f61e" + integrity sha512-3R8yC9cDtLHX3T8PWu+JSY+OHFjvU4TLqkepfWrEBYKn5VXbRKKnuLJ49D3S9ZiWnisLBL9t5UUEfTiWaOBu3w== dependencies: - "@aws-sdk/client-cognito-identity" "3.616.0" + "@aws-sdk/client-cognito-identity" "3.635.0" "@aws-sdk/types" "3.609.0" "@smithy/property-provider" "^3.1.3" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.609.0.tgz#b3f32e5a8ff8b541e151eadadfb60283aa3d835e" - integrity sha512-v69ZCWcec2iuV9vLVJMa6fAb5xwkzN4jYIT8yjo2c4Ia/j976Q+TPf35Pnz5My48Xr94EFcaBazrWedF+kwfuQ== +"@aws-sdk/credential-provider-env@3.620.1": + version "3.620.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" + integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== dependencies: "@aws-sdk/types" "3.609.0" "@smithy/property-provider" "^3.1.3" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.616.0.tgz#207cbe3e74c6c55208fd4bf0ff59df6e765d2c41" - integrity sha512-1rgCkr7XvEMBl7qWCo5BKu3yAxJs71dRaZ55Xnjte/0ZHH6Oc93ZrHzyYy6UH6t0nZrH+FAuw7Yko2YtDDwDeg== +"@aws-sdk/credential-provider-http@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.635.0.tgz#083439af1336693049958e4b61695e4712b30fd4" + integrity sha512-iJyRgEjOCQlBMXqtwPLIKYc7Bsc6nqjrZybdMDenPDa+kmLg7xh8LxHsu9088e+2/wtLicE34FsJJIfzu3L82g== dependencies: "@aws-sdk/types" "3.609.0" - "@smithy/fetch-http-handler" "^3.2.2" - "@smithy/node-http-handler" "^3.1.3" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/node-http-handler" "^3.1.4" "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.8" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.0" + "@smithy/util-stream" "^3.1.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.616.0.tgz#5bb726e969908a28e960d65016e7440b78056209" - integrity sha512-5gQdMr9cca3xV7FF2SxpxWGH2t6+t4o+XBGiwsHm8muEjf4nUmw7Ij863x25Tjt2viPYV0UStczSb5Sihp7bkA== +"@aws-sdk/credential-provider-ini@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.635.0.tgz#9ca6fe7435f7b6df5579306c39c56ec4cbafd0d7" + integrity sha512-+OqcNhhOFFY08YHLjO9/Y1n37RKAO7LADnsJ7VTXca7IfvYh27BVBn+FdlqnyEb1MQ5ArHTY4pq3pKRIg6RW4Q== dependencies: - "@aws-sdk/credential-provider-env" "3.609.0" - "@aws-sdk/credential-provider-http" "3.616.0" - "@aws-sdk/credential-provider-process" "3.614.0" - "@aws-sdk/credential-provider-sso" "3.616.0" - "@aws-sdk/credential-provider-web-identity" "3.609.0" + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.635.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.635.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.1.4" + "@smithy/credential-provider-imds" "^3.2.0" "@smithy/property-provider" "^3.1.3" "@smithy/shared-ini-file-loader" "^3.1.4" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.616.0.tgz#0887ab7b9bab3031fe3ed8aaee2d4abb5091a67f" - integrity sha512-Se+u6DAxjDPjKE3vX1X2uxjkWgGq69BTo0uTB0vDUiWwBVgh16s9BsBhSAlKEH1CCbbJHvOg4YdTrzjwzqyClg== - dependencies: - "@aws-sdk/credential-provider-env" "3.609.0" - "@aws-sdk/credential-provider-http" "3.616.0" - "@aws-sdk/credential-provider-ini" "3.616.0" - "@aws-sdk/credential-provider-process" "3.614.0" - "@aws-sdk/credential-provider-sso" "3.616.0" - "@aws-sdk/credential-provider-web-identity" "3.609.0" +"@aws-sdk/credential-provider-node@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.635.0.tgz#a255eac2e31c3b67ce9b9dc62c59c5ee0357f26e" + integrity sha512-bmd23mnb94S6AxmWPgqJTnvT9ONKlTx7EPafE1RNO+vUl6mHih4iyqX6ZPaRcSfaPx4U1R7H1RM8cSnafXgaBg== + dependencies: + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.635.0" + "@aws-sdk/credential-provider-ini" "3.635.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.635.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.1.4" + "@smithy/credential-provider-imds" "^3.2.0" "@smithy/property-provider" "^3.1.3" "@smithy/shared-ini-file-loader" "^3.1.4" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.614.0.tgz#b6b9382346dfe51c8fb448595ae55b930532c897" - integrity sha512-Q0SI0sTRwi8iNODLs5+bbv8vgz8Qy2QdxbCHnPk/6Cx6LMf7i3dqmWquFbspqFRd8QiqxStrblwxrUYZi09tkA== +"@aws-sdk/credential-provider-process@3.620.1": + version "3.620.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" + integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== dependencies: "@aws-sdk/types" "3.609.0" "@smithy/property-provider" "^3.1.3" @@ -434,12 +437,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.616.0.tgz#051b1a2eb31fa30866f2c1e95bbcf965911b16c3" - integrity sha512-3rsWs9GBi8Z8Gps5ROwqguxtw+J6OIg1vawZMLRNMqqZoBvbOToe9wEnpid8ylU+27+oG8uibJNlNuRyXApUjw== +"@aws-sdk/credential-provider-sso@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.635.0.tgz#7ee1a3304b081984aa5fba53db6bebdaed9c211f" + integrity sha512-hO/fKyvUaGpK9zyvCnmJz70EputvGWDr2UTOn/RzvcR6UB4yXoFf0QcCMubEsE3v67EsAv6PadgOeJ0vz6IazA== dependencies: - "@aws-sdk/client-sso" "3.616.0" + "@aws-sdk/client-sso" "3.635.0" "@aws-sdk/token-providers" "3.614.0" "@aws-sdk/types" "3.609.0" "@smithy/property-provider" "^3.1.3" @@ -447,82 +450,82 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz#d29222d6894347ee89c781ea090d388656df1d2a" - integrity sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg== +"@aws-sdk/credential-provider-web-identity@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz#b25878c0a05dad60cd5f91e7e5a31a145c2f14be" + integrity sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w== dependencies: "@aws-sdk/types" "3.609.0" "@smithy/property-provider" "^3.1.3" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-providers@^3.617.0": - version "3.617.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.617.0.tgz#624fdd948b2dbd64e7b7be82983a09a8201b60c3" - integrity sha512-ZXzdnHI7Tfsk7Y2hezlhxFHlG2VM5tTWQPZ0qZ/cYCzZxyZfsmSFr/rMi6wJGB2J6ZDbbAohEoOWrEblHVq7Cw== - dependencies: - "@aws-sdk/client-cognito-identity" "3.616.0" - "@aws-sdk/client-sso" "3.616.0" - "@aws-sdk/client-sts" "3.616.0" - "@aws-sdk/credential-provider-cognito-identity" "3.616.0" - "@aws-sdk/credential-provider-env" "3.609.0" - "@aws-sdk/credential-provider-http" "3.616.0" - "@aws-sdk/credential-provider-ini" "3.616.0" - "@aws-sdk/credential-provider-node" "3.616.0" - "@aws-sdk/credential-provider-process" "3.614.0" - "@aws-sdk/credential-provider-sso" "3.616.0" - "@aws-sdk/credential-provider-web-identity" "3.609.0" +"@aws-sdk/credential-providers@^3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.635.0.tgz#2104edaec06b505fa828008edac38843016f3167" + integrity sha512-E5z4EB3oXD+Q5hj4Jmn8lhySWYYZdX/kByIKHaccOfNseAot2/+OzYeEn4SeF+LhRe6rcz8t+n1G3YuZlT+huQ== + dependencies: + "@aws-sdk/client-cognito-identity" "3.635.0" + "@aws-sdk/client-sso" "3.635.0" + "@aws-sdk/client-sts" "3.635.0" + "@aws-sdk/credential-provider-cognito-identity" "3.635.0" + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.635.0" + "@aws-sdk/credential-provider-ini" "3.635.0" + "@aws-sdk/credential-provider-node" "3.635.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.635.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.1.4" + "@smithy/credential-provider-imds" "^3.2.0" "@smithy/property-provider" "^3.1.3" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.616.0.tgz#76b32df698a6d9fddeb64d166df477d4632ce0f9" - integrity sha512-KZv78s8UE7+s3qZCfG3pE9U9XV5WTP478aNWis5gDXmsb5LF7QWzEeR8kve5dnjNlK6qVQ33v+mUZa6lR5PwMw== +"@aws-sdk/middleware-bucket-endpoint@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz#c5dc0e98b6209a91479cad6c2c74fbc5a3429fab" + integrity sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg== dependencies: "@aws-sdk/types" "3.609.0" "@aws-sdk/util-arn-parser" "3.568.0" "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" "@smithy/util-config-provider" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.616.0.tgz#02e4dcee8044c60050dcf4da221b3bdbae36ccf8" - integrity sha512-IM1pfJPm7pDUXa55js9bnGjS8o3ldzDwf95mL9ZAYdEsm10q6i0ZxZbbro2gTq25Ap5ykdeeS34lOSzIqPiW1A== +"@aws-sdk/middleware-expect-continue@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz#6a362c0f0696dc6749108a33de9998e0fa6b50ec" + integrity sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A== dependencies: "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.616.0.tgz#7fac7de33f366fb769ba4d3f1f29129456908339" - integrity sha512-Mrco/dURoTXVqwcnYRcyrFaPTIg36ifg2PK0kUYfSVTGEOClZOQXlVG5zYCZoo3yEMgy/gLT907FjUQxwoifIw== +"@aws-sdk/middleware-flexible-checksums@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz#42cd48cdc0ad9639545be000bf537969210ce8c5" + integrity sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" "@aws-sdk/types" "3.609.0" "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.616.0.tgz#542dac3370374ba3733c96a6bb153e6fe53fafe6" - integrity sha512-mhNfHuGhCDZwYCABebaOvTgOM44UCZZRq2cBpgPZLVKP0ydAv5aFHXv01goexxXHqgHoEGx0uXWxlw0s2EpFDg== +"@aws-sdk/middleware-host-header@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" + integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== dependencies: "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -544,44 +547,34 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.616.0.tgz#fa87c9d77c6f85d02b9cf8394f52b2d6334a63af" - integrity sha512-LQKAcrZRrR9EGez4fdCIVjdn0Ot2HMN12ChnoMGEU6oIxnQ2aSC7iASFFCV39IYfeMh7iSCPj7Wopqw8rAouzg== +"@aws-sdk/middleware-recursion-detection@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" + integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== dependencies: "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@3.617.0": - version "3.617.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.617.0.tgz#515082f2d67bb1fe61e34d0d1205e9034b5c0087" - integrity sha512-zVOS6sNGcLGhq7i+5POmVqmSPNmrQYDFsynpnWMSLsNaej+xvkdSOnytLrUvag3Du4kAxfO5NNIC0GuNj9lcCg== +"@aws-sdk/middleware-sdk-s3@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.635.0.tgz#be7f61c6033a803cde59ec5a29db266b42fdbc01" + integrity sha512-RLdYJPEV4JL/7NBoFUs7VlP90X++5FlJdxHz0DzCjmiD3qCviKy+Cym3qg1gBgHwucs5XisuClxDrGokhAdTQw== dependencies: + "@aws-sdk/core" "3.635.0" "@aws-sdk/types" "3.609.0" "@aws-sdk/util-arn-parser" "3.568.0" + "@smithy/core" "^2.4.0" "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.0.4" - "@smithy/signature-v4" "^4.0.0" - "@smithy/smithy-client" "^3.1.8" + "@smithy/protocol-http" "^4.1.0" + "@smithy/signature-v4" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-stream" "^3.1.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-signing@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.616.0.tgz#7270662413c6c092c2680aa37a80358e8338ec35" - integrity sha512-wwzZFlXyURwo40oz1NmufreQa5DqwnCF8hR8tIP5+oKCyhbkmlmv8xG4Wn51bzY2WEbQhvFebgZSFTEvelCoCg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/signature-v4" "^4.0.0" - "@smithy/types" "^3.3.0" "@smithy/util-middleware" "^3.0.3" + "@smithy/util-stream" "^3.1.3" + "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" "@aws-sdk/middleware-ssec@3.609.0": @@ -593,14 +586,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.616.0": - version "3.616.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.616.0.tgz#fe11d62e9cdc96a354c37968499fa32637a70f45" - integrity sha512-iMcAb4E+Z3vuEcrDsG6T2OBNiqWAquwahP9qepHqfmnmJqHr1mSHtXDYTGBNid31+621sUQmneUQ+fagpGAe4w== +"@aws-sdk/middleware-user-agent@3.632.0": + version "3.632.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.632.0.tgz#274bbf2789268f30c1ff2ef20c395c9dc4f91c96" + integrity sha512-yY/sFsHKwG9yzSf/DTclqWJaGPI2gPBJDCGBujSqTG1zlS7Ot4fqi91DZ6088BFWzbOorDzJFcAhAEFzc6LuQg== dependencies: "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@smithy/protocol-http" "^4.0.4" + "@aws-sdk/util-endpoints" "3.632.0" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -616,15 +609,15 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.617.0": - version "3.617.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.617.0.tgz#2c28e5cb2e937140ee7293000443cbf857515f4c" - integrity sha512-kGbLs9q0/ziuzA1huf0BBh05ChxDeZ8ZWc/kedb80ocq6izOLaGgeqqUR8oB0ianwjel4AQq/iv1fsOIt3wmAA== +"@aws-sdk/signature-v4-multi-region@3.635.0": + version "3.635.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.635.0.tgz#76e8eb66bfd9b661b4f9768b18aca2e04dd781a2" + integrity sha512-J6QY4/invOkpogCHjSaDON1hF03viPpOnsrzVuCvJMmclS/iG62R4EY0wq1alYll0YmSdmKlpJwHMWwGtqK63Q== dependencies: - "@aws-sdk/middleware-sdk-s3" "3.617.0" + "@aws-sdk/middleware-sdk-s3" "3.635.0" "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.0.4" - "@smithy/signature-v4" "^4.0.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/signature-v4" "^4.1.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -654,10 +647,10 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e" - integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw== +"@aws-sdk/util-endpoints@3.632.0": + version "3.632.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.632.0.tgz#f8716bdc75fc322babc6a3faf943ee1d0e462124" + integrity sha512-LlYMU8pAbcEQphOpE6xaNLJ8kPGhklZZTVzZVpVW477NaaGgoGTMYNXTABYHcxeF5E2lLrxql9OmVpvr8GWN8Q== dependencies: "@aws-sdk/types" "3.609.0" "@smithy/types" "^3.3.0" @@ -707,75 +700,53 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" -"@babel/compat-data@^7.24.8": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.9.tgz#53eee4e68f1c1d0282aa0eb05ddb02d033fc43a0" - integrity sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng== +"@babel/compat-data@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" + integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82" - integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg== + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.9" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-module-transforms" "^7.24.9" - "@babel/helpers" "^7.24.8" - "@babel/parser" "^7.24.8" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.9" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.8", "@babel/generator@^7.24.9", "@babel/generator@^7.7.2": - version "7.24.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.10.tgz#a4ab681ec2a78bbb9ba22a3941195e28a81d8e76" - integrity sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg== +"@babel/generator@^7.25.0", "@babel/generator@^7.7.2": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" + integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== dependencies: - "@babel/types" "^7.24.9" + "@babel/types" "^7.25.0" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz#b607c3161cd9d1744977d4f97139572fe778c271" - integrity sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw== +"@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== dependencies: - "@babel/compat-data" "^7.24.8" + "@babel/compat-data" "^7.25.2" "@babel/helper-validator-option" "^7.24.8" browserslist "^4.23.1" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz#75f1e1725742f39ac6584ee0b16d94513da38dd2" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz#b4ede1cde2fd89436397f30dc9376ee06b0f25ee" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== - dependencies: - "@babel/types" "^7.24.7" - "@babel/helper-module-imports@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" @@ -784,16 +755,15 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-module-transforms@^7.24.9": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz#e13d26306b89eea569180868e652e7f514de9d29" - integrity sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw== +"@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-module-imports" "^7.24.7" "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0": version "7.24.8" @@ -808,13 +778,6 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz#83949436890e07fa3d6873c61a96e3bbf692d856" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - "@babel/helper-string-parser@^7.24.8": version "7.24.8" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" @@ -830,13 +793,13 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== -"@babel/helpers@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.8.tgz#2820d64d5d6686cca8789dd15b074cd862795873" - integrity sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ== +"@babel/helpers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" + integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.8" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.0" "@babel/highlight@^7.24.7": version "7.24.7" @@ -848,10 +811,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7", "@babel/parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.8.tgz#58a4dbbcad7eb1d48930524a3fd93d93e9084c6f" - integrity sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" + integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== + dependencies: + "@babel/types" "^7.25.2" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -867,14 +832,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca" + integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -895,7 +874,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.7" -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -909,7 +888,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -937,7 +916,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== @@ -952,41 +938,38 @@ "@babel/helper-plugin-utils" "^7.24.7" "@babel/runtime@^7.18.9", "@babel/runtime@^7.7.6": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.8.tgz#5d958c3827b13cc6d05e038c07fb2e5e3420d82e" - integrity sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA== + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" + integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7", "@babel/template@^7.3.3": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" - integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== +"@babel/template@^7.25.0", "@babel/template@^7.3.3": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" -"@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.8.tgz#6c14ed5232b7549df3371d820fbd9abfcd7dfab7" - integrity sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ== +"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" + integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.8" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.8" - "@babel/types" "^7.24.8" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.2" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.3.3": - version "7.24.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.9.tgz#228ce953d7b0d16646e755acf204f4cf3d08cc73" - integrity sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.3.3": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" + integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== dependencies: "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" @@ -1012,15 +995,15 @@ resolved "https://registry.yarnpkg.com/@cloudcomponents/cdk-pull-request-check/-/cdk-pull-request-check-2.4.0.tgz#b905acbea00c958cb30555588c019124940720f6" integrity sha512-cCtO6T+ahv7UP+WNcggRlwxrupJqZgKKbgAYxbXTyXhuXsyLwpYjgppcFRTGEw5jUFlZNZ3HSs1C3Qkuavgcfw== -"@commitlint/cli@^19.3.0": - version "19.3.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-19.3.0.tgz#44e6da9823a01f0cdcc43054bbefdd2c6c5ddf39" - integrity sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g== +"@commitlint/cli@^19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-19.4.0.tgz#9f93d3ed07e531fcfa371015c8c87e0aa26d974f" + integrity sha512-sJX4J9UioVwZHq7JWM9tjT5bgWYaIN3rC4FP7YwfEwBYiIO+wMyRttRvQLNkow0vCdM0D67r9NEWU0Ui03I4Eg== dependencies: "@commitlint/format" "^19.3.0" "@commitlint/lint" "^19.2.2" - "@commitlint/load" "^19.2.0" - "@commitlint/read" "^19.2.1" + "@commitlint/load" "^19.4.0" + "@commitlint/read" "^19.4.0" "@commitlint/types" "^19.0.3" execa "^8.0.1" yargs "^17.0.0" @@ -1084,10 +1067,10 @@ "@commitlint/rules" "^19.0.3" "@commitlint/types" "^19.0.3" -"@commitlint/load@^19.2.0": - version "19.2.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.2.0.tgz#3ca51fdead4f1e1e09c9c7df343306412b1ef295" - integrity sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ== +"@commitlint/load@^19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.4.0.tgz#7df034e226e300fd577d3f63a72d790d5c821f53" + integrity sha512-I4lCWaEZYQJ1y+Y+gdvbGAx9pYPavqZAZ3/7/8BpWh+QjscAn8AjsUpLV2PycBsEx7gupq5gM4BViV9xwTIJuw== dependencies: "@commitlint/config-validator" "^19.0.3" "@commitlint/execute-rule" "^19.0.0" @@ -1114,10 +1097,10 @@ conventional-changelog-angular "^7.0.0" conventional-commits-parser "^5.0.0" -"@commitlint/read@^19.2.1": - version "19.2.1" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-19.2.1.tgz#7296b99c9a989e60e5927fff8388a1dd44299c2f" - integrity sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw== +"@commitlint/read@^19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-19.4.0.tgz#3866b1f9a272ef6a388986efa349d24228fc8b00" + integrity sha512-r95jLOEZzKDakXtnQub+zR3xjdnrl2XzerPwm7ch1/cc5JGq04tyaNpa6ty0CRCWdVrk4CZHhqHozb8yZwy2+g== dependencies: "@commitlint/top-level" "^19.0.0" "@commitlint/types" "^19.0.3" @@ -1479,20 +1462,20 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@jsii/check-node@1.101.0": - version "1.101.0" - resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.101.0.tgz#175e5a2b9b31f232fd5df2942dacc4b20820aa93" - integrity sha512-io8u1GAF9XGp2crx0C/WGiJeUnHGw5X0du4fisbrNJHmVVFwcJbBMjbfXKWq+JSzl8fo/JV3F1LqtjsnawKA2A== +"@jsii/check-node@1.102.0": + version "1.102.0" + resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.102.0.tgz#d5dce81b60411b35d4890e69eee2b86d606c8672" + integrity sha512-uyKjxCe1ou11RJz6koBr5vXtyaGjTA45hF+H88GNW96vms7jKqmYdMm067Az1OKwl38h02lQRQ2tmoEzV7u74w== dependencies: chalk "^4.1.2" - semver "^7.6.0" + semver "^7.6.3" -"@jsii/spec@^1.101.0": - version "1.101.0" - resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.101.0.tgz#b1c3488d5df2ee0c355e0a3493e3de4add9d7452" - integrity sha512-855OnjKm4RTzRA78GGTNBG/GLe6X/vHJYD58zg7Rw8rWS7sU6iB65TM/7P7R3cufVew8umjjPjvW7ygS6ZqITQ== +"@jsii/spec@^1.102.0": + version "1.102.0" + resolved "https://registry.yarnpkg.com/@jsii/spec/-/spec-1.102.0.tgz#3f9cfcd44e4358ba7259730452e89b2111918524" + integrity sha512-/VcmoEyp7HR0xoFz47/fiyZjAv+0gHG4ZwTbgB+umbB88bTbLZadnqBL7T9OIKQbK4w8HNOaRnHwjNBIYIPxWQ== dependencies: - ajv "^8.13.0" + ajv "^8.17.1" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1602,24 +1585,26 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/core@^2.2.7": - version "2.2.8" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.2.8.tgz#d1edc47584497c58aec741b0a2814cdc1db7b72c" - integrity sha512-1Y0XX0Ucyg0LWTfTVLWpmvSRtFRniykUl3dQ0os1sTd03mKDudR6mVyX+2ak1phwPXx2aEWMAAdW52JNi0mc3A== +"@smithy/core@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.0.tgz#56e917b6ab2dffeba681a05395c40a757d681147" + integrity sha512-cHXq+FneIF/KJbt4q4pjN186+Jf4ZB0ZOqEaZMBhT79srEyGDDBV31NqBRBjazz8ppQ1bJbDJMY9ba5wKFV36w== dependencies: - "@smithy/middleware-endpoint" "^3.0.5" - "@smithy/middleware-retry" "^3.0.11" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.15" "@smithy/middleware-serde" "^3.0.3" - "@smithy/protocol-http" "^4.0.4" - "@smithy/smithy-client" "^3.1.9" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" + "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-middleware" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/credential-provider-imds@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.4.tgz#797116f68cc3ffa658469558cc014f25d9febe09" - integrity sha512-NKyH01m97Xa5xf3pB2QOF3lnuE8RIK0hTVNU5zvZAwZU8uspYO4DHQVlK+Y5gwSrujTfHvbfd1D9UFJAc0iYKQ== +"@smithy/credential-provider-imds@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz#0e0e7ddaff1a8633cb927aee1056c0ab506b7ecf" + integrity sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA== dependencies: "@smithy/node-config-provider" "^3.1.4" "@smithy/property-provider" "^3.1.3" @@ -1637,12 +1622,12 @@ "@smithy/util-hex-encoding" "^3.0.0" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^3.0.4": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz#3e971afd2b8a02a098af8decc4b9e3f35296d6a2" - integrity sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ== +"@smithy/eventstream-serde-browser@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.6.tgz#a4ab4f7cfbd137bcaa54c375276f9214e568fd8f" + integrity sha512-2hM54UWQUOrki4BtsUI1WzmD13/SeaqT/AB3EUJKbcver/WgKNaiJ5y5F5XXuVe6UekffVzuUDrBZVAA3AWRpQ== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" + "@smithy/eventstream-serde-universal" "^3.0.5" "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -1654,30 +1639,30 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz#6301752ca51b3ebabcd2dec112f1dacd990de4c1" - integrity sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg== +"@smithy/eventstream-serde-node@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.5.tgz#2bbf5c9312a28f23bc55ae284efa9499f8b8f982" + integrity sha512-+upXvnHNyZP095s11jF5dhGw/Ihzqwl5G+/KtMnoQOpdfC3B5HYCcDVG9EmgkhJMXJlM64PyN5gjJl0uXFQehQ== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" + "@smithy/eventstream-serde-universal" "^3.0.5" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz#6754de5b94bdc286d8ef1d6bcf22d80f6ab68f30" - integrity sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A== +"@smithy/eventstream-serde-universal@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.5.tgz#e1cc2f71f4d174a03e00ce4b563395a81dd17bec" + integrity sha512-5u/nXbyoh1s4QxrvNre9V6vfyoLWuiVvvd5TlZjGThIikc3G+uNiG9uOTCWweSRjv1asdDIWK7nOmN7le4RYHQ== dependencies: "@smithy/eventstream-codec" "^3.1.2" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/fetch-http-handler@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.2.tgz#67e29be8815dcf793d14186cae00bccaeffb963c" - integrity sha512-3LaWlBZObyGrOOd7e5MlacnAKEwFBmAeiW/TOj2eR9475Vnq30uS2510+tnKbxrGjROfNdOhQqGo5j3sqLT6bA== +"@smithy/fetch-http-handler@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz#c754de7e0ff2541b73ac9ba7cc955940114b3d62" + integrity sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg== dependencies: - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/querystring-builder" "^3.0.3" "@smithy/types" "^3.3.0" "@smithy/util-base64" "^3.0.0" @@ -1743,19 +1728,19 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.4.tgz#7c5804775da0d3d0c045d52293298f608e72311b" - integrity sha512-wySGje/KfhsnF8YSh9hP16pZcl3C+X6zRsvSfItQGvCyte92LliilU3SD0nR7kTlxnAJwxY8vE/k4Eoezj847Q== +"@smithy/middleware-content-length@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" + integrity sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw== dependencies: - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-endpoint@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.5.tgz#76e8a559e891282d3ede9ab8e228e66cbee89b21" - integrity sha512-V4acqqrh5tDxUEGVTOgf2lYMZqPQsoGntCrjrJZEeBzEzDry2d2vcI1QCXhGltXPPY+BMc6eksZMguA9fIY8vA== +"@smithy/middleware-endpoint@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" + integrity sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw== dependencies: "@smithy/middleware-serde" "^3.0.3" "@smithy/node-config-provider" "^3.1.4" @@ -1765,15 +1750,15 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/middleware-retry@^3.0.10", "@smithy/middleware-retry@^3.0.11": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.11.tgz#4a8137a45247233aa83707ff9da3b8ee3dfefbba" - integrity sha512-/TIRWmhwMpv99JCGuMhJPnH7ggk/Lah7s/uNDyr7faF02BxNsyD/fz9Tw7pgCf9tYOKgjimm2Qml1Aq1pbkt6g== +"@smithy/middleware-retry@^3.0.15": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.15.tgz#9b96900cde70d8aafd267e13f4e79241be90e0c7" + integrity sha512-iTMedvNt1ApdvkaoE8aSDuwaoc+BhvHqttbA/FO4Ty+y/S5hW6Ci/CTScG7vam4RYJWZxdTElc3MEfHRVH6cgQ== dependencies: "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/service-error-classification" "^3.0.3" - "@smithy/smithy-client" "^3.1.9" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" "@smithy/util-middleware" "^3.0.3" "@smithy/util-retry" "^3.0.3" @@ -1806,13 +1791,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/node-http-handler@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.3.tgz#1b729a8a2ca6b84618a1e92c53c49a1fcf3a3e5a" - integrity sha512-UiKZm8KHb/JeOPzHZtRUfyaRDO1KPKPpsd7iplhiwVGOeVdkiVJ5bVe7+NhWREMOKomrDIDdSZyglvMothLg0Q== +"@smithy/node-http-handler@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" + integrity sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg== dependencies: "@smithy/abort-controller" "^3.1.1" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/querystring-builder" "^3.0.3" "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -1825,10 +1810,10 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/protocol-http@^4.0.4": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.0.4.tgz#f784a03460b971cf10027d0e7f6673835ed7e637" - integrity sha512-fAA2O4EFyNRyYdFLVIv5xMMeRb+3fRKc/Rt2flh5k831vLvUmNFXcydeg7V3UeEhGURJI4c1asmGJBjvmF6j8Q== +"@smithy/protocol-http@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" + integrity sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA== dependencies: "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -1865,12 +1850,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/signature-v4@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.0.0.tgz#0583baba98819eab49e028166b186ce927c42128" - integrity sha512-ervYjQ+ZvmNG51Ui77IOTPri7nOyo8Kembzt9uwwlmtXJPmFXvslOahbA1blvAVs7G0KlYMiOBog1rAt7RVXxg== +"@smithy/signature-v4@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" + integrity sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag== dependencies: "@smithy/is-array-buffer" "^3.0.0" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" "@smithy/util-hex-encoding" "^3.0.0" "@smithy/util-middleware" "^3.0.3" @@ -1878,16 +1864,16 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/smithy-client@^3.1.8", "@smithy/smithy-client@^3.1.9": - version "3.1.9" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.9.tgz#a0d8e867165db64c2a66762df0db279d1f8029eb" - integrity sha512-My2RaInZ4gSwJUPMaiLR/Nk82+c4LlvqpXA+n7lonGYgCZq23Tg+/xFhgmiejJ6XPElYJysTPyV90vKyp17+1g== +"@smithy/smithy-client@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.2.0.tgz#6db94024e4bdaefa079ac68dbea23dafbea230c8" + integrity sha512-pDbtxs8WOhJLJSeaF/eAbPgXg4VVYFlRcL/zoNYA5WbG3wBL06CHtBSg53ppkttDpAJ/hdiede+xApip1CwSLw== dependencies: - "@smithy/middleware-endpoint" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" "@smithy/middleware-stack" "^3.0.3" - "@smithy/protocol-http" "^4.0.4" + "@smithy/protocol-http" "^4.1.0" "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.1" + "@smithy/util-stream" "^3.1.3" tslib "^2.6.2" "@smithy/types@^3.3.0": @@ -1952,27 +1938,27 @@ dependencies: tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^3.0.10": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.11.tgz#c8a74369405f55d39492b9ec15458cc2fe56b783" - integrity sha512-O3s9DGb3bmRvEKmT8RwvSWK4A9r6svfd+MnJB+UMi9ZcCkAnoRtliulOnGF0qCMkKF9mwk2tkopBBstalPY/vg== +"@smithy/util-defaults-mode-browser@^3.0.15": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.15.tgz#df73b9ae3dddc9126e0bb93ebc720b09d7163858" + integrity sha512-FZ4Psa3vjp8kOXcd3HJOiDPBCWtiilLl57r0cnNtq/Ga9RSDrM5ERL6xt+tO43+2af6Pn5Yp92x2n5vPuduNfg== dependencies: "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.9" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" bowser "^2.11.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^3.0.10": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.11.tgz#288f443b65554597082858c4b6624cd362a2caaa" - integrity sha512-qd4a9qtyOa/WY14aHHOkMafhh9z8D2QTwlcBoXMTPnEwtcY+xpe1JyFm9vya7VsB8hHsfn3XodEtwqREiu4ygQ== +"@smithy/util-defaults-mode-node@^3.0.15": + version "3.0.15" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.15.tgz#d52476e1f2e66525d918b51f8d5a9b0972bf518e" + integrity sha512-KSyAAx2q6d0t6f/S4XB2+3+6aQacm3aLMhs9aLMqn18uYGUepbdssfogW5JQZpc6lXNBnp0tEnR5e9CEKmEd7A== dependencies: "@smithy/config-resolver" "^3.0.5" - "@smithy/credential-provider-imds" "^3.1.4" + "@smithy/credential-provider-imds" "^3.2.0" "@smithy/node-config-provider" "^3.1.4" "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.9" + "@smithy/smithy-client" "^3.2.0" "@smithy/types" "^3.3.0" tslib "^2.6.2" @@ -2009,13 +1995,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-stream@^3.1.0", "@smithy/util-stream@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.1.tgz#2fffe56d9cdf70e94a7cd690e980454b1b35ad23" - integrity sha512-EhRnVvl3AhoHAT2rGQ5o+oSDRM/BUSMPLZZdRJZLcNVUsFAjOs4vHaPdNQivTSzRcFxf5DA4gtO46WWU2zimaw== +"@smithy/util-stream@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.3.tgz#699ee2397cc1d474e46d2034039d5263812dca64" + integrity sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw== dependencies: - "@smithy/fetch-http-handler" "^3.2.2" - "@smithy/node-http-handler" "^3.1.3" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/node-http-handler" "^3.1.4" "@smithy/types" "^3.3.0" "@smithy/util-base64" "^3.0.0" "@smithy/util-buffer-from" "^3.0.0" @@ -2170,16 +2156,16 @@ "@types/node" "*" "@types/node@*": - version "20.14.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.11.tgz#09b300423343460455043ddd4d0ded6ac579b74b" - integrity sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA== + version "22.4.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.4.2.tgz#55fefb1c3dba2ecd7eb76738c6b80da75760523f" + integrity sha512-nAvM3Ey230/XzxtyDcJ+VjvlzpzoHwLsF7JaDRfoI0ytO0mVheerNmM45CtA0yOILXwXXxOrcUWH3wltX+7PSw== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.2" "@types/node@^18": - version "18.19.41" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.41.tgz#27695cf2cac63f22c202b9217c0bcf3fb192a2f0" - integrity sha512-LX84pRJ+evD2e2nrgYCHObGWkiQJ1mL+meAgbvnwk/US6vmMY7S2ygBTGV2Jw91s9vUsLSXeDEkUHZIJGLrhsg== + version "18.19.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.45.tgz#a9ebfe4c316a356be7ca11f753ecb2feda6d6bdf" + integrity sha512-VZxPKNNhjKmaC1SUYowuXSRSMGyQGmQjvvA1xE4QZ0xce2kLtEhPDS+kqpCPBZYgqblCLQ2DAjSzmgCM5auvhA== dependencies: undici-types "~5.26.4" @@ -2193,69 +2179,69 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== -"@types/yargs@^17.0.32", "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== +"@types/yargs@^17.0.33", "@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz#c8ed1af1ad2928ede5cdd207f7e3090499e1f77b" - integrity sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A== + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" + integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.17.0" - "@typescript-eslint/type-utils" "7.17.0" - "@typescript-eslint/utils" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/type-utils" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" "@typescript-eslint/parser@^7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.17.0.tgz#be8e32c159190cd40a305a2121220eadea5a88e7" - integrity sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A== - dependencies: - "@typescript-eslint/scope-manager" "7.17.0" - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/typescript-estree" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" + integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== + dependencies: + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz#e072d0f914662a7bfd6c058165e3c2b35ea26b9d" - integrity sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA== +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== dependencies: - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" -"@typescript-eslint/type-utils@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz#c5da78feb134c9c9978cbe89e2b1a589ed22091a" - integrity sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA== +"@typescript-eslint/type-utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" + integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== dependencies: - "@typescript-eslint/typescript-estree" "7.17.0" - "@typescript-eslint/utils" "7.17.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/utils" "7.18.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.17.0.tgz#7ce8185bdf06bc3494e73d143dbf3293111b9cff" - integrity sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A== +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== -"@typescript-eslint/typescript-estree@7.17.0", "@typescript-eslint/typescript-estree@^7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz#dcab3fea4c07482329dd6107d3c6480e228e4130" - integrity sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw== +"@typescript-eslint/typescript-estree@7.18.0", "@typescript-eslint/typescript-estree@^7": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== dependencies: - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/visitor-keys" "7.17.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2263,22 +2249,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.17.0.tgz#815cd85b9001845d41b699b0ce4f92d6dfb84902" - integrity sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw== +"@typescript-eslint/utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.17.0" - "@typescript-eslint/types" "7.17.0" - "@typescript-eslint/typescript-estree" "7.17.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" -"@typescript-eslint/visitor-keys@7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz#680465c734be30969e564b4647f38d6cdf49bfb0" - integrity sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A== +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== dependencies: - "@typescript-eslint/types" "7.17.0" + "@typescript-eslint/types" "7.18.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": @@ -2326,7 +2312,7 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1, ajv@^8.11.0, ajv@^8.13.0: +ajv@^8.0.1, ajv@^8.11.0, ajv@^8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== @@ -2497,9 +2483,9 @@ astral-regex@^2.0.0: integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async@^3.1.0, async@^3.2.3: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== available-typed-arrays@^1.0.7: version "1.0.7" @@ -2563,22 +2549,25 @@ babel-plugin-jest-hoist@^29.6.3: "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^29.6.3: version "29.6.3" @@ -2621,13 +2610,13 @@ braces@^3.0.3: fill-range "^7.1.1" browserslist@^4.23.1: - version "4.23.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" - integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: - caniuse-lite "^1.0.30001640" - electron-to-chromium "^1.4.820" - node-releases "^2.0.14" + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" update-browserslist-db "^1.1.0" bs-logger@0.x: @@ -2675,10 +2664,10 @@ camelcase@^6.2.0, camelcase@^6.3.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001640: - version "1.0.30001643" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz#9c004caef315de9452ab970c3da71085f8241dbd" - integrity sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg== +caniuse-lite@^1.0.30001646: + version "1.0.30001651" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" + integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== case@1.6.3, case@^1.6.3: version "1.6.3" @@ -2690,12 +2679,12 @@ cdk-nag@2.28.0: resolved "https://registry.yarnpkg.com/cdk-nag/-/cdk-nag-2.28.0.tgz#cbba7c9e7ba2def228ae6460c748517e705a8620" integrity sha512-LhobvJwo9QZ1k9i4iQW/XWANGwFTvLj6JCpbPqU709cBKu6B9c4lbFQUPl2qegEsWz8P76DcawwWxvJ9bDRaQw== -cdklabs-projen-project-types@^0.1.199: - version "0.1.199" - resolved "https://registry.yarnpkg.com/cdklabs-projen-project-types/-/cdklabs-projen-project-types-0.1.199.tgz#5fecc568f41ef4f13306540b552653696b0f4128" - integrity sha512-oBx6l71qgk/IURieQMPNmOxpYiVFC3CRljhkjAXLWVTuwB5bz8xaWgpxDVvxiUCrj0+uWsAlcr+OvPSiy8/QzQ== +cdklabs-projen-project-types@^0.1.200: + version "0.1.200" + resolved "https://registry.yarnpkg.com/cdklabs-projen-project-types/-/cdklabs-projen-project-types-0.1.200.tgz#e23004bd7f6ff23b08b518afe56b2de50b39ea6b" + integrity sha512-4ZrVOZsPa8U2bSzvII9915whuF/oPO2RmbElrknLgXiuKqReiGLU8f8lPK6Thd1X9fH0Nh8ukODlwa7gMxYitA== dependencies: - yaml "^2.4.5" + yaml "^2.5.0" chalk@^2.4.2: version "2.4.2" @@ -2788,10 +2777,10 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== -codemaker@^1.101.0: - version "1.101.0" - resolved "https://registry.yarnpkg.com/codemaker/-/codemaker-1.101.0.tgz#27e5e0311f08061618804e485a015eaa860aa718" - integrity sha512-bAg+N4PA8mniJrCpTYFdaFmJA+3fE1Vjgf4o1EnPc07nw6qRcJsr/D9ZZoutEsvw7UM8OmZp4qZxVzpCqRhhQQ== +codemaker@^1.102.0: + version "1.102.0" + resolved "https://registry.yarnpkg.com/codemaker/-/codemaker-1.102.0.tgz#336dd6a8f7ffd64e02afcee7830c1f8d768f0efe" + integrity sha512-lxsbbcSMxCdT+9wUv1AvBH9791andoWDcQ6s7ZK6KsMZ+UkRLO3obzhi7Zm+RIA3lHecqzaGmOKyRnu0Dx/Zew== dependencies: camelcase "^6.3.0" decamelize "^5.0.1" @@ -2837,15 +2826,14 @@ comment-json@4.2.2: has-own-prop "^2.0.0" repeat-string "^1.6.1" -commonmark@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/commonmark/-/commonmark-0.31.0.tgz#4ac57c61f0d7f5ef82d79447a972c61226ef5abc" - integrity sha512-nuDsQ34gjmgAqjyIz6mbRWBW/XPE9wsBempAMBk2V/AA88ekztjTM46oi07J6c6Y/2Y8TdYCZi9L0pIBt/oMZw== +commonmark@^0.31.1: + version "0.31.1" + resolved "https://registry.yarnpkg.com/commonmark/-/commonmark-0.31.1.tgz#5c8b1b5eaaca00a0912cad68d1f0f00c836cecd3" + integrity sha512-M6pbc3sRU96iiOK7rmjv/TNrXvTaOscvthUCq7YOrlvZWbqAA36fyEtBvyI3nCcEK4u+JAy9sAdtftIeXwIWig== dependencies: entities "~3.0.1" mdurl "~1.0.1" minimist "~1.2.5" - string.prototype.repeat "^1.0.0" compare-func@^2.0.0: version "2.0.0" @@ -2971,19 +2959,19 @@ csv-parse@^5.5.6: resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.6.tgz#0d726d58a60416361358eec291a9f93abe0b6b1a" integrity sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A== -csv-stringify@^6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.0.tgz#7b1491893c917e018a97de9bf9604e23b88647c2" - integrity sha512-edlXFVKcUx7r8Vx5zQucsuMg4wb/xT6qyz+Sr1vnLrdXqlLD1+UKyWNyZ9zn6mUW1ewmGxrpVwAcChGF0HQ/2Q== +csv-stringify@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.5.1.tgz#a31837dd35e34787e3c248159c982a21af964d94" + integrity sha512-+9lpZfwpLntpTIEpFbwQyWuW/hmI/eHuJZD1XzeZpfZTqkf1fyvBbBLXTJJMsBuuS11uTShMqPwzx4A6ffXgRQ== -csv@^6.3.9: - version "6.3.9" - resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.9.tgz#1812e4542aa4ca1e4a70cb5a5d16c1e425451f06" - integrity sha512-eiN+Qu8NwSLxZYia6WzB8xlX/rAQ/8EgK5A4dIF7Bz96mzcr5dW1jlcNmjG0QWySWKfPdCerH3RQ96ZqqsE8cA== +csv@^6.3.10: + version "6.3.10" + resolved "https://registry.yarnpkg.com/csv/-/csv-6.3.10.tgz#960a3a9cef08573ecca2d80ddb71152aca383088" + integrity sha512-5NYZG4AN2ZUthmNxIudgBEdMPUnbQHu9V4QTzBPqQzUP3KQsFiJo+8HQ0+oVxj1PomIT1/f67VI1QH/hsrZLKA== dependencies: csv-generate "^4.4.1" csv-parse "^5.5.6" - csv-stringify "^6.5.0" + csv-stringify "^6.5.1" stream-transform "^3.3.2" dargs@^8.0.0: @@ -3031,9 +3019,9 @@ debug@^3.2.7: ms "^2.1.1" debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== dependencies: ms "2.1.2" @@ -3071,7 +3059,7 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -3154,10 +3142,10 @@ ejs@^3.1.10: dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.820: - version "1.5.0" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.0.tgz#0d3123a9f09189b9c7ab4b5d6848d71b3c1fd0e8" - integrity sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA== +electron-to-chromium@^1.5.4: + version "1.5.13" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" + integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== emittery@^0.13.1: version "0.13.1" @@ -3194,7 +3182,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: version "1.23.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== @@ -3566,10 +3554,10 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== -fast-xml-parser@4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" - integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== +fast-xml-parser@4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz#86dbf3f18edf8739326447bcaac31b4ae7f6514f" + integrity sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw== dependencies: strnum "^1.0.5" @@ -3938,10 +3926,10 @@ human-signals@^5.0.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== -husky@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.1.tgz#73f8f1b58329f377654293148c1a6458f54ca224" - integrity sha512-fCqlqLXcBnXa/TJXmT93/A36tJsjdJkibQ1MuIiFyCCYUlpYpIaj2mv1w+3KR6Rzu1IC3slFTje5f6DUp2A2rg== +husky@^9.1.5: + version "9.1.5" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.5.tgz#2b6edede53ee1adbbd3a3da490628a23f5243b83" + integrity sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag== iconv-lite@^0.4.24: version "0.4.24" @@ -3951,9 +3939,9 @@ iconv-lite@^0.4.24: safer-buffer ">= 2.1.2 < 3" ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" @@ -4681,61 +4669,61 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsii-diff@^1.101.0: - version "1.101.0" - resolved "https://registry.yarnpkg.com/jsii-diff/-/jsii-diff-1.101.0.tgz#d8bf59c522aaf419e9465170db78810a9795f8a9" - integrity sha512-7DvBiLireA91AnWCxt7EcKd04/zp8Rhk8oTYSGtIM57ZNZ+FV7cbrgxmXqja6P1ZXz67N3UAjKC8KdtFXeOqRA== +jsii-diff@^1.102.0: + version "1.102.0" + resolved "https://registry.yarnpkg.com/jsii-diff/-/jsii-diff-1.102.0.tgz#4008ea927f4367eecef813189822df6d6f239109" + integrity sha512-mFXOk5CDlk7ojkomHh2H6ngcknht1/r5Qmeice+B1xlL/fEmySs+g/ILowDED4Yu4P4491kZzh3EDMAaf34NkQ== dependencies: - "@jsii/check-node" "1.101.0" - "@jsii/spec" "^1.101.0" + "@jsii/check-node" "1.102.0" + "@jsii/spec" "^1.102.0" fs-extra "^10.1.0" - jsii-reflect "^1.101.0" + jsii-reflect "^1.102.0" log4js "^6.9.1" yargs "^16.2.0" -jsii-pacmak@^1.101.0: - version "1.101.0" - resolved "https://registry.yarnpkg.com/jsii-pacmak/-/jsii-pacmak-1.101.0.tgz#8ad183be51d5a79e455253b27ae596efcb8a3b35" - integrity sha512-07a04KtOj+Kmx+5XQVD1JG6QOh6JNqFWh4bbzMDKiFx7JoHhQnLq07b/OlUpCuP7J7Q9WaXXYM59EUQpXO07wg== +jsii-pacmak@^1.102.0: + version "1.102.0" + resolved "https://registry.yarnpkg.com/jsii-pacmak/-/jsii-pacmak-1.102.0.tgz#ccf7f98f05c2b1bad34a0b90dbf5c479bd45c1a1" + integrity sha512-3/nqBYNH8n/5IWI0sBFBYl1yATokEDUDQtYFLjzk7oXNWpUJ23/encI78Cs55ZS6UXcfWN3xczGLqCWnsgEpnw== dependencies: - "@jsii/check-node" "1.101.0" - "@jsii/spec" "^1.101.0" + "@jsii/check-node" "1.102.0" + "@jsii/spec" "^1.102.0" clone "^2.1.2" - codemaker "^1.101.0" - commonmark "^0.31.0" + codemaker "^1.102.0" + commonmark "^0.31.1" escape-string-regexp "^4.0.0" fs-extra "^10.1.0" - jsii-reflect "^1.101.0" - semver "^7.6.0" + jsii-reflect "^1.102.0" + semver "^7.6.3" spdx-license-list "^6.9.0" xmlbuilder "^15.1.1" yargs "^16.2.0" -jsii-reflect@^1.101.0: - version "1.101.0" - resolved "https://registry.yarnpkg.com/jsii-reflect/-/jsii-reflect-1.101.0.tgz#e96fa687ba9db5c4b70995839aacceea11abc288" - integrity sha512-ZCFb+laktj/ekNadUYksf+jLZq4fjoQeNe344GwslJOaemGjgAeqy0atV2H8nvTYU8ubszFApUPpdoRvtxgdPw== +jsii-reflect@^1.102.0: + version "1.102.0" + resolved "https://registry.yarnpkg.com/jsii-reflect/-/jsii-reflect-1.102.0.tgz#4d1d3c9e2f51d157a43297d55dd61487bf61e384" + integrity sha512-Lf2l8z3HSRSyouFGpDddfheP2LznKvFDKVlUWEzO+jDnQFOJOYTv4x617Yy5JIeIa9D8f70drRelOqove6hZtQ== dependencies: - "@jsii/check-node" "1.101.0" - "@jsii/spec" "^1.101.0" + "@jsii/check-node" "1.102.0" + "@jsii/spec" "^1.102.0" chalk "^4" fs-extra "^10.1.0" - oo-ascii-tree "^1.101.0" + oo-ascii-tree "^1.102.0" yargs "^16.2.0" jsii-rosetta@~5.4.0: - version "5.4.25" - resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-5.4.25.tgz#77df5ffae3b97c4f2e56d31383f6a4cb38ed1133" - integrity sha512-tXVABsWJMknMNhUpGkbOWaqHYv45vRSxO2ZLY+s+Eiti1R/G2XeGWJd/a9MJDauLaOVODpzN6z1GQ+WYZjZlIw== + version "5.4.31" + resolved "https://registry.yarnpkg.com/jsii-rosetta/-/jsii-rosetta-5.4.31.tgz#8f2d248f867d5edc137e88c94982442c7d26eeff" + integrity sha512-k3NIqwgs6f8kjb7xmQvblqv3y0yEM6IHhsDRBGF+1N7jpjgKJ2pxC/fVsCz8sUsmHr30JIzW1w+dNXHqzlLnLg== dependencies: - "@jsii/check-node" "1.101.0" - "@jsii/spec" "^1.101.0" + "@jsii/check-node" "1.102.0" + "@jsii/spec" "^1.102.0" "@xmldom/xmldom" "^0.8.10" chalk "^4" - commonmark "^0.31.0" + commonmark "^0.31.1" fast-glob "^3.3.2" jsii "~5.4.0" - semver "^7.6.2" + semver "^7.6.3" semver-intersect "^1.5.0" stream-json "^1.8.0" typescript "~5.4" @@ -4743,18 +4731,18 @@ jsii-rosetta@~5.4.0: yargs "^17.7.2" jsii@~5.4.0: - version "5.4.26" - resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.4.26.tgz#8146598ffe2de2f9f160ffd263fc4e9ec416f9f8" - integrity sha512-vb1k7wsVfgYysXagV6ASStC7I+uEFRttSxpVSlz3HTNaoQYgQwiShkpqhRLlzYw9Pl5jERs+457QTVSj7Ze+zg== + version "5.4.33" + resolved "https://registry.yarnpkg.com/jsii/-/jsii-5.4.33.tgz#68433026704eb4b221adf69d4b6e6d209bc71dcb" + integrity sha512-X4VSniNWGn/r6DyWn+yvhgSBk/gETVNICI2WiF+GJlJUWz1545NfxrbE7rkhWUcZ0edRvJ/SRrgiaSa56+cFvQ== dependencies: - "@jsii/check-node" "1.101.0" - "@jsii/spec" "^1.101.0" + "@jsii/check-node" "1.102.0" + "@jsii/spec" "^1.102.0" case "^1.6.3" chalk "^4" downlevel-dts "^0.11.0" fast-deep-equal "^3.1.3" log4js "^6.9.1" - semver "^7.6.2" + semver "^7.6.3" semver-intersect "^1.5.0" sort-json "^2.0.1" spdx-license-list "^6.9.0" @@ -5094,7 +5082,7 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.14: +node-releases@^2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== @@ -5195,10 +5183,10 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -oo-ascii-tree@^1.101.0: - version "1.101.0" - resolved "https://registry.yarnpkg.com/oo-ascii-tree/-/oo-ascii-tree-1.101.0.tgz#bd14acf6a71430c02443f865975ec0c4b4ff03aa" - integrity sha512-hNE9Nfvo4HLa9/dAiaiXUm64KHUvgBa7jPftsb8gZdTv1G1wSMMnd9j7SMcRzaMbDEqi+0cfgeBSIcsKy+k0vA== +oo-ascii-tree@^1.102.0: + version "1.102.0" + resolved "https://registry.yarnpkg.com/oo-ascii-tree/-/oo-ascii-tree-1.102.0.tgz#438e67730bc8503ae28e40a5273075e5f489b875" + integrity sha512-SNcZNfqtov0Af+6hx+qnliUhTOIxPUfboX/zQnc2EdmGHLXKQ3eSPQ40NopCgv4canzl5EvKGlCJaMCvk2viCQ== optionator@^0.9.3: version "0.9.4" @@ -5389,10 +5377,10 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -projen@^0.84.7: - version "0.84.7" - resolved "https://registry.yarnpkg.com/projen/-/projen-0.84.7.tgz#b1c62eecefa0f0e4d00b8d14ba514ef726fd13ca" - integrity sha512-G95O4dPvra0FFBm+SF7IYVXjbQqre7OmfT+SxWiaeZ7UtXRHQk9LCQJzmUBsaGoPNUVzOXFcbrH4BkQgaZ809A== +projen@^0.85.2: + version "0.85.2" + resolved "https://registry.yarnpkg.com/projen/-/projen-0.85.2.tgz#5e5ac64d4c37b089d3d17adc22e0ec418e2e0a31" + integrity sha512-YTEC/MjrnPR+regYBl3CR41+eL7s43DjBKfxZxndTY59m1WjXpTJVzv846nU59dKHqmXf4MyITHC67gs4hgWdg== dependencies: "@iarna/toml" "^2.2.5" case "^1.6.3" @@ -5623,7 +5611,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: +semver@^7.3.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -5810,14 +5798,6 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.repeat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" - integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trim@^1.2.9: version "1.2.9" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" @@ -6011,10 +5991,10 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== -ts-jest@^29.2.3: - version "29.2.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.3.tgz#3d226ac36b8b820151a38f164414f9f6b412131f" - integrity sha512-yCcfVdiBFngVz9/keHin9EnsrQtQtEu3nRykNy9RVp+FiPFFbPJ3Sg6Qg4+TkmH0vMP5qsTKgXSsk80HRwvdgQ== +ts-jest@^29.2.4: + version "29.2.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" + integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== dependencies: bs-logger "0.x" ejs "^3.1.10" @@ -6065,6 +6045,11 @@ tslib@^2.6.2: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== +tslog@^4.9.3: + version "4.9.3" + resolved "https://registry.yarnpkg.com/tslog/-/tslog-4.9.3.tgz#d4167d5f51748bdeab593945bc2d8f9827ea0dba" + integrity sha512-oDWuGVONxhVEBtschLf2cs/Jy8i7h1T+CpdkTNWQgdAF7DhRo2G8vMCgILKe7ojdEkLhICWgI1LYSSKaJsRgcw== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -6137,9 +6122,9 @@ typescript@^5.5.4: integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== typescript@next: - version "5.6.0-dev.20240723" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.0-dev.20240723.tgz#de2cbd7a67f356af4122359a44efb6a6805dd823" - integrity sha512-IciIh6EUuMxUQ9OvnmBtrkJwuVD9zWhl9smsA+5yYz9Zpodi5qs4qhp4KldiUj86dRGREtT3+10PpUX7RMm02Q== + version "5.7.0-dev.20240821" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.0-dev.20240821.tgz#3c89a3f52ae55648249707dc59014fe4980b1bd3" + integrity sha512-0Fy9p2k7DxC6OWPSXqJbrzkaxL4R7N+VRaxHnFeWnYSqwLfKQTX2JeARy+MGcSphRP9KKe/DtMGXYdoULHjMHw== typescript@~5.4: version "5.4.5" @@ -6161,6 +6146,11 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + unicorn-magic@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" @@ -6365,10 +6355,10 @@ yaml@1.10.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.2.2, yaml@^2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" - integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== +yaml@^2.2.2, yaml@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" + integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== yargs-parser@^18.1.2: version "18.1.3"