diff --git a/.github/ISSUE_TEMPLATE/0-scanner_run_bug.yml b/.github/ISSUE_TEMPLATE/0-scanner_run_bug.yml
index 1af86319a..cbacd1a18 100644
--- a/.github/ISSUE_TEMPLATE/0-scanner_run_bug.yml
+++ b/.github/ISSUE_TEMPLATE/0-scanner_run_bug.yml
@@ -77,7 +77,7 @@ body:
description: |
What do you get from the command "sf plugins"?
placeholder: |
- Example: @salesforce/sfdx-scanner 4.1.0 (latest-beta)
+ Example: @salesforce/sfdx-scanner 4.3.0 (latest)
validations:
required: true
- type: textarea
diff --git a/.github/ISSUE_TEMPLATE/1-scanner_run_dfa_bug.yml b/.github/ISSUE_TEMPLATE/1-scanner_run_dfa_bug.yml
index 928089ae9..cee2cb8cf 100644
--- a/.github/ISSUE_TEMPLATE/1-scanner_run_dfa_bug.yml
+++ b/.github/ISSUE_TEMPLATE/1-scanner_run_dfa_bug.yml
@@ -81,7 +81,7 @@ body:
description: |
What do you get from the command "sf plugins"?
placeholder: |
- Example: @salesforce/sfdx-scanner 4.1.0 (latest-beta)
+ Example: @salesforce/sfdx-scanner 4.3.0 (latest)
validations:
required: true
- type: input
diff --git a/.github/ISSUE_TEMPLATE/2-scanner_run_false_result.yml b/.github/ISSUE_TEMPLATE/2-scanner_run_false_result.yml
index 729fb7684..a27802a2a 100644
--- a/.github/ISSUE_TEMPLATE/2-scanner_run_false_result.yml
+++ b/.github/ISSUE_TEMPLATE/2-scanner_run_false_result.yml
@@ -71,7 +71,7 @@ body:
description: |
What do you get from the command "sf plugins"?
placeholder: |
- Example: @salesforce/sfdx-scanner 4.1.0 (latest-beta)
+ Example: @salesforce/sfdx-scanner 4.3.0 (latest)
validations:
required: true
- type: textarea
diff --git a/.github/ISSUE_TEMPLATE/3-scanner_run_dfa_false_result.yml b/.github/ISSUE_TEMPLATE/3-scanner_run_dfa_false_result.yml
index fee67e2ab..f2017f7db 100644
--- a/.github/ISSUE_TEMPLATE/3-scanner_run_dfa_false_result.yml
+++ b/.github/ISSUE_TEMPLATE/3-scanner_run_dfa_false_result.yml
@@ -58,7 +58,7 @@ body:
description: |
What do you get from the command "sf plugins"?
placeholder: |
- Example: @salesforce/sfdx-scanner 4.1.0 (latest-beta)
+ Example: @salesforce/sfdx-scanner 4.3.0 (latest)
validations:
required: true
- type: input
diff --git a/.github/workflows/publish-to-npm.yml b/.github/workflows/publish-to-npm.yml
index 5f89a4133..0689b8070 100644
--- a/.github/workflows/publish-to-npm.yml
+++ b/.github/workflows/publish-to-npm.yml
@@ -53,7 +53,7 @@ jobs:
with:
ctc: false # We've been told we don't have to care about this until someone makes us care.
sign: true
- tag: latest-beta-rc # Publish as a release candidate, so we can do our validations against it.
+ tag: latest-rc # Publish as a release candidate, so we can do our validations against it.
githubTag: ${{ github.event.release.tag_name || inputs.tag }}
secrets: inherit
# Step 3: Run smoke tests against the release candidate.
@@ -81,7 +81,7 @@ jobs:
java-version: '11' # For now, Java version is hardcoded.
# Install SF, and the release candidate version.
- run: npm install -g @salesforce/cli
- - run: sf plugins install @salesforce/sfdx-scanner@latest-beta-rc
+ - run: sf plugins install @salesforce/sfdx-scanner@latest-rc
# Log the installed plugins for easier debugging.
- run: sf plugins
# Attempt to run the smoke tests.
@@ -102,7 +102,7 @@ jobs:
node-version: 'lts/*'
- run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
- npm dist-tag add @salesforce/sfdx-scanner@${{ github.event.release.tag_name || inputs.tag }} latest-beta
+ npm dist-tag add @salesforce/sfdx-scanner@${{ github.event.release.tag_name || inputs.tag }} latest
# Step 5: Create a Pull Request for merging `main` into `dev`
create-main2dev-pull-request:
needs: promote-to-latest
diff --git a/.gitignore b/.gitignore
index ef7fe04da..2b561613e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -159,3 +159,7 @@ pmd-cataloger/bin
sfge*.log.gz
npm-shrinkwrap.json
+/cli-messaging/out/
+
+# Cache file(s)
+/.sfge-cache/fileToEntryMapData.json
diff --git a/package.json b/package.json
index bbbb005fe..562e06344 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@salesforce/sfdx-scanner",
"description": "Static code scanner that applies quality and security rules to Apex code, and provides feedback.",
- "version": "4.2.0",
+ "version": "4.3.0",
"author": "Salesforce Code Analyzer Team",
"bugs": "https://github.com/forcedotcom/sfdx-scanner/issues",
"dependencies": {
diff --git a/pmd-appexchange/docs/AvoidApiSessionId.md b/pmd-appexchange/docs/AvoidApiSessionId.md
index 0f4a66bd4..97a2490a5 100644
--- a/pmd-appexchange/docs/AvoidApiSessionId.md
+++ b/pmd-appexchange/docs/AvoidApiSessionId.md
@@ -3,14 +3,14 @@ AvoidApiSessionId[](#avoidapisessionid)
**Violation:**
- Session ID use is not approved.
+ Session ID use may not be approved.
**Priority:** High (2)
**Description:**
- Detects use of Api.Session_ID to retrieve a session ID.
+ Detects use of Api.Session_ID to retrieve a session ID. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidApiSessionIdInXML.md b/pmd-appexchange/docs/AvoidApiSessionIdInXML.md
index dec547b97..a8b810832 100644
--- a/pmd-appexchange/docs/AvoidApiSessionIdInXML.md
+++ b/pmd-appexchange/docs/AvoidApiSessionIdInXML.md
@@ -10,7 +10,7 @@ AvoidApiSessionIdInXML[](#avoidapisessionidinxml)
**Description:**
- Detects use of Api.Session_ID to retrieve a session ID.
+ Detects use of Api.Session_ID to retrieve a session ID. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidAuraWithLockerDisabled.md b/pmd-appexchange/docs/AvoidAuraWithLockerDisabled.md
deleted file mode 100644
index 487d9fd31..000000000
--- a/pmd-appexchange/docs/AvoidAuraWithLockerDisabled.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidAuraWithLockerDisabled[](#avoidaurawithlockerdisabled)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- To enable Lightning Locker, update the apiVersion to version 40 or greater.
-
-
-**Priority:** Critical (1)
-
-**Description:**
-
- Detects use of API versions with Lightning Locker disabled in Aura components. Use API version 40 or greater.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidCallingSystemResetPasswordWithEmailTemplate.md b/pmd-appexchange/docs/AvoidCallingSystemResetPasswordWithEmailTemplate.md
deleted file mode 100644
index d522f0b12..000000000
--- a/pmd-appexchange/docs/AvoidCallingSystemResetPasswordWithEmailTemplate.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidCallingSystemResetPasswordWithEmailTemplate[](#avoidcallingsystemresetpasswordwithemailtemplate)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Before calling System.resetPasswordWithEmailTemplate(), perform the necessary authorization checks.
-
-
-**Priority:** Critical (1)
-
-**Description:**
-
- Detects where System.resetPasswordWithEmailTemplate() exists in Apex code. Use this method with caution.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidChangeProtection.md b/pmd-appexchange/docs/AvoidChangeProtection.md
deleted file mode 100644
index ea3644f55..000000000
--- a/pmd-appexchange/docs/AvoidChangeProtection.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidChangeProtection[](#avoidchangeprotection)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Update your code to avoid using FeatureManagement.changeProtection.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects potential misuse of FeatureManagement.changeProtection.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidChangeProtectionUnprotected.md b/pmd-appexchange/docs/AvoidChangeProtectionUnprotected.md
index 3abed876f..c66a30f3d 100644
--- a/pmd-appexchange/docs/AvoidChangeProtectionUnprotected.md
+++ b/pmd-appexchange/docs/AvoidChangeProtectionUnprotected.md
@@ -3,7 +3,7 @@ AvoidChangeProtectionUnprotected[](#avoidchangeprotectionunprotected)
**Violation:**
- Update your code to avoid using FeatureManagement.changeProtection called by an UnProtected argument.
+ Ensure appropriate authorization checks are in-place before invoking FeatureManagement.changeProtection called with 'UnProtected' argument.
**Priority:** Critical (1)
diff --git a/pmd-appexchange/docs/AvoidCreateElementScriptLinkTag.md b/pmd-appexchange/docs/AvoidCreateElementScriptLinkTag.md
new file mode 100644
index 000000000..38dd0388f
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidCreateElementScriptLinkTag.md
@@ -0,0 +1,26 @@
+AvoidCreateElementScriptLinkTag[](#avoidcreateelementscriptlinktag)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ Load JavaScript/CSS only from static resources.
+
+
+**Priority:** High (2)
+
+**Description:**
+
+ Detects dynamic creation of script or link tags
+
+**Example(s):**
+
+
+
+```
+
+```
+
+See more examples on properly using static resources here: https://developer.salesforce.com/docs/atlas.en-us.236.0.secure_coding_guide.meta/secure_coding_guide/secure_coding_cross_site_scripting.htm
+
+
+
diff --git a/pmd-appexchange/docs/AvoidGetInstanceWithTaint.md b/pmd-appexchange/docs/AvoidGetInstanceWithTaint.md
new file mode 100644
index 000000000..ee47c89c1
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidGetInstanceWithTaint.md
@@ -0,0 +1,20 @@
+AvoidGetInstanceWithTaint[](#avoidgetinstancewithtaint)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ getInstance() is invoked with a potentially tainted parameter.
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+ Detects use of getInstance(userId)/getInstance(profileId). Hierarchy Custom Settings return the record owned by the current user when `getInstance()` is invoked without any parameters.
+But if a tainted/end-user controlled `userId` or `profileId` is passed as a parameter to `getInstance()` that will allow the code to access records owned by other users on the org.
+Protected Custom Settings are the recommended approach to store subscriber owned secrets. Passing `userId` or `proileId` parameters to `getInstance()` could allow a user access to secrets that belong other other users on the org.
+
+**Example(s):**
+
+
+
diff --git a/pmd-appexchange/docs/AvoidGlobalInstallUninstallHandlers.md b/pmd-appexchange/docs/AvoidGlobalInstallUninstallHandlers.md
index 71f76a09e..bfa185203 100644
--- a/pmd-appexchange/docs/AvoidGlobalInstallUninstallHandlers.md
+++ b/pmd-appexchange/docs/AvoidGlobalInstallUninstallHandlers.md
@@ -10,7 +10,12 @@ AvoidGlobalInstallUninstallHandlers[](#avoidglobalinstalluninstallhandlers)
**Description:**
- Detects Install and Uninstall handlers declared as global
+ Detects Install and Uninstall handlers declared as global. Install and Uninstall Handlers don't need to be global classes.
+Using `global` for these handlers means global methods in these classes act as controllers and can be invoked by untrusted code outside the context of post-install/uninstall scenarios.
+Depending on the logic in these handlers, there could potentially unintended consequences.
+For ex: Sometimes post install handlers are used to generate an encryption key to be stored in a protected custom settings object. But if the classes are global, then other untrusted code in the org can invoke the global method and the encryption key may be over-written.
+Or
+Helper classes for post-install handlers are recommended to be used "without sharing" - which is acceptable in the context of post-install exectution; but could lead to potential security concerns if "without sharing" classes are invoked by untrusted code.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidHardcodedCredentials.md b/pmd-appexchange/docs/AvoidHardcodedCredentials.md
deleted file mode 100644
index 79ef09293..000000000
--- a/pmd-appexchange/docs/AvoidHardcodedCredentials.md
+++ /dev/null
@@ -1,47 +0,0 @@
-AvoidHardcodedCredentials[](#avoidhardcodedcredentials)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Remove hard-coded credentials from source code.
-
-
-**Priority:** Medium (3)
-
-**Description:**
-
- Identifies hard-coded credentials in source code that must be protected using Protected Custom metadata or Protected Custom settings.
-
-**Example(s):**
-
- Correct Method
-
-```
-
-
- List
- false
-
- Protected
-
-```
-
-Incorrect Method
-
-```
-public with sharing class test3 {
- public test3() {
- String key = 'supersecurepassword';
- HttpRequest req = new HttpRequest();
- req.setEndpoint('https://www.example.com/test?APIKEY='+key);
- req.setMethod('GET');
- Http http = new Http();
- HTTPResponse res = http.send(req);
- return res.getBody();
- }
-```
-
-
-
-
-
diff --git a/pmd-appexchange/docs/AvoidHardcodedCredentialsInFieldDecls.md b/pmd-appexchange/docs/AvoidHardcodedCredentialsInFieldDecls.md
new file mode 100644
index 000000000..cbbf68cd8
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidHardcodedCredentialsInFieldDecls.md
@@ -0,0 +1,19 @@
+AvoidHardcodedCredentialsInFieldDecls[](#avoidhardcodedcredentialsinfielddecls)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ Hard-coded credentials found in source code.
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+ Identifies hard-coded credentials in source code that must be protected using Protected Custom metadata or Protected Custom settings.
+Protected custom setttings or protected custom metadata should be used to store secrets.
+Refer to the [Protect Secrets Using Platform Features](https://trailhead.salesforce.com/content/learn/modules/secure-secrets-storage/protect-secrets-using-platform-features) Trailhead module for more guidance.
+
+
+**Example(s):**
+
diff --git a/pmd-appexchange/docs/AvoidHardcodedCredentialsInHttpHeader.md b/pmd-appexchange/docs/AvoidHardcodedCredentialsInHttpHeader.md
new file mode 100644
index 000000000..de823b24d
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidHardcodedCredentialsInHttpHeader.md
@@ -0,0 +1,17 @@
+AvoidHardcodedCredentialsInHttpHeader[](#avoidhardcodedcredentialsinhttpheader)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ Hard-coded credentials found in source code.
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+ Identifies hard-coded credentials in source code that must be protected using Protected Custom metadata or Protected Custom settings.
+Protected custom setttings or protected custom metadata should be used to store secrets.
+Refer to the [Protect Secrets Using Platform Features](https://trailhead.salesforce.com/content/learn/modules/secure-secrets-storage/protect-secrets-using-platform-features) Trailhead module for more guidance.
+
+**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidHardcodedCredentialsInVarAssign.md b/pmd-appexchange/docs/AvoidHardcodedCredentialsInVarAssign.md
new file mode 100644
index 000000000..6764aee7a
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidHardcodedCredentialsInVarAssign.md
@@ -0,0 +1,23 @@
+AvoidHardcodedCredentialsInVarAssign[](#avoidhardcodedcredentialsinvarassign)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ Hard-coded credentials found in source code.
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+ Identifies hard-coded credentials in source code that must be protected using Protected Custom metadata or Protected Custom settings.
+Protected custom setttings or protected custom metadata should be used to store secrets.
+Refer to the [Protect Secrets Using Platform Features](https://trailhead.salesforce.com/content/learn/modules/secure-secrets-storage/protect-secrets-using-platform-features) Trailhead module for more guidance.
+
+**Example(s):**
+```
+
+
+
+
+
diff --git a/pmd-appexchange/docs/AvoidHardcodedCredentialsInVarDecls.md b/pmd-appexchange/docs/AvoidHardcodedCredentialsInVarDecls.md
new file mode 100644
index 000000000..2f69e5f83
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidHardcodedCredentialsInVarDecls.md
@@ -0,0 +1,19 @@
+AvoidHardcodedCredentialsInVarDecls[](#avoidhardcodedcredentialsinvardecls)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ Hard-coded credentials found in source code.
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+ Identifies hard-coded credentials in source code that must be protected using Protected Custom metadata or Protected Custom settings.
+Protected custom setttings or protected custom metadata should be used to store secrets.
+Refer to the [Protect Secrets Using Platform Features](https://trailhead.salesforce.com/content/learn/modules/secure-secrets-storage/protect-secrets-using-platform-features) Trailhead module for more guidance.
+
+
+**Example(s):**
+
diff --git a/pmd-appexchange/docs/AvoidInvalidCrudContentDistribution.md b/pmd-appexchange/docs/AvoidInvalidCrudContentDistribution.md
new file mode 100644
index 000000000..d73152f65
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidInvalidCrudContentDistribution.md
@@ -0,0 +1,33 @@
+AvoidInvalidCrudContentDistribution[](#avoidinvalidcrudcontentdistribution)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ Do not use Schema.DescribeSObjectResult methods to enforce CRUD check on ContentDistribution
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+
+Detects the use of `Schema.DescribeSObjectResult` methods to enforce CRUD check on `ContentDistribution`.
+Developers should use `USER MODE` operations or use the custom below to enforce CRUD check against the `ContentDistribution` object.
+
+```
+ Boolean userCanCreatePublicLinks = 0 <
+ [SELECT COUNT() FROM PermissionSetAssignment
+ WHERE PermissionSet.PermissionsDistributeFromPersWksp = TRUE
+ AND AssigneeId = :UserInfo.getUserId()];
+if(userCanCreatePublicLinks){
+//had CRUD permissions
+}
+else{
+//handle error
+}
+```
+
+**Example(s):**
+
+
+
diff --git a/pmd-appexchange/docs/AvoidJavaScriptCustomObjectPackage.md b/pmd-appexchange/docs/AvoidJavaScriptCustomObjectPackage.md
deleted file mode 100644
index fffd7767a..000000000
--- a/pmd-appexchange/docs/AvoidJavaScriptCustomObjectPackage.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidJavaScriptCustomObjectPackage[](#avoidjavascriptcustomobjectpackage)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Avoid using JavaScript to execute custom button actions.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects use of custom JavaScript actions in custom rules.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidJavaScriptCustomRule.md b/pmd-appexchange/docs/AvoidJavaScriptCustomRule.md
deleted file mode 100644
index 0456cbb7f..000000000
--- a/pmd-appexchange/docs/AvoidJavaScriptCustomRule.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidJavaScriptCustomRule[](#avoidjavascriptcustomrule)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Avoid using JavaScript to execute custom button actions.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects use of custom JavaScript actions in custom rules.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidJavaScriptHomePageComponent.md b/pmd-appexchange/docs/AvoidJavaScriptHomePageComponent.md
index a184717a7..ec8373665 100644
--- a/pmd-appexchange/docs/AvoidJavaScriptHomePageComponent.md
+++ b/pmd-appexchange/docs/AvoidJavaScriptHomePageComponent.md
@@ -10,8 +10,7 @@ AvoidJavaScriptHomePageComponent[](#avoidjavascripthomepagecomponent)
**Description:**
- Detects use of custom JavaScript actions in home page
- components.
+ Detects use of custom JavaScript actions in home page components.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidJsLinksInCustomObject.md b/pmd-appexchange/docs/AvoidJsLinksInCustomObject.md
index 0be776671..16278a288 100644
--- a/pmd-appexchange/docs/AvoidJsLinksInCustomObject.md
+++ b/pmd-appexchange/docs/AvoidJsLinksInCustomObject.md
@@ -10,7 +10,7 @@ AvoidJsLinksInCustomObject[](#avoidjslinksincustomobject)
**Description:**
- Detects instances of JavaScript-style URLs (javascript:) in Salesforce DOM components, such as web links and buttons. Avoid JavaScript-style URLs in managed packages.
+ Detects use of JavaScript-style URLs (javascript:) in custom objects, such as web links and buttons. Avoid JavaScript-style URLs in managed packages.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidJsLinksInCustomObjectInternalOnly.md b/pmd-appexchange/docs/AvoidJsLinksInCustomObjectInternalOnly.md
deleted file mode 100644
index 36775e02a..000000000
--- a/pmd-appexchange/docs/AvoidJsLinksInCustomObjectInternalOnly.md
+++ /dev/null
@@ -1,20 +0,0 @@
-AvoidJsLinksInCustomObjectInternalOnly[](#avoidjslinksincustomobjectinternalonly)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Avoid clickable JavaScript-style URLs.
-
-
-**Priority:** Critical (1)
-
-**Description:**
-
- Detects instances of JavaScript-style URLs (javascript:)
- in Salesforce DOM components, such as web links and buttons. Avoid
- JavaScript-style URLs in managed packages.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidJsLinksInWebLinks.md b/pmd-appexchange/docs/AvoidJsLinksInWebLinks.md
index 9e01b6ef9..7e615114d 100644
--- a/pmd-appexchange/docs/AvoidJsLinksInWebLinks.md
+++ b/pmd-appexchange/docs/AvoidJsLinksInWebLinks.md
@@ -10,9 +10,7 @@ AvoidJsLinksInWebLinks[](#avoidjslinksinweblinks)
**Description:**
- Detects instances of JavaScript-style URLs (javascript:)
- in Salesforce DOM components, such as web links and buttons. Avoid
- JavaScript-style URLs in managed packages.
+ Detects use of JavaScript-style URLs (javascript:) in custom objects, such as web links and buttons. Avoid JavaScript-style URLs in managed packages.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidLmcIsExposedTrue.md b/pmd-appexchange/docs/AvoidLmcIsExposedTrue.md
index 8d11788e9..0bff1ea43 100644
--- a/pmd-appexchange/docs/AvoidLmcIsExposedTrue.md
+++ b/pmd-appexchange/docs/AvoidLmcIsExposedTrue.md
@@ -3,15 +3,14 @@ AvoidLmcIsExposedTrue[](#avoidlmcisexposedtrue)
**Violation:**
- Use Lightning Message Channel with isExposed set to false.
+ Detected Lightning Message Channel with isExposed set to `true`.
**Priority:** High (2)
**Description:**
- Detects a Lightning Message Channel with isExposed=true,
- which isn’t allowed in managed packages.
+ Detects a Lightning Message Channel with `isExposed=true`,which isn’t allowed in managed packages.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidSecurityEnforcedOldApiVersion.md b/pmd-appexchange/docs/AvoidSecurityEnforcedOldApiVersion.md
new file mode 100644
index 000000000..260482def
--- /dev/null
+++ b/pmd-appexchange/docs/AvoidSecurityEnforcedOldApiVersion.md
@@ -0,0 +1,18 @@
+AvoidSecurityEnforcedOldApiVersion[](#avoidsecurityenforcedoldapiversion)
+------------------------------------------------------------------------------------------------------------------------------------------------------
+
+**Violation:**
+
+ WITH SECURITY_ENFORCED is used with API version lower than 48.0
+
+
+**Priority:** Medium (3)
+
+**Description:**
+
+ Detects use of WITH SECURITY_ENFORCED in API version less than 48.0. More guidance available in the [WITH SECURITY_ENFORCED](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_with_security_enforced.htm#apex_classes_with_security_enforced) documentation.
+
+**Example(s):**
+
+
+
diff --git a/pmd-appexchange/docs/AvoidSystemModeInFlows.md b/pmd-appexchange/docs/AvoidSystemModeInFlows.md
index ad65d1056..78d97092d 100644
--- a/pmd-appexchange/docs/AvoidSystemModeInFlows.md
+++ b/pmd-appexchange/docs/AvoidSystemModeInFlows.md
@@ -10,8 +10,7 @@ AvoidSystemModeInFlows[](#avoidsystemmodeinflows)
**Description:**
- Detects where default mode must be used in flows instead
- of system mode.
+ Detects where default mode must be used in flows instead of system mode.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInApex.md b/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInApex.md
index b3b906be8..94cec4ec0 100644
--- a/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInApex.md
+++ b/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInApex.md
@@ -3,14 +3,14 @@ AvoidUnauthorizedApiSessionIdInApex[](#avoidunauthorizedapisessionidinapex)
**Violation:**
- Use of API.Session_ID might not be authorized.
+ Use of Session Id might not be authorized.
-**Priority:** High (2)
+**Priority:** Medium (3)
**Description:**
- Detects use of Api.Session_ID to retrieve a session ID.
+ Detects use of ${API.Session_Id} to retrieve a session ID. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInFlows.md b/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInFlows.md
index 58c47e803..ab7888631 100644
--- a/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInFlows.md
+++ b/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdInFlows.md
@@ -10,7 +10,7 @@ AvoidUnauthorizedApiSessionIdInFlows[](#avoidunauthorizedapisessionidinflows)
**Description:**
- Detects use of session ID in SOAP API calls in flows.
+ Detects use of session ID in SOAP API calls in flows. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdVisualforce.md b/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdVisualforce.md
index b65146a24..90705b060 100644
--- a/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdVisualforce.md
+++ b/pmd-appexchange/docs/AvoidUnauthorizedApiSessionIdVisualforce.md
@@ -10,7 +10,7 @@ AvoidUnauthorizedApiSessionIdVisualforce[](#avoidunauthorizedapisessionidvisualf
**Description:**
- Detects use of Api.Session_ID to retrieve a session ID in Visualforce code.
+ Detects use of Api.Session_ID to retrieve a session ID in Visualforce code. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInApex.md b/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInApex.md
index b389d7e97..7d5f30297 100644
--- a/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInApex.md
+++ b/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInApex.md
@@ -3,14 +3,14 @@ AvoidUnauthorizedGetSessionIdInApex[](#avoidunauthorizedgetsessionidinapex)
**Violation:**
- Use of UserInfo.getSessionId might not be authorized.
+ Use of Session Id might not be authorized.
**Priority:** Medium (3)
**Description:**
- Detects use of UserInfo.getSessionId() to retrieve a session ID.
+ Detects use of UserInfo.getSessionId() to retrieve a session ID. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInVisualforce.md b/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInVisualforce.md
index cabaaa7d3..33b13c876 100644
--- a/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInVisualforce.md
+++ b/pmd-appexchange/docs/AvoidUnauthorizedGetSessionIdInVisualforce.md
@@ -10,7 +10,7 @@ AvoidUnauthorizedGetSessionIdInVisualforce[](#avoidunauthorizedgetsessionidinvis
**Description:**
- Detects use of GETSESSIONID() to retrieve a session ID in Visualforce code.
+ Detects use of GETSESSIONID() to retrieve a session ID in Visualforce code. For more guidance on approved use cases, read the [Session Id Guidance][https://partners.salesforce.com/sfc/servlet.shepherd/version/download/0684V00000O83jT?asPdf=false&operationContext=CHATTER] document.
**Example(s):**
diff --git a/pmd-appexchange/docs/AvoidUnsafeSystemSetPassword.md b/pmd-appexchange/docs/AvoidUnsafePasswordManagementUse.md
similarity index 66%
rename from pmd-appexchange/docs/AvoidUnsafeSystemSetPassword.md
rename to pmd-appexchange/docs/AvoidUnsafePasswordManagementUse.md
index c7497e038..e3b0986d7 100644
--- a/pmd-appexchange/docs/AvoidUnsafeSystemSetPassword.md
+++ b/pmd-appexchange/docs/AvoidUnsafePasswordManagementUse.md
@@ -1,9 +1,9 @@
-AvoidUnsafeSystemSetPassword[](#avoidunsafesystemsetpassword)
+AvoidUnsafePasswordManagementUse[](#avoidunsafepasswordmanagementuse)
------------------------------------------------------------------------------------------------------------------------------------------------------
**Violation:**
- Before calling System.setPassword() in Apex, perform necessary authorization checks.
+ Before invoking password related methods in Apex, perform necessary authorization checks.
**Priority:** Critical (1)
diff --git a/pmd-appexchange/docs/AvoidUnsafeSystemMovePassword.md b/pmd-appexchange/docs/AvoidUnsafeSystemMovePassword.md
deleted file mode 100644
index 5e396f3c0..000000000
--- a/pmd-appexchange/docs/AvoidUnsafeSystemMovePassword.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidUnsafeSystemMovePassword[](#avoidunsafesystemmovepassword)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Before calling System.movePassword(), perform the necessary authorization checks.
-
-
-**Priority:** Critical (1)
-
-**Description:**
-
- Detects where System.movePassword() is used in Apex code. Use this method with caution.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidUnsafeSystemResetPassword.md b/pmd-appexchange/docs/AvoidUnsafeSystemResetPassword.md
deleted file mode 100644
index aacb724c8..000000000
--- a/pmd-appexchange/docs/AvoidUnsafeSystemResetPassword.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidUnsafeSystemResetPassword[](#avoidunsafesystemresetpassword)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Before calling System.resetPassword(), perform the necessary authorization checks.
-
-
-**Priority:** Critical (1)
-
-**Description:**
-
- Detects where System.resetPassword() exists in Apex code. Use this method with caution.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidWithoutSharingInRestApiController.md b/pmd-appexchange/docs/AvoidWithoutSharingInRestApiController.md
deleted file mode 100644
index f5243a8ad..000000000
--- a/pmd-appexchange/docs/AvoidWithoutSharingInRestApiController.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidWithoutSharingInRestApiController[](#avoidwithoutsharinginrestapicontroller)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Use "with sharing" in Apex classes with the @RestResource annotation.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects use of "without sharing" in an Apex class exposed with the @RestResource annotation.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/AvoidWithoutSharingInRestApiControllerInternal.md b/pmd-appexchange/docs/AvoidWithoutSharingInRestApiControllerInternal.md
deleted file mode 100644
index c7c735b9f..000000000
--- a/pmd-appexchange/docs/AvoidWithoutSharingInRestApiControllerInternal.md
+++ /dev/null
@@ -1,18 +0,0 @@
-AvoidWithoutSharingInRestApiControllerInternal[](#avoidwithoutsharinginrestapicontrollerinternal)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Use "with sharing" in Apex classes with the @RestResource annotation.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects use of "without sharing" in an Apex class exposed with the @RestResource annotation.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/InstallUninstallHandlerInternal.md b/pmd-appexchange/docs/InstallUninstallHandlerInternal.md
deleted file mode 100644
index fe69b16d6..000000000
--- a/pmd-appexchange/docs/InstallUninstallHandlerInternal.md
+++ /dev/null
@@ -1,18 +0,0 @@
-InstallUninstallHandlerInternal[](#installuninstallhandlerinternal)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Install and Uninstall handlers execute as a special user and need a careful review
-
-
-**Priority:** Critical (1)
-
-**Description:**
-
- Detects Install and Uninstall handlers declared as global
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/LimitConnectedAppScope.md b/pmd-appexchange/docs/LimitConnectedAppScope.md
index 20e686a0b..20584bedc 100644
--- a/pmd-appexchange/docs/LimitConnectedAppScope.md
+++ b/pmd-appexchange/docs/LimitConnectedAppScope.md
@@ -10,8 +10,8 @@ LimitConnectedAppScope[](#limitconnectedappscope)
**Description:**
- Detects if a connected app uses full scope. Explain this
- use case in your AppExchange security review submission.
+ Detects if a connected app uses full scope. Explain this use case in your AppExchange security review submission.
+
**Example(s):**
diff --git a/pmd-appexchange/docs/LimitPermissionSetAssignment.md b/pmd-appexchange/docs/LimitPermissionSetAssignment.md
deleted file mode 100644
index 39a964dd0..000000000
--- a/pmd-appexchange/docs/LimitPermissionSetAssignment.md
+++ /dev/null
@@ -1,18 +0,0 @@
-LimitPermissionSetAssignment[](#limitpermissionsetassignment)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Ensure that DML operations against PermissionSetAssignment use trusted input.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects usage of PermissionSetAssignment. Use caution when allowing DML operations against the PermissionSetAssignment object.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/LimitPermissionSetAssignmentInternal.md b/pmd-appexchange/docs/LimitPermissionSetAssignmentInternal.md
deleted file mode 100644
index f275e285c..000000000
--- a/pmd-appexchange/docs/LimitPermissionSetAssignmentInternal.md
+++ /dev/null
@@ -1,18 +0,0 @@
-LimitPermissionSetAssignmentInternal[](#limitpermissionsetassignmentinternal)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Ensure that DML operations against PermissionSetAssignment use trusted input.
-
-
-**Priority:** High (2)
-
-**Description:**
-
- Detects usage of PermissionSetAssignment. Use caution when allowing DML operations against the PermissionSetAssignment object.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/LoadCSSLinkHref.md b/pmd-appexchange/docs/LoadCSSLinkHref.md
index 9f382fdc7..b5b8aa92a 100644
--- a/pmd-appexchange/docs/LoadCSSLinkHref.md
+++ b/pmd-appexchange/docs/LoadCSSLinkHref.md
@@ -10,7 +10,7 @@ LoadCSSLinkHref[](#loadcsslinkhref)
**Description:**
- Determines where CSS must be loaded as a static resources.
+ Determines where CSS must be loaded as a static resource
**Example(s):**
diff --git a/pmd-appexchange/docs/ProtectSensitiveData.md b/pmd-appexchange/docs/ProtectSensitiveData.md
index d8661c90c..f30fd0524 100644
--- a/pmd-appexchange/docs/ProtectSensitiveData.md
+++ b/pmd-appexchange/docs/ProtectSensitiveData.md
@@ -10,42 +10,7 @@ ProtectSensitiveData[](#protectsensitivedata)
**Description:**
- Detects where sensitive data must be stored with Protected Custom metadata or Protected Custom settings.
+ Detects where sensitive data must be stored with Protected Custom metadata or Protected Custom settings. Protected custom setttings or protected custom metadata should be used to store secrets. Refer to the [Protect Secrets Using Platform Features](https://trailhead.salesforce.com/content/learn/modules/secure-secrets-storage/protect-secrets-using-platform-features) Trailhead module for more guidance.
**Example(s):**
-
-
-```
-
-
- API_Key__c
- false
-
- 64
- true
- false
- Text
- false
-
-
- Or
-
-
-
-
- Scientific_Name__c
- false
-
- 128
- true
- false
- Text
- false
-
-```
-
-
-
-
-
diff --git a/pmd-appexchange/docs/ProtectSensitiveDataPackageInternal.md b/pmd-appexchange/docs/ProtectSensitiveDataPackageInternal.md
deleted file mode 100644
index 2fecf999c..000000000
--- a/pmd-appexchange/docs/ProtectSensitiveDataPackageInternal.md
+++ /dev/null
@@ -1,45 +0,0 @@
-ProtectSensitiveDataPackageInternal[](#protectsensitivedatapackageinternal)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- To store secrets, use Protected Custom settings or Protected Custom metadata.
-
-
-**Priority:** Medium (3)
-
-**Description:**
-
- Detects where sensitive data must be stored with Protected Custom metadata or Protected Custom settings.
-
-**Example(s):**
-
-
-
-```
-
-
- Hierarchy
- Settings for the Dummy package.
- false
-
- Key__c
- false
- User's Key for Applicatio
- false
-
- 3
- true
- 0
- Number
- false
-
-
- Protected
-
-```
-
-
-
-
-
diff --git a/pmd-appexchange/docs/ProtectSensitiveDataPackageInternalOnly.md b/pmd-appexchange/docs/ProtectSensitiveDataPackageInternalOnly.md
deleted file mode 100644
index 3a1b921a5..000000000
--- a/pmd-appexchange/docs/ProtectSensitiveDataPackageInternalOnly.md
+++ /dev/null
@@ -1,46 +0,0 @@
-ProtectSensitiveDataPackageInternalOnly[](#protectsensitivedatapackageinternalonly)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- To store secrets, use Protected Custom settings or Protected Custom metadata.
-
-
-**Priority:** Medium (3)
-
-**Description:**
-
- Detects where sensitive data must be stored with Protected
- Custom metadata or Protected Custom settings.
-
-**Example(s):**
-
-
-
-```
-
-
- Hierarchy
- Settings for the Dummy package.
- false
-
- Key__c
- false
- User's Key for Applicatio
- false
-
- 3
- true
- 0
- Number
- false
-
-
- Protected
-
-```
-
-
-
-
-
diff --git a/pmd-appexchange/docs/UseHttpsCallbackUrl.md b/pmd-appexchange/docs/UseHttpsCallbackUrl.md
index c18687e63..4988aca32 100644
--- a/pmd-appexchange/docs/UseHttpsCallbackUrl.md
+++ b/pmd-appexchange/docs/UseHttpsCallbackUrl.md
@@ -10,8 +10,7 @@ UseHttpsCallbackUrl[](#usehttpscallbackurl)
**Description:**
- Detects instances of an OAuth callback URL that uses HTTP.
- Use HTTPS instead.
+ Detects instances of an OAuth callback URL that uses HTTP.Use HTTPS instead.
**Example(s):**
diff --git a/pmd-appexchange/docs/UseLwcDomManual.md b/pmd-appexchange/docs/UseLwcDomManual.md
index 4b5afe26c..2b1bacf38 100644
--- a/pmd-appexchange/docs/UseLwcDomManual.md
+++ b/pmd-appexchange/docs/UseLwcDomManual.md
@@ -14,16 +14,12 @@ UseLwcDomManual[](#uselwcdommanual)
**Example(s):**
-
-
```
-
- &
- If template has a direct user input. Then XSS is possible.
```
+If template has a direct user input. Then XSS is possible.
diff --git a/pmd-appexchange/docs/ValidateCrudFlsEmailMessageWhoIdWhatId.md b/pmd-appexchange/docs/ValidateCrudFlsEmailMessageWhoIdWhatId.md
deleted file mode 100644
index 900d46e84..000000000
--- a/pmd-appexchange/docs/ValidateCrudFlsEmailMessageWhoIdWhatId.md
+++ /dev/null
@@ -1,18 +0,0 @@
-ValidateCrudFlsEmailMessageWhoIdWhatId[](#validatecrudflsemailmessagewhoidwhatid)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Enforce CRUD/FLS checks for methods that accept record IDs as an input value.
-
-
-**Priority:** Medium (3)
-
-**Description:**
-
- Detects use WhoId and WhatId without a CRUD/FLS check in these methods: setBccAddresses(bccAddresses), setCcAddresses(ccAddresses), or setToAddresses(toAddresses). Also detects the use of recordIds in setTargetObjectId(targetObjectId) or setWhatId(whatId) without CRUD/FLS validation.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/docs/ValidateCrudFlsEmailMessageWhoIdWhatIdInternal.md b/pmd-appexchange/docs/ValidateCrudFlsEmailMessageWhoIdWhatIdInternal.md
deleted file mode 100644
index d1f768989..000000000
--- a/pmd-appexchange/docs/ValidateCrudFlsEmailMessageWhoIdWhatIdInternal.md
+++ /dev/null
@@ -1,18 +0,0 @@
-ValidateCrudFlsEmailMessageWhoIdWhatIdInternal[](#validatecrudflsemailmessagewhoidwhatidinternal)
-------------------------------------------------------------------------------------------------------------------------------------------------------
-
-**Violation:**
-
- Enforce CRUD/FLS checks for methods that accept record IDs as an input value.
-
-
-**Priority:** Medium (3)
-
-**Description:**
-
- Detects use WhoId and WhatId without a CRUD/FLS check in these methods: setBccAddresses(bccAddresses), setCcAddresses(ccAddresses), or setToAddresses(toAddresses). Also detects the use of recordIds in setTargetObjectId(targetObjectId) or setWhatId(whatId) without CRUD/FLS validation.
-
-**Example(s):**
-
-
-
diff --git a/pmd-appexchange/lib/pmd-customrules-utils-0.0.1.jar b/pmd-appexchange/lib/pmd-customrules-utils-0.0.1.jar
new file mode 100644
index 000000000..2a6cead58
Binary files /dev/null and b/pmd-appexchange/lib/pmd-customrules-utils-0.0.1.jar differ
diff --git a/pmd-appexchange/lib/pmd-xml-sf-0.0.1.jar b/pmd-appexchange/lib/pmd-xml-sf-0.0.1.jar
index cb6abbe5b..ebc54efe3 100644
Binary files a/pmd-appexchange/lib/pmd-xml-sf-0.0.1.jar and b/pmd-appexchange/lib/pmd-xml-sf-0.0.1.jar differ
diff --git a/pmd-appexchange/lib/sfca-pmd-apex-0.12.jar b/pmd-appexchange/lib/sfca-pmd-apex-0.12.jar
deleted file mode 100644
index 9a5d2ceed..000000000
Binary files a/pmd-appexchange/lib/sfca-pmd-apex-0.12.jar and /dev/null differ
diff --git a/pmd-appexchange/lib/sfca-pmd-apex-0.13.jar b/pmd-appexchange/lib/sfca-pmd-apex-0.13.jar
new file mode 100644
index 000000000..85d36c0a1
Binary files /dev/null and b/pmd-appexchange/lib/sfca-pmd-apex-0.13.jar differ
diff --git a/pmd-appexchange/lib/sfca-pmd-html-0.12.jar b/pmd-appexchange/lib/sfca-pmd-html-0.13.jar
similarity index 53%
rename from pmd-appexchange/lib/sfca-pmd-html-0.12.jar
rename to pmd-appexchange/lib/sfca-pmd-html-0.13.jar
index e88a7c570..8794d6252 100644
Binary files a/pmd-appexchange/lib/sfca-pmd-html-0.12.jar and b/pmd-appexchange/lib/sfca-pmd-html-0.13.jar differ
diff --git a/pmd-appexchange/lib/sfca-pmd-javascript-0.12.jar b/pmd-appexchange/lib/sfca-pmd-javascript-0.13.jar
similarity index 53%
rename from pmd-appexchange/lib/sfca-pmd-javascript-0.12.jar
rename to pmd-appexchange/lib/sfca-pmd-javascript-0.13.jar
index a99babcda..391bd5327 100644
Binary files a/pmd-appexchange/lib/sfca-pmd-javascript-0.12.jar and b/pmd-appexchange/lib/sfca-pmd-javascript-0.13.jar differ
diff --git a/pmd-appexchange/lib/sfca-pmd-sfmetadata-0.12.jar b/pmd-appexchange/lib/sfca-pmd-sfmetadata-0.12.jar
deleted file mode 100644
index af7d377fa..000000000
Binary files a/pmd-appexchange/lib/sfca-pmd-sfmetadata-0.12.jar and /dev/null differ
diff --git a/pmd-appexchange/lib/sfca-pmd-sfmetadata-0.13.jar b/pmd-appexchange/lib/sfca-pmd-sfmetadata-0.13.jar
new file mode 100644
index 000000000..6c8f896ed
Binary files /dev/null and b/pmd-appexchange/lib/sfca-pmd-sfmetadata-0.13.jar differ
diff --git a/pmd-appexchange/lib/sfca-pmd-visualforce-0.12.jar b/pmd-appexchange/lib/sfca-pmd-visualforce-0.12.jar
deleted file mode 100644
index a9ce8248d..000000000
Binary files a/pmd-appexchange/lib/sfca-pmd-visualforce-0.12.jar and /dev/null differ
diff --git a/pmd-appexchange/lib/sfca-pmd-visualforce-0.13.jar b/pmd-appexchange/lib/sfca-pmd-visualforce-0.13.jar
new file mode 100644
index 000000000..9fd02dddb
Binary files /dev/null and b/pmd-appexchange/lib/sfca-pmd-visualforce-0.13.jar differ
diff --git a/pmd-appexchange/lib/sfca-pmd-xml-0.12.jar b/pmd-appexchange/lib/sfca-pmd-xml-0.12.jar
deleted file mode 100644
index cd4db7ba4..000000000
Binary files a/pmd-appexchange/lib/sfca-pmd-xml-0.12.jar and /dev/null differ
diff --git a/pmd-appexchange/lib/sfca-pmd-xml-0.13.jar b/pmd-appexchange/lib/sfca-pmd-xml-0.13.jar
new file mode 100644
index 000000000..4bd9d13a3
Binary files /dev/null and b/pmd-appexchange/lib/sfca-pmd-xml-0.13.jar differ
diff --git a/pmd-cataloger/build.gradle.kts b/pmd-cataloger/build.gradle.kts
index 12bcfa0db..e22895ee0 100644
--- a/pmd-cataloger/build.gradle.kts
+++ b/pmd-cataloger/build.gradle.kts
@@ -63,7 +63,7 @@ tasks.register("deletePmdCatalogerDist") {
// ======== DEFINE/UPDATE PMD7 DIST RELATED TASKS =====================================================================
val pmd7DistDir = "$distDir/pmd7"
-val pmd7Version = "7.1.0"
+val pmd7Version = "7.2.0"
val pmd7File = "pmd-dist-$pmd7Version-bin.zip"
tasks.register("downloadPmd7") {
@@ -76,12 +76,26 @@ tasks.register("installPmd7") {
dependsOn("downloadPmd7")
from(zipTree("$buildDir/$pmd7File"))
- // I went to https://github.com/pmd/pmd/tree/pmd_releases/7.1.0 and for each of the languages that we support
+ // TO KEEP THE BELOW MODULE DEPENDENCIES LIST CORRECT AND UP TO DATE:
+ // I went to https://github.com/pmd/pmd/tree/pmd_releases/7.2.0 and for each of the languages that we support
// (apex, java, visualforce, xml), I took a look at its direct and indirect dependencies at
// https://central.sonatype.com/artifact/net.sourceforge.pmd/pmd-apex/dependencies
- // by selecting the 7.1.0 dropdown and clicking on "Dependencies" and selecting "All Dependencies".
+ // by selecting the 7.2.0 dropdown and clicking on "Dependencies" and selecting "All Dependencies".
// For completeness, I listed the modules and all their compile time dependencies (direct and indirect).
// Duplicates don't matter since we use setOf.
+ //
+ // A tip when we upgrade to see if there are any differences between minor releases of a given module:
+ // 1) Open the following in two different tabs (using pmd-core as an example):
+ // * Go to https://mvnrepository.com/artifact/net.sourceforge.pmd/pmd-core/7.1.0
+ // * Go to https://mvnrepository.com/artifact/net.sourceforge.pmd/pmd-core/7.2.0
+ // Then compare the compile dependencies and their versions to see if there are any changes.
+ // Do this will all modules we care about. Obviously the pmd-core dependency version will change but if nothing else
+ // changes then this means no updates are needed for that module. If there are changes to pmd-core's dependencies...
+ // then all modules that depend on pmd-core should be updated below with their new indirect dependencies.
+ // 2) As a sanity check it is also worth comparing the versions of the jars that are bundled between the two release
+ // zip files to spot any version differences.
+ // * https://github.com/pmd/pmd/archive/refs/tags/pmd_releases/7.2.0.zip
+ // * https://github.com/pmd/pmd/archive/refs/tags/pmd_releases/7.1.0.zip
val pmd7ModulesToInclude = setOf(
// LANGUAGE MODULE DEPENDENCIES (direct and indirect)
"pmd-apex", "Saxon-HE", "annotations", "antlr4-runtime", "apex-parser", "apexlink", "asm", "checker-compat-qual", "checker-qual", "commons-lang3", "error_prone_annotations", "failureaccess", "flogger", "flogger-system-backend", "geny_2.13", "gson", "gson-extras", "guava", "j2objc-annotations", "jsr250-api", "jsr305", "jul-to-slf4j", "kotlin-stdlib", "kotlin-stdlib-common", "kotlin-stdlib-jdk7", "kotlin-stdlib-jdk8", "listenablefuture", "nice-xml-messages", "pcollections", "pkgforce_2.13", "pmd-core", "runforce", "scala-collection-compat_2.13", "scala-json-rpc-upickle-json-serializer_2.13", "scala-json-rpc_2.13", "scala-library", "scala-parallel-collections_2.13", "scala-reflect", "scala-xml_2.13", "slf4j-api", "summit-ast", "ujson_2.13", "upack_2.13", "upickle-core_2.13", "upickle-implicits_2.13", "upickle_2.13", "xmlresolver",
@@ -91,7 +105,7 @@ tasks.register("installPmd7") {
"pmd-visualforce", "Saxon-HE", "antlr4-runtime", "apex-parser", "apexlink", "asm", "checker-compat-qual", "checker-qual", "commons-lang3", "error_prone_annotations", "failureaccess", "flogger", "flogger-system-backend", "geny_2.13", "gson", "gson-extras", "guava", "j2objc-annotations", "jsr250-api", "jsr305", "jul-to-slf4j", "kotlin-stdlib", "kotlin-stdlib-common", "kotlin-stdlib-jdk7", "kotlin-stdlib-jdk8", "listenablefuture", "nice-xml-messages", "pcollections", "pkgforce_2.13", "pmd-apex", "pmd-core", "runforce", "scala-collection-compat_2.13", "scala-json-rpc-upickle-json-serializer_2.13", "scala-json-rpc_2.13", "scala-library", "scala-parallel-collections_2.13", "scala-reflect", "scala-xml_2.13", "slf4j-api", "summit-ast", "ujson_2.13", "upack_2.13", "upickle-core_2.13", "upickle-implicits_2.13", "upickle_2.13", "xmlresolver",
"pmd-xml", "Saxon-HE", "antlr4-runtime", "asm", "checker-qual", "commons-lang3", "gson", "jul-to-slf4j", "nice-xml-messages", "pcollections", "pmd-core", "slf4j-api", "xmlresolver",
// MAIN CLI MODULE DEPENDENCIES (direct and indirect)
- "pmd-cli", "Saxon-HE", "antlr4-runtime", "asm", "checker-qual", "commons-lang3", "gson", "jline", "jul-to-slf4j", "nice-xml-messages", "pcollections", "picocli", "pmd-core", "progressbar", "slf4j-api", "slf4j-simple", "xmlresolver",
+ "pmd-cli", "Saxon-HE", "antlr4-runtime", "asm", "checker-qual", "commons-lang3", "gson", "jline", "jul-to-slf4j", "nice-xml-messages", "pcollections", "picocli", "pmd-core", "progressbar", "slf4j-api", "slf4j-simple", "xmlresolver", // Do not include pmd-designer since we don't use it
)
val pmd7JarsToIncludeRegexes = mutableSetOf("""^LICENSE""".toRegex())
pmd7ModulesToInclude.forEach {
diff --git a/retire-js/RetireJsVulns.json b/retire-js/RetireJsVulns.json
index c7a04fdb8..ffd145714 100644
--- a/retire-js/RetireJsVulns.json
+++ b/retire-js/RetireJsVulns.json
@@ -7255,6 +7255,132 @@
]
}
},
+ "pdf.js": {
+ "bowername": [
+ "pdfjs-dist"
+ ],
+ "npmname": "pdfjs-dist",
+ "vulnerabilities": [
+ {
+ "atOrAbove": "0",
+ "below": "1.10.100",
+ "cwe": [
+ "CWE-94"
+ ],
+ "severity": "high",
+ "identifiers": {
+ "summary": "Malicious PDF can inject JavaScript into PDF Viewer",
+ "CVE": [
+ "CVE-2018-5158"
+ ],
+ "githubID": "GHSA-7jg2-jgv3-fmr4"
+ },
+ "info": [
+ "https://github.com/advisories/GHSA-7jg2-jgv3-fmr4",
+ "https://nvd.nist.gov/vuln/detail/CVE-2018-5158",
+ "https://github.com/mozilla/pdf.js/pull/9659",
+ "https://github.com/mozilla/pdf.js/commit/2dc4af525d1612c98afcd1e6bee57d4788f78f97",
+ "https://access.redhat.com/errata/RHSA-2018:1414",
+ "https://access.redhat.com/errata/RHSA-2018:1415",
+ "https://bugzilla.mozilla.org/show_bug.cgi?id=1452075",
+ "https://github.com/mozilla/pdf.js",
+ "https://lists.debian.org/debian-lts-announce/2018/05/msg00007.html",
+ "https://security.gentoo.org/glsa/201810-01",
+ "https://usn.ubuntu.com/3645-1",
+ "https://www.debian.org/security/2018/dsa-4199",
+ "https://www.mozilla.org/security/advisories/mfsa2018-11",
+ "https://www.mozilla.org/security/advisories/mfsa2018-12",
+ "http://www.securityfocus.com/bid/104136",
+ "http://www.securitytracker.com/id/1040896"
+ ]
+ },
+ {
+ "atOrAbove": "2.0.0",
+ "below": "2.0.550",
+ "cwe": [
+ "CWE-94"
+ ],
+ "severity": "high",
+ "identifiers": {
+ "summary": "Malicious PDF can inject JavaScript into PDF Viewer",
+ "CVE": [
+ "CVE-2018-5158"
+ ],
+ "githubID": "GHSA-7jg2-jgv3-fmr4"
+ },
+ "info": [
+ "https://github.com/advisories/GHSA-7jg2-jgv3-fmr4",
+ "https://nvd.nist.gov/vuln/detail/CVE-2018-5158",
+ "https://github.com/mozilla/pdf.js/pull/9659",
+ "https://github.com/mozilla/pdf.js/commit/2dc4af525d1612c98afcd1e6bee57d4788f78f97",
+ "https://access.redhat.com/errata/RHSA-2018:1414",
+ "https://access.redhat.com/errata/RHSA-2018:1415",
+ "https://bugzilla.mozilla.org/show_bug.cgi?id=1452075",
+ "https://github.com/mozilla/pdf.js",
+ "https://lists.debian.org/debian-lts-announce/2018/05/msg00007.html",
+ "https://security.gentoo.org/glsa/201810-01",
+ "https://usn.ubuntu.com/3645-1",
+ "https://www.debian.org/security/2018/dsa-4199",
+ "https://www.mozilla.org/security/advisories/mfsa2018-11",
+ "https://www.mozilla.org/security/advisories/mfsa2018-12",
+ "http://www.securityfocus.com/bid/104136",
+ "http://www.securitytracker.com/id/1040896"
+ ]
+ },
+ {
+ "atOrAbove": "0",
+ "below": "4.2.67",
+ "cwe": [
+ "CWE-79"
+ ],
+ "severity": "high",
+ "identifiers": {
+ "summary": "PDF.js vulnerable to arbitrary JavaScript execution upon opening a malicious PDF",
+ "CVE": [
+ "CVE-2024-34342",
+ "CVE-2024-4367"
+ ],
+ "githubID": "GHSA-wgrm-67xf-hhpq"
+ },
+ "info": [
+ "https://github.com/advisories/GHSA-wgrm-67xf-hhpq",
+ "https://github.com/mozilla/pdf.js/security/advisories/GHSA-wgrm-67xf-hhpq",
+ "https://github.com/mozilla/pdf.js/pull/18015",
+ "https://github.com/mozilla/pdf.js/commit/85e64b5c16c9aaef738f421733c12911a441cec6",
+ "https://bugzilla.mozilla.org/show_bug.cgi?id=1893645",
+ "https://github.com/mozilla/pdf.js"
+ ]
+ }
+ ],
+ "extractors": {
+ "uri": [
+ "/pdf\\.js/(§§version§§)/",
+ "/pdfjs-dist@(§§version§§)/"
+ ],
+ "filecontent": [
+ " pdfjs-dist@(§§version§§) ",
+ "(?:const|var) pdfjsVersion = ['\"](§§version§§)['\"];",
+ "PDFJS.version ?= ?['\"](§§version§§)['\"]",
+ "apiVersion: ?['\"](§§version§§)['\"][\\s\\S]*,data(:[a-zA-Z.]{1,6})?,[\\s\\S]*password(:[a-zA-Z.]{1,10})?,[\\s\\S]*disableAutoFetch(:[a-zA-Z.]{1,22})?,[\\s\\S]*rangeChunkSize",
+ "messageHandler\\.sendWithPromise\\(\"GetDocRequest\",\\{docId:[a-zA-Z],apiVersion:\"(§§version§§)\""
+ ]
+ }
+ },
+ "pdfobject": {
+ "vulnerabilities": [],
+ "extractors": {
+ "uri": [
+ "/pdfobject@(§§version§§)/",
+ "/pdfobject/(§§version§§)/pdfobject(\\.min)?\\.js"
+ ],
+ "filecontent": [
+ "\\* +PDFObject v(§§version§§)",
+ "/*[\\s]+PDFObject v(§§version§§)",
+ "let pdfobjectversion = \"(§§version§§)\";",
+ "pdfobjectversion:\"(§§version§§)\""
+ ]
+ }
+ },
"dont check": {
"vulnerabilities": [],
"extractors": {
diff --git a/sfge/.gitignore b/sfge/.gitignore
index f505b0748..1d8277c0e 100644
--- a/sfge/.gitignore
+++ b/sfge/.gitignore
@@ -44,3 +44,4 @@ sfge*.log.*
# Informational file when generating sObject lists
/src/main/resources/sObjects/sObjectNotFoundList.txt
+/out/
diff --git a/sfge/build.gradle.kts b/sfge/build.gradle.kts
index 4ba04bc00..8801a503e 100644
--- a/sfge/build.gradle.kts
+++ b/sfge/build.gradle.kts
@@ -23,6 +23,9 @@ dependencies {
implementation("com.google.code.gson:gson:2.10.1")
implementation("com.google.guava:guava:26.0-jre")
implementation("com.google.code.findbugs:jsr305:3.0.2")
+ implementation ("com.googlecode.json-simple:json-simple:1.1.1") {
+ exclude("junit")
+ }
implementation("org.reflections:reflections:0.9.12")
implementation("org.ow2.asm:asm:9.2")
implementation(files("lib/apex-jorje-lsp-sfge.jar"))
diff --git a/sfge/src/main/java/com/salesforce/Main.java b/sfge/src/main/java/com/salesforce/Main.java
index 39c7bf1c5..05a9e2312 100644
--- a/sfge/src/main/java/com/salesforce/Main.java
+++ b/sfge/src/main/java/com/salesforce/Main.java
@@ -1,6 +1,7 @@
package com.salesforce;
import com.google.common.annotations.VisibleForTesting;
+import com.salesforce.cli.CacheCreator;
import com.salesforce.cli.CliArgParser;
import com.salesforce.cli.OutputFormatter;
import com.salesforce.cli.Result;
@@ -184,7 +185,7 @@ private int execute(String... args) {
// No matter the outcome, share the results found so far
dependencies.printOutput(CliMessager.getInstance().getAllMessagesWithFormatting());
- final List violations = result.getViolations();
+ final List violations = result.getOrderedViolations();
OutputFormatter formatter = new OutputFormatter();
dependencies.printOutput(formatter.formatViolationJsons(violations));
@@ -194,6 +195,10 @@ private int execute(String... args) {
dependencies.printError(formatError(throwable));
}
+ // Create cache data, if any
+ final CacheCreator cacheCreator = new CacheCreator();
+ cacheCreator.create(result);
+
if (!errorsThrown.isEmpty()) {
return violations.isEmpty()
? EXIT_WITH_INTERNAL_ERROR_NO_VIOLATIONS
diff --git a/sfge/src/main/java/com/salesforce/cli/CacheCreator.java b/sfge/src/main/java/com/salesforce/cli/CacheCreator.java
new file mode 100644
index 000000000..bb66a6d09
--- /dev/null
+++ b/sfge/src/main/java/com/salesforce/cli/CacheCreator.java
@@ -0,0 +1,116 @@
+package com.salesforce.cli;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.file.Path;
+
+import com.salesforce.config.SfgeConfig;
+import com.salesforce.config.SfgeConfigProvider;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+/** Creates cache data that can be used to execute Delta runs. */
+public final class CacheCreator {
+ private static final Logger LOGGER = LogManager.getLogger(CacheCreator.class);
+
+ private Dependencies dependencies;
+
+ public CacheCreator() {
+ this.dependencies = new Dependencies();
+ }
+
+ CacheCreator(Dependencies dependencies) {
+ this.dependencies = dependencies;
+ }
+
+ /**
+ * Creates cache data that can be used for future delta runs
+ *
+ * @param result from the current execution
+ */
+ public void create(Result result) {
+ if (SfgeConfigProvider.get().isCachingDisabled()) {
+ if (LOGGER.isInfoEnabled()) {
+ LOGGER.info(
+ "Skipping to cache information since it has been disabled.");
+ }
+ return;
+ }
+ createFilesToEntriesCache(result.getFilesToEntriesMap());
+ }
+
+ private void createFilesToEntriesCache(FilesToEntriesMap filesToEntriesMap) {
+ final String jsonData = filesToEntriesMap.toJsonString();
+ final String filesToEntriesDataFilename = getFilesToEntriesDataFilename();
+
+ if (LOGGER.isInfoEnabled()) {
+ LOGGER.info(
+ "About to create cache for filesToEntriesMap at " + filesToEntriesDataFilename);
+ }
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug(
+ "Content to be written in " + filesToEntriesDataFilename + ": " + jsonData);
+ }
+
+ try {
+ dependencies.writeFile(filesToEntriesDataFilename, jsonData);
+ } catch (IOException e) {
+ // Putting a warning instead of stopping the process since this is not in the critical
+ // path
+ if (LOGGER.isWarnEnabled()) {
+ LOGGER.warn("Exception occurred while writing filesToEntriesMap cache data.", e);
+ }
+ }
+ }
+
+ private String getFilesToEntriesDataFilename() {
+ return SfgeConfigProvider.get().getFilesToEntriesCacheLocation();
+ }
+
+ static class Dependencies {
+
+ /**
+ * Write to file. The current assumption is to overwrite the file. TODO: This could be
+ * problematic when the delta run wants to preserve the original content. The ideal approach
+ * would be to overwrite entries of only the files that were changed.
+ *
+ * @param filename of the file to create/overwrite.
+ * @param data that should be written to the file.
+ * @throws IOException when an error is encountered.
+ */
+ void writeFile(String filename, String data) throws IOException {
+ mkdirsIfNeeded(filename);
+
+ final boolean append = false;
+ FileWriter fileWriter = new FileWriter(filename, append);
+ try {
+ fileWriter.write(data);
+ } finally {
+ if (fileWriter != null) {
+ fileWriter.flush();
+ fileWriter.close();
+ }
+ }
+ }
+
+ /**
+ * Create new directories in the path, if necessary
+ *
+ * @param filename
+ */
+ private void mkdirsIfNeeded(String filename) {
+ final Path filepath = Path.of(filename);
+ final Path directory = filepath.getParent();
+
+ final boolean isNewDirectory = directory.toFile().mkdirs();
+ if (LOGGER.isDebugEnabled()) {
+ if (isNewDirectory) {
+ LOGGER.debug("Created new cache directory: " + directory.getFileName());
+ } else {
+ LOGGER.debug("Cache directory already exists: " + directory.getFileName());
+ }
+ }
+ }
+ }
+}
diff --git a/sfge/src/main/java/com/salesforce/cli/FilesToEntriesMap.java b/sfge/src/main/java/com/salesforce/cli/FilesToEntriesMap.java
new file mode 100644
index 000000000..a23611166
--- /dev/null
+++ b/sfge/src/main/java/com/salesforce/cli/FilesToEntriesMap.java
@@ -0,0 +1,120 @@
+package com.salesforce.cli;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+
+import com.google.common.annotations.VisibleForTesting;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+
+/**
+ * Mapping of files that occur in an {@link com.salesforce.graph.ApexPath} and the entry method from
+ * which the path originates.
+ */
+public class FilesToEntriesMap {
+ @VisibleForTesting static final String FIELD_DATA = "data";
+ @VisibleForTesting static final String FIELD_FILENAME = "filename";
+ @VisibleForTesting static final String FIELD_ENTRIES = "entries";
+ private final HashMap> map;
+
+ public FilesToEntriesMap() {
+ this.map = new HashMap<>();
+ }
+
+ /**
+ * Creates a new mapping of the file name and the corresponding entry method it impacts
+ *
+ * @param filename that a path touches
+ * @param entryFile of the entry method
+ * @param entryMethod of the entry method
+ */
+ public void put(String filename, String entryFile, String entryMethod) {
+ final Entry entry = new Entry(entryFile, entryMethod);
+ final HashSet value = map.computeIfAbsent(filename, key -> new HashSet<>());
+ value.add(entry);
+ }
+
+ /**
+ * Merges entries of another {@link FilesToEntriesMap} instance into the current instance.
+ *
+ * @param other {@link FilesToEntriesMap} instance to merge
+ */
+ public void merge(FilesToEntriesMap other) {
+ for (Map.Entry> otherMapEntry : other.map.entrySet()) {
+ map.merge(
+ otherMapEntry.getKey(),
+ otherMapEntry.getValue(),
+ (oldValue, newValue) -> {
+ oldValue.addAll(newValue);
+ return oldValue;
+ });
+ }
+ }
+
+ /**
+ * @return JSON data representing the state of this instance
+ */
+ public String toJsonString() {
+ final JSONArray data = new JSONArray();
+ for (String filename : map.keySet()) {
+ data.add(getFileToEntriesJson(filename));
+ }
+ final JSONObject mapping = new JSONObject();
+ mapping.put(FIELD_DATA, data);
+
+ return mapping.toJSONString();
+ }
+
+ private JSONObject getFileToEntriesJson(String filename) {
+ final HashSet entries = map.get(filename);
+ final JSONArray entriesJson = new JSONArray();
+ for (Entry entry : entries) {
+ entriesJson.add(entry.toString());
+ }
+ final JSONObject fileToEntriesJson = new JSONObject();
+ fileToEntriesJson.put(FIELD_FILENAME, filename);
+ fileToEntriesJson.put(FIELD_ENTRIES, entriesJson);
+
+ return fileToEntriesJson;
+ }
+
+ @VisibleForTesting
+ HashMap> getMap() {
+ return map;
+ }
+
+ @VisibleForTesting
+ static class Entry {
+ private final String filename;
+ private final String methodName;
+
+ // Graph Engine CLI understands this format (filename#method)
+ // and handles the target method as an entry point
+ private static final String FORMAT = "%s#%s";
+
+ Entry(String filename, String methodName) {
+ this.filename = filename;
+ this.methodName = methodName;
+ }
+
+ @Override
+ public String toString() {
+ return String.format(FORMAT, this.filename, this.methodName);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Entry entry = (Entry) o;
+ return Objects.equals(filename, entry.filename) && Objects.equals(methodName, entry.methodName);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(filename, methodName);
+ }
+ }
+}
diff --git a/sfge/src/main/java/com/salesforce/cli/Result.java b/sfge/src/main/java/com/salesforce/cli/Result.java
index 9b115f535..b88c5b53c 100644
--- a/sfge/src/main/java/com/salesforce/cli/Result.java
+++ b/sfge/src/main/java/com/salesforce/cli/Result.java
@@ -1,9 +1,8 @@
package com.salesforce.cli;
import com.salesforce.rules.Violation;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
/** Represents the result of an SFGE execution. */
public class Result {
@@ -17,15 +16,20 @@ public class Result {
/** Indicates if the execution completed successfully * */
private boolean completedSuccessfully;
+ /** Mapping of file names to entry points that lead to paths that traverse these paths * */
+ private final FilesToEntriesMap filesToEntriesMap;
+
public Result() {
this.violations = new ArrayList<>();
this.errorsThrown = new ArrayList<>();
this.completedSuccessfully = false;
+ this.filesToEntriesMap = new FilesToEntriesMap();
}
public void merge(Result result) {
- this.addViolations(result.getViolations());
- this.addThrowable(result.getErrorsThrown());
+ this.addViolations(result.violations);
+ this.addThrowable(result.errorsThrown);
+ this.filesToEntriesMap.merge(result.filesToEntriesMap);
}
public void addViolations(Collection violations) {
@@ -48,8 +52,14 @@ public void addThrowable(Throwable ex) {
this.errorsThrown.add(ex);
}
- public List getViolations() {
- return violations;
+ public void addFileToEntryPoint(String filename, String entryFile, String entryMethod) {
+ this.filesToEntriesMap.put(filename, entryFile, entryMethod);
+ }
+
+ public List getOrderedViolations() {
+ final TreeSet orderedViolations = new TreeSet<>();
+ orderedViolations.addAll(violations);
+ return orderedViolations.stream().collect(Collectors.toList());
}
public boolean isCompletedSuccessfully() {
@@ -59,4 +69,8 @@ public boolean isCompletedSuccessfully() {
public List getErrorsThrown() {
return errorsThrown;
}
+
+ public FilesToEntriesMap getFilesToEntriesMap() {
+ return this.filesToEntriesMap;
+ }
}
diff --git a/sfge/src/main/java/com/salesforce/config/EnvUtil.java b/sfge/src/main/java/com/salesforce/config/EnvUtil.java
index 27e36f8fc..26995476e 100644
--- a/sfge/src/main/java/com/salesforce/config/EnvUtil.java
+++ b/sfge/src/main/java/com/salesforce/config/EnvUtil.java
@@ -2,6 +2,9 @@
import com.google.common.annotations.VisibleForTesting;
import com.salesforce.graph.ops.registry.RegistryDataLimitCalculator;
+
+import java.io.File;
+import java.nio.file.Files;
import java.util.concurrent.TimeUnit;
public final class EnvUtil {
@@ -9,11 +12,12 @@ public final class EnvUtil {
private static final String ENV_RULE_THREAD_TIMEOUT = "SFGE_RULE_THREAD_TIMEOUT";
private static final String ENV_RULE_DISABLE_WARNING_VIOLATION =
"SFGE_RULE_DISABLE_WARNING_VIOLATION";
- private static final String ENV_IGNORE_PARSE_ERRORS = "SFGE_IGNORE_PARSE_ERRORS";
private static final String ENV_LOG_WARNINGS_ON_VERBOSE = "SFGE_LOG_WARNINGS_ON_VERBOSE";
private static final String ENV_PROGRESS_INCREMENTS = "SFGE_PROGRESS_INCREMENTS";
private static final String ENV_STACK_DEPTH_LIMIT = "SFGE_STACK_DEPTH_LIMIT";
private static final String ENV_PATH_EXPANSION_LIMIT = "SFGE_PATH_EXPANSION_LIMIT";
+ private static final String ENV_FILES_TO_ENTRIES_CACHE_LOCATION = "SFGE_FILES_TO_ENTRIES_CACHE_LOCATION";
+ private static final String ENV_DISABLE_CACHING = "SFGE_DISABLE_CACHING";
// TODO: These should move to SfgeConfigImpl and this class should return Optionals
@VisibleForTesting
@@ -35,6 +39,11 @@ public final class EnvUtil {
static final int DEFAULT_PATH_EXPANSION_LIMIT =
RegistryDataLimitCalculator.getApexPathExpanderRegistryLimit();
+ @VisibleForTesting static final String DEFAULT_FILES_TO_ENTRIES_CACHE_LOCATION = ".sfge-cache" + File.separator + "fileToEntryMapData.json";
+
+ @VisibleForTesting static final boolean DEFAULT_DISABLE_CACHING = true;
+
+
/**
* Returns the value of the {@link #ENV_RULE_THREAD_COUNT} environment variable if set, else
* {@link #DEFAULT_RULE_THREAD_COUNT}. Should be used to set the number of threads that can be
@@ -101,6 +110,14 @@ static int getPathExpansionLimit() {
return getIntOrDefault(ENV_PATH_EXPANSION_LIMIT, DEFAULT_PATH_EXPANSION_LIMIT);
}
+ static String getFilesToEntriesCacheLocation() {
+ return getStringOrDefault(ENV_FILES_TO_ENTRIES_CACHE_LOCATION, DEFAULT_FILES_TO_ENTRIES_CACHE_LOCATION);
+ }
+
+ static boolean isCachingDisabled() {
+ return getBoolOrDefault(ENV_DISABLE_CACHING, DEFAULT_DISABLE_CACHING);
+ }
+
private static int getIntOrDefault(String name, int defaultValue) {
String strVal = System.getProperty(name);
return strVal == null ? defaultValue : Integer.parseInt(strVal);
@@ -116,5 +133,10 @@ private static boolean getBoolOrDefault(String name, boolean defaultValue) {
return strVal == null ? defaultValue : Boolean.parseBoolean(strVal);
}
+ private static String getStringOrDefault(String name, String defaultValue) {
+ String strVal = System.getProperty(name);
+ return strVal == null ? defaultValue : strVal;
+ }
+
private EnvUtil() {}
}
diff --git a/sfge/src/main/java/com/salesforce/config/SfgeConfig.java b/sfge/src/main/java/com/salesforce/config/SfgeConfig.java
index b9bdf6ca5..37b3b7831 100644
--- a/sfge/src/main/java/com/salesforce/config/SfgeConfig.java
+++ b/sfge/src/main/java/com/salesforce/config/SfgeConfig.java
@@ -31,4 +31,10 @@ public interface SfgeConfig {
/** Limit to control the growth of path expansion to help alleviate OutOfMemoryError. */
int getPathExpansionLimit();
+
+ /** Filename of data that stores Files to Entries **/
+ String getFilesToEntriesCacheLocation();
+
+ /** Indicates if caching should be disabled in the current run **/
+ boolean isCachingDisabled();
}
diff --git a/sfge/src/main/java/com/salesforce/config/SfgeConfigImpl.java b/sfge/src/main/java/com/salesforce/config/SfgeConfigImpl.java
index 8411f002f..3fbbb287d 100644
--- a/sfge/src/main/java/com/salesforce/config/SfgeConfigImpl.java
+++ b/sfge/src/main/java/com/salesforce/config/SfgeConfigImpl.java
@@ -40,6 +40,16 @@ public int getPathExpansionLimit() {
return EnvUtil.getPathExpansionLimit();
}
+ @Override
+ public String getFilesToEntriesCacheLocation() {
+ return EnvUtil.getFilesToEntriesCacheLocation();
+ }
+
+ @Override
+ public boolean isCachingDisabled() {
+ return EnvUtil.isCachingDisabled();
+ }
+
static SfgeConfigImpl getInstance() {
return SfgeConfigImpl.LazyHolder.INSTANCE;
}
diff --git a/sfge/src/main/java/com/salesforce/graph/ApexPath.java b/sfge/src/main/java/com/salesforce/graph/ApexPath.java
index aeea3af8b..6d132cc65 100644
--- a/sfge/src/main/java/com/salesforce/graph/ApexPath.java
+++ b/sfge/src/main/java/com/salesforce/graph/ApexPath.java
@@ -1,5 +1,6 @@
package com.salesforce.graph;
+import com.google.common.collect.ImmutableList;
import com.salesforce.Collectible;
import com.salesforce.NullCollectible;
import com.salesforce.collections.CollectionUtil;
diff --git a/sfge/src/main/java/com/salesforce/graph/ops/expander/ops/TaintedFileTracker.java b/sfge/src/main/java/com/salesforce/graph/ops/expander/ops/TaintedFileTracker.java
new file mode 100644
index 000000000..424638201
--- /dev/null
+++ b/sfge/src/main/java/com/salesforce/graph/ops/expander/ops/TaintedFileTracker.java
@@ -0,0 +1,34 @@
+package com.salesforce.graph.ops.expander.ops;
+
+import com.salesforce.graph.ApexPath;
+import com.salesforce.graph.ops.expander.PathExpansionObserver;
+import com.salesforce.graph.vertex.MethodVertex;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Optional;
+import java.util.Set;
+
+/**
+ * Tracks apex class files that were encountered while expanding paths.
+ */
+public class TaintedFileTracker implements PathExpansionObserver {
+ final HashSet taintedFiles;
+
+ public TaintedFileTracker() {
+ taintedFiles = new HashSet<>();
+ }
+
+ @Override
+ public void onPathVisit(ApexPath path) {
+ Optional methodOpt = path.getMethodVertex();
+ if (methodOpt.isPresent()) {
+ taintedFiles.add(methodOpt.get().getFileName());
+ }
+ }
+
+ public Set getTaintedFiles() {
+ return Collections.unmodifiableSet(taintedFiles);
+ }
+
+}
diff --git a/sfge/src/main/java/com/salesforce/rules/PathBasedRuleRunner.java b/sfge/src/main/java/com/salesforce/rules/PathBasedRuleRunner.java
index 397bf6b6f..781899959 100644
--- a/sfge/src/main/java/com/salesforce/rules/PathBasedRuleRunner.java
+++ b/sfge/src/main/java/com/salesforce/rules/PathBasedRuleRunner.java
@@ -1,5 +1,6 @@
package com.salesforce.rules;
+import com.salesforce.cli.Result;
import com.salesforce.exception.UnexpectedException;
import com.salesforce.graph.ApexPath;
import com.salesforce.graph.ApexPathVertexMetaInfo;
@@ -8,6 +9,7 @@
import com.salesforce.graph.ops.expander.ApexPathExpanderConfig;
import com.salesforce.graph.ops.expander.PathExpansionException;
import com.salesforce.graph.ops.expander.PathExpansionObserver;
+import com.salesforce.graph.ops.expander.ops.TaintedFileTracker;
import com.salesforce.graph.vertex.BaseSFVertex;
import com.salesforce.graph.vertex.MethodVertex;
import com.salesforce.graph.vertex.SFVertex;
@@ -58,22 +60,27 @@ public PathBasedRuleRunner(
*
* @return a set of violations that were detected
*/
- public Set runRules() {
+ public Result runRules() {
+ final Result result = new Result();
if (allRules.isEmpty()) {
if (LOGGER.isInfoEnabled()) {
LOGGER.info(
"EntryPoint=" + methodVertex.toSimpleString() + "; No interested rules.");
}
// TODO: SURFACE A WARNING TO THE USER.
- return new HashSet<>();
+ return result;
}
+ final TaintedFileTracker taintedFileTracker = new TaintedFileTracker();
+
// Build configuration to define how apex paths will be expanded
- final ApexPathExpanderConfig expanderConfig = getApexPathExpanderConfig();
+ final ApexPathExpanderConfig expanderConfig = getApexPathExpanderConfig(taintedFileTracker);
// Get all the paths that originate in the entry point
final ApexPathRetrievalSummary pathSummary = getPathSummary(expanderConfig);
+ extractFileEntryMapping(taintedFileTracker, methodVertex, result);
+
// Execute rules on the paths rejected
executeRulesOnAnomalies(pathSummary.getRejectionReasons());
@@ -95,8 +102,18 @@ public Set runRules() {
}
progressListener.finishedAnalyzingEntryPoint(pathSummary.getAcceptedPaths(), violations);
+ result.addViolations(violations);
- return violations;
+ return result;
+ }
+
+ private void extractFileEntryMapping(TaintedFileTracker taintedFileTracker, MethodVertex entryMethod, Result result) {
+ final String entryFile = entryMethod.getFileName();
+ final String entryMethodName = entryMethod.getName();
+
+ for (String taintedFile : taintedFileTracker.getTaintedFiles()) {
+ result.addFileToEntryPoint(taintedFile, entryFile, entryMethodName);
+ }
}
private void executeRulesOnAnomalies(List anomalies) {
@@ -222,9 +239,15 @@ private ApexPathRetrievalSummary getPathSummary(ApexPathExpanderConfig expanderC
return ApexPathUtil.summarizeForwardPaths(g, methodVertex, expanderConfig);
}
- private ApexPathExpanderConfig getApexPathExpanderConfig() {
+ private ApexPathExpanderConfig getApexPathExpanderConfig(TaintedFileTracker taintedFileTracker) {
ApexPathExpanderConfig.Builder expanderConfigBuilder =
ApexPathUtil.getFullConfiguredPathExpanderConfigBuilder();
+ // Add default PathExpansionObservers
+
+ // We need a new instance of TaintedFileTracker since the tainted files are unique to each path expansion.
+ expanderConfigBuilder = expanderConfigBuilder.withPathExpansionObserver(taintedFileTracker);
+
+ // Add observers that the rules request
for (AbstractPathBasedRule rule : allRules) {
Optional observerOptional = rule.getPathExpansionObserver();
if (observerOptional.isPresent()) {
@@ -232,6 +255,8 @@ private ApexPathExpanderConfig getApexPathExpanderConfig() {
expanderConfigBuilder.withPathExpansionObserver(observerOptional.get());
}
}
+
+ // Add vertices that rules express interest in
for (AbstractPathTraversalRule rule : traversalRules) {
expanderConfigBuilder = expanderConfigBuilder.withVertexPredicate(rule);
}
diff --git a/sfge/src/main/java/com/salesforce/rules/ThreadableRuleExecutor.java b/sfge/src/main/java/com/salesforce/rules/ThreadableRuleExecutor.java
index 90f7c34a7..55f8dfa30 100644
--- a/sfge/src/main/java/com/salesforce/rules/ThreadableRuleExecutor.java
+++ b/sfge/src/main/java/com/salesforce/rules/ThreadableRuleExecutor.java
@@ -39,8 +39,7 @@ public static Result run(List submissions) {
try {
// Create a threadpool and a completion service to monitor it.
ExecutorService pool = Executors.newWorkStealingPool(THREAD_COUNT);
- CompletionService> completionService =
- new ExecutorCompletionService(pool);
+ CompletionService completionService = new ExecutorCompletionService(pool);
// Submit an appropriate amount of callables into the completion service.
int submissionCount = submitRunners(completionService, submissions);
@@ -51,15 +50,15 @@ public static Result run(List submissions) {
LOGGER.info("Beginning wait #" + (completedCount + 1));
}
// Get the next set of results.
- Set violations = waitForCallable(completionService);
- int priorSize = result.getViolations().size();
- result.addViolations(violations);
+ result.merge(waitForCallable(completionService));
+ int priorSize = result.getOrderedViolations().size();
+
if (LOGGER.isInfoEnabled()) {
LOGGER.info(
"Wait #"
+ (completedCount + 1)
+ " finished, adding "
- + (result.getViolations().size() - priorSize)
+ + (result.getOrderedViolations().size() - priorSize)
+ " new entries");
}
completedCount += 1;
@@ -88,7 +87,7 @@ public static Result run(List submissions) {
* points and rules. Returns the number of new runners submitted to the pool.
*/
private static int submitRunners(
- CompletionService> completionService,
+ CompletionService completionService,
List submissions) {
int submissionCount = 0;
final ProgressListener progressListener = ProgressListenerProvider.get();
@@ -109,11 +108,10 @@ private static int submitRunners(
*
* @throws ThreadableRuleExecutorException - Thrown when a runner is unable to complete.
*/
- private static Set waitForCallable(
- CompletionService> completionService) {
+ private static Result waitForCallable(CompletionService completionService) {
try {
long startTime = System.currentTimeMillis();
- Future> future = completionService.take();
+ Future future = completionService.take();
long endTime = System.currentTimeMillis();
if (LOGGER.isInfoEnabled()) {
LOGGER.info("Future returned after " + (endTime - startTime) + " ms");
@@ -124,7 +122,7 @@ private static Set waitForCallable(
}
}
- private static class CallableExecutor implements Callable> {
+ private static class CallableExecutor implements Callable {
private final ThreadableRuleSubmission submission;
private boolean timedOut;
@@ -133,9 +131,9 @@ public CallableExecutor(
this.submission = submission;
}
- public Set call() {
+ public Result call() {
Timer timer = new Timer(this.getClass().getSimpleName() + " Timer");
- TreeSet violations = new TreeSet<>();
+ Result result = new Result();
try (CloseableThreadContext.Instance closeable = LogUtil.startRuleRun()) {
submission.initializeThreadLocals();
submission.beforeRun();
@@ -163,7 +161,7 @@ public void run() {
}
};
timer.schedule(task, TIMEOUT);
- violations.addAll(
+ result.merge(
runRules(
submission.getGraph(),
submission.getRules(),
@@ -177,7 +175,7 @@ public void run() {
if (timedOut) {
// If the thread timed out, we should create a violation indicating that this
// occurred.
- violations.add(
+ result.addViolation(
new Violation.TimeoutViolation(
"Path evaluation timed out after " + TIMEOUT + " ms",
submission.getPathEntry()));
@@ -201,7 +199,7 @@ public void run() {
+ ex.getMessage()
+ ": "
+ frameString;
- violations.add(
+ result.addViolation(
new Violation.InternalErrorViolation(
details, submission.getPathEntry()));
if (LOGGER.isErrorEnabled()) {
@@ -215,25 +213,26 @@ public void run() {
if (LOGGER.isInfoEnabled()) {
LOGGER.info("Finished. method=" + submission.getPathEntry().toSimpleString());
}
- submission.afterRun(violations);
- return violations;
+ submission.afterRun(result);
+ return result;
}
- private Set runRules(
+ private Result runRules(
GraphTraversalSource graph,
List rules,
MethodVertex pathEntry) {
- Set violations = new HashSet<>();
+ final Result result = new Result();
final PathBasedRuleRunner pathBasedRuleRunner =
new PathBasedRuleRunner(graph, rules, pathEntry);
try {
- violations.addAll(pathBasedRuleRunner.runRules());
+ result.merge(pathBasedRuleRunner.runRules());
} catch (PathExpansionLimitReachedException ex) {
- violations.add(new Violation.LimitReachedViolation(ex.getMessage(), pathEntry));
+ result.addViolation(
+ new Violation.LimitReachedViolation(ex.getMessage(), pathEntry));
} catch (UserActionException ex) {
- violations.add(new Violation.UserActionViolation(ex.getMessage(), pathEntry));
+ result.addViolation(new Violation.UserActionViolation(ex.getMessage(), pathEntry));
}
- return violations;
+ return result;
}
}
@@ -271,10 +270,10 @@ default void beforeRun() {
/**
* Invoked in a Callable after the rules are evaluated
*
- * @param violations - All violations that were created by this execution. TreeSet
- * guarantees proper ordering.
+ * @param result - All violations that were created by this execution. TreeSet guarantees
+ * proper ordering.
*/
- default void afterRun(TreeSet violations) {
+ default void afterRun(Result result) {
// NO OP
}
}
diff --git a/sfge/src/main/java/com/salesforce/rules/Violation.java b/sfge/src/main/java/com/salesforce/rules/Violation.java
index 6a436e152..d5c318c83 100644
--- a/sfge/src/main/java/com/salesforce/rules/Violation.java
+++ b/sfge/src/main/java/com/salesforce/rules/Violation.java
@@ -143,13 +143,27 @@ public int hashCode() {
public int compareTo(Violation o) {
// First, compare the attributes that are common to all violation types.
final int baseComparison =
- Comparator.comparing(Violation::getSourceFileName)
- .thenComparing(Violation::getSourceDefiningType)
- .thenComparing(Violation::getSourceLineNumber)
- .thenComparing(Violation::getSourceColumnNumber)
- .thenComparing(Violation::getSourceVertexName)
- .thenComparing(Violation::getRuleName)
- .thenComparing(Violation::getMessage)
+ Comparator.comparing(
+ Violation::getSourceFileName,
+ Comparator.nullsLast(Comparator.naturalOrder()))
+ .thenComparing(
+ Violation::getSourceDefiningType,
+ Comparator.nullsLast(Comparator.naturalOrder()))
+ .thenComparing(
+ Violation::getSourceLineNumber,
+ Comparator.nullsLast(Comparator.naturalOrder()))
+ .thenComparing(
+ Violation::getSourceColumnNumber,
+ Comparator.nullsLast(Comparator.naturalOrder()))
+ .thenComparing(
+ Violation::getSourceVertexName,
+ Comparator.nullsLast(Comparator.naturalOrder()))
+ .thenComparing(
+ Violation::getRuleName,
+ Comparator.nullsLast(Comparator.naturalOrder()))
+ .thenComparing(
+ Violation::getMessage,
+ Comparator.nullsLast(Comparator.naturalOrder()))
.compare(this, o);
// If comparison of the base attributes revealed a definitive ordering, then we should use
diff --git a/sfge/src/test/java/com/salesforce/TestUtil.java b/sfge/src/test/java/com/salesforce/TestUtil.java
index 7118e9525..fab8421a0 100644
--- a/sfge/src/test/java/com/salesforce/TestUtil.java
+++ b/sfge/src/test/java/com/salesforce/TestUtil.java
@@ -9,6 +9,7 @@
import com.salesforce.apex.jorje.ASTConstants;
import com.salesforce.apex.jorje.AstNodeWrapper;
import com.salesforce.apex.jorje.JorjeUtil;
+import com.salesforce.cli.Result;
import com.salesforce.exception.UnexpectedException;
import com.salesforce.graph.ApexPath;
import com.salesforce.graph.Schema;
@@ -320,7 +321,8 @@ public static List getViolations(
final PathBasedRuleRunner ruleRunner =
new PathBasedRuleRunner(g, Arrays.asList(rules), methodVertex);
- final List violations = new ArrayList<>(ruleRunner.runRules());
+ Result result = ruleRunner.runRules();
+ final List violations = new ArrayList<>(result.getOrderedViolations());
return violations;
}
diff --git a/sfge/src/test/java/com/salesforce/cli/CacheCreatorTest.java b/sfge/src/test/java/com/salesforce/cli/CacheCreatorTest.java
new file mode 100644
index 000000000..790a2852f
--- /dev/null
+++ b/sfge/src/test/java/com/salesforce/cli/CacheCreatorTest.java
@@ -0,0 +1,96 @@
+package com.salesforce.cli;
+
+import com.salesforce.config.SfgeConfigTestProvider;
+import com.salesforce.config.TestSfgeConfig;
+import org.hamcrest.MatcherAssert;
+import org.hamcrest.Matchers;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+
+import java.io.File;
+import java.io.IOException;
+
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.*;
+
+public class CacheCreatorTest {
+ private static final String DUMMY_FILE_NAME = ".test-sfge-cache" + File.separator + "myFileToEntriesDummy.json";
+ @Mock CacheCreator.Dependencies dependencies;
+
+ AutoCloseable openMocks;
+
+ @BeforeEach
+ void setUp() {
+ openMocks = MockitoAnnotations.openMocks(this);
+ SfgeConfigTestProvider.set(new TestSfgeConfig() {
+ @Override
+ public String getFilesToEntriesCacheLocation() {
+ return DUMMY_FILE_NAME;
+ }
+ public boolean isCachingDisabled() {
+ return false;
+ }
+ });
+ }
+
+ @AfterEach
+ void tearDown() throws Exception {
+ openMocks.close();
+ SfgeConfigTestProvider.remove();
+ }
+
+ @Test
+ public void testFilesToEntriesDataCreationForFileCreation() throws IOException {
+ Result result = new Result();
+ CacheCreator cacheCreator = new CacheCreator(dependencies);
+ cacheCreator.create(result);
+
+ final ArgumentCaptor fileNameCaptor = ArgumentCaptor.forClass(String.class);
+ final ArgumentCaptor dataCaptor = ArgumentCaptor.forClass(String.class);
+ verify(dependencies, times(1)).writeFile(fileNameCaptor.capture(), dataCaptor.capture());
+
+ String actualFilename = fileNameCaptor.getValue();
+ MatcherAssert.assertThat(actualFilename, Matchers.containsString(DUMMY_FILE_NAME));
+
+ }
+
+ @Test
+ public void testIOExceptionDoesNotDisrupt() throws IOException {
+ doThrow(new IOException("dummy exception")).when(dependencies).writeFile(anyString(), anyString());
+
+ Result result = new Result();
+ CacheCreator cacheCreator = new CacheCreator(dependencies);
+
+ assertDoesNotThrow(() -> cacheCreator.create(result));
+ }
+
+ @Test
+ public void testNoFileWrittenWhenCachingIsDisabled() throws IOException {
+
+ // Disable caching
+ SfgeConfigTestProvider.set(new TestSfgeConfig() {
+ @Override
+ public boolean isCachingDisabled() {
+ return true;
+ }
+ });
+
+ try {
+ Result result = new Result();
+ CacheCreator cacheCreator = new CacheCreator(dependencies);
+ cacheCreator.create(result);
+
+ verify(dependencies, Mockito.never()).writeFile(anyString(), anyString());
+
+ } finally {
+ // Cleanup test config override
+ SfgeConfigTestProvider.remove();
+ }
+ }
+}
diff --git a/sfge/src/test/java/com/salesforce/cli/FilesToEntriesMapTest.java b/sfge/src/test/java/com/salesforce/cli/FilesToEntriesMapTest.java
new file mode 100644
index 000000000..fc5bfb3d1
--- /dev/null
+++ b/sfge/src/test/java/com/salesforce/cli/FilesToEntriesMapTest.java
@@ -0,0 +1,105 @@
+package com.salesforce.cli;
+
+import org.hamcrest.Matchers;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+import org.junit.jupiter.api.Test;
+
+import java.util.HashMap;
+import java.util.HashSet;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+
+public class FilesToEntriesMapTest {
+
+ private static final String FILE_1 = "file1";
+ private static final String FILE_2 = "file2";
+ private static final String FILE_3 = "file3";
+ private static final String ENTRY_FILE_1 = "entryFile1";
+ private static final String ENTRY_FILE_2 = "entryFile2";
+ private static final String ENTRY_METHOD_1 = "entryMethod1";
+ private static final String ENTRY_METHOD_2 = "entryMethod2";
+ private static final String ENTRY_METHOD_3 = "entryMethod3";
+
+
+ @Test
+ public void testEntryCreation() {
+ FilesToEntriesMap filesToEntriesMap = new FilesToEntriesMap();
+ filesToEntriesMap.put(FILE_1, ENTRY_FILE_1, ENTRY_METHOD_1);
+ filesToEntriesMap.put(FILE_2, ENTRY_FILE_1, ENTRY_METHOD_2);
+ filesToEntriesMap.put(FILE_1, ENTRY_FILE_2, ENTRY_METHOD_3);
+
+ HashMap> actualMap = filesToEntriesMap.getMap();
+ assertThat(actualMap.keySet(), containsInAnyOrder(FILE_1, FILE_2));
+
+ HashSet entries1 = actualMap.get(FILE_1);
+ assertThat(entries1, containsInAnyOrder(new FilesToEntriesMap.Entry(ENTRY_FILE_1, ENTRY_METHOD_1), new FilesToEntriesMap.Entry(ENTRY_FILE_2, ENTRY_METHOD_3)));
+
+ HashSet entries2 = actualMap.get(FILE_2);
+ assertThat(entries2, contains(new FilesToEntriesMap.Entry(ENTRY_FILE_1, ENTRY_METHOD_2)));
+ }
+
+ @Test
+ public void testMerge_appendingToExistingFilename() {
+ FilesToEntriesMap filesToEntriesMap1 = new FilesToEntriesMap();
+ filesToEntriesMap1.put(FILE_1, ENTRY_FILE_1, ENTRY_METHOD_1);
+ filesToEntriesMap1.put(FILE_2, ENTRY_FILE_1, ENTRY_METHOD_2);
+ filesToEntriesMap1.put(FILE_1, ENTRY_FILE_2, ENTRY_METHOD_3);
+
+ FilesToEntriesMap filesToEntriesMap2 = new FilesToEntriesMap();
+ filesToEntriesMap2.put(FILE_2, ENTRY_FILE_2, ENTRY_METHOD_3);
+
+ filesToEntriesMap1.merge(filesToEntriesMap2);
+
+ HashMap> actualMap = filesToEntriesMap1.getMap();
+
+ HashSet entries2 = actualMap.get(FILE_2);
+ assertThat(entries2, contains(new FilesToEntriesMap.Entry(ENTRY_FILE_1, ENTRY_METHOD_2), new FilesToEntriesMap.Entry(ENTRY_FILE_2, ENTRY_METHOD_3)));
+
+ }
+
+ @Test
+ public void testMerge_addingNewFilename() {
+ FilesToEntriesMap filesToEntriesMap1 = new FilesToEntriesMap();
+ filesToEntriesMap1.put(FILE_1, ENTRY_FILE_1, ENTRY_METHOD_1);
+ filesToEntriesMap1.put(FILE_2, ENTRY_FILE_1, ENTRY_METHOD_2);
+ filesToEntriesMap1.put(FILE_1, ENTRY_FILE_2, ENTRY_METHOD_3);
+
+ FilesToEntriesMap filesToEntriesMap2 = new FilesToEntriesMap();
+ filesToEntriesMap2.put(FILE_3, ENTRY_FILE_2, ENTRY_METHOD_3);
+
+ filesToEntriesMap1.merge(filesToEntriesMap2);
+
+ HashMap> actualMap = filesToEntriesMap1.getMap();
+
+ HashSet entries3 = actualMap.get(FILE_3);
+ assertThat(entries3, contains(new FilesToEntriesMap.Entry(ENTRY_FILE_2, ENTRY_METHOD_3)));
+ }
+
+ @Test
+ public void testJsonString() throws ParseException {
+ FilesToEntriesMap filesToEntriesMap = new FilesToEntriesMap();
+ filesToEntriesMap.put(FILE_1, ENTRY_FILE_1, ENTRY_METHOD_1);
+ filesToEntriesMap.put(FILE_2, ENTRY_FILE_1, ENTRY_METHOD_2);
+ filesToEntriesMap.put(FILE_1, ENTRY_FILE_2, ENTRY_METHOD_3);
+
+ String jsonString = filesToEntriesMap.toJsonString();
+ JSONParser parser = new JSONParser();
+ JSONObject data = (JSONObject) parser.parse(jsonString);
+
+ assertThat(data.containsKey("data"), Matchers.equalTo(true));
+
+ JSONArray filesToEntriesMapData = (JSONArray) data.get(FilesToEntriesMap.FIELD_DATA);
+ assertThat(filesToEntriesMapData.size(), equalTo(2));
+
+ JSONObject file2Data = (JSONObject) filesToEntriesMapData.get(0);
+ assertThat(file2Data.get(FilesToEntriesMap.FIELD_FILENAME), equalTo(FILE_2));
+ JSONArray entries2 = (JSONArray) file2Data.get(FilesToEntriesMap.FIELD_ENTRIES);
+ assertThat(entries2.size(), equalTo(1));
+
+
+ }
+}
diff --git a/sfge/src/test/java/com/salesforce/cli/PathEntryCaptureTest.java b/sfge/src/test/java/com/salesforce/cli/PathEntryCaptureTest.java
new file mode 100644
index 000000000..4516fccd2
--- /dev/null
+++ b/sfge/src/test/java/com/salesforce/cli/PathEntryCaptureTest.java
@@ -0,0 +1,141 @@
+package com.salesforce.cli;
+
+import com.salesforce.TestUtil;
+import com.salesforce.graph.ops.GraphUtil;
+import com.salesforce.graph.vertex.MethodVertex;
+import com.salesforce.rules.AbstractPathBasedRule;
+import com.salesforce.rules.ApexFlsViolationRule;
+import com.salesforce.rules.PathBasedRuleRunner;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.hamcrest.Matchers;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
+
+import java.nio.file.Path;
+import java.util.*;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+
+/**
+ * Executes path expansion on physical files to verify accuracy of {@link FilesToEntriesMap} created.
+ */
+public class PathEntryCaptureTest {
+ private GraphTraversalSource g;
+
+ @BeforeEach
+ public void setup() throws Exception {
+ g = GraphUtil.getGraph();
+ }
+
+ @Test
+ public void testEntryOnKeyFile(TestInfo testInfo) throws GraphUtil.GraphLoadException {
+ String entryClass = "EntryAndKeyClass";
+ String entryMethod = "doSomething";
+ String keyClass = "EntryAndKeyClass";
+
+ TestUtil.compileTestFiles(g, testInfo);
+ FilesToEntriesMap filesToEntriesMap = executePathBasedRuleRunner(entryClass, entryMethod);
+
+ Verifier verifier = new Verifier(filesToEntriesMap, testInfo);
+ verifier.assertKeyCount(1);
+ verifier.assertFileToEntryExists(keyClass, entryClass, entryMethod);
+ }
+
+ @Test
+ public void testEntryNotOnKeyFile(TestInfo testInfo) throws GraphUtil.GraphLoadException {
+ String entryClass = "EntryClass";
+ String entryMethod = "doSomething";
+ String keyClass = "KeyClass";
+
+ TestUtil.compileTestFiles(g, testInfo);
+ FilesToEntriesMap filesToEntriesMap = executePathBasedRuleRunner(entryClass, entryMethod);
+
+ Verifier verifier = new Verifier(filesToEntriesMap, testInfo);
+ verifier.assertKeyCount(2);
+ verifier.assertFileToEntryExists(keyClass, entryClass, entryMethod);
+ verifier.assertFileToEntryExists(entryClass, entryClass, entryMethod);
+ }
+
+ @Test
+ public void testNoKeyForUnusedFile(TestInfo testInfo) throws GraphUtil.GraphLoadException {
+ String entryClass = "EntryClass";
+ String entryMethod = "doSomething";
+ String unusedClass = "UnusedClass";
+
+ TestUtil.compileTestFiles(g, testInfo);
+ FilesToEntriesMap filesToEntriesMap = executePathBasedRuleRunner(entryClass, entryMethod);
+
+ Verifier verifier = new Verifier(filesToEntriesMap, testInfo);
+ verifier.assertFileToEntryDoesNotExist(unusedClass, entryClass, entryMethod);
+ }
+
+ @Test
+ public void testMultiplePathsToDifferentClasses(TestInfo testInfo) throws GraphUtil.GraphLoadException {
+ String entryClass = "EntryClass";
+ String entryMethod = "doSomething";
+
+ TestUtil.compileTestFiles(g, testInfo);
+ FilesToEntriesMap filesToEntriesMap = executePathBasedRuleRunner(entryClass, entryMethod);
+
+ Verifier verifier = new Verifier(filesToEntriesMap, testInfo);
+ verifier.assertKeyCount(3);
+ verifier.assertFileToEntryExists("KeyClass1", entryClass, entryMethod);
+ verifier.assertFileToEntryExists("KeyClass2", entryClass, entryMethod);
+ verifier.assertFileToEntryExists(entryClass, entryClass, entryMethod);
+ }
+
+
+
+ private FilesToEntriesMap executePathBasedRuleRunner(String entryClass, String entryMethod) {
+ MethodVertex methodVertex = TestUtil.getMethodVertex(g, entryClass, entryMethod);
+ List rules =
+ Collections.singletonList(ApexFlsViolationRule.getInstance());
+
+ // Define a PathBasedRuleRunner to apply the rule against the method vertex.
+ PathBasedRuleRunner runner = new PathBasedRuleRunner(g, rules, methodVertex);
+
+ Result result = runner.runRules();
+ return result.getFilesToEntriesMap();
+ }
+
+ /**
+ * Helper class to offload the brunt of assertions and make the tests more readable.
+ */
+ class Verifier {
+ private final HashMap> map;
+ private final Path testFileDirectory;
+
+ Verifier(FilesToEntriesMap filesToEntriesMap, TestInfo testInfo) {
+ this.map = filesToEntriesMap.getMap();
+ this.testFileDirectory = TestUtil.getTestFileDirectory(testInfo);
+ }
+
+ void assertKeyCount(int expectedCount) {
+ assertThat("Incorrect key count.", map, Matchers.aMapWithSize(expectedCount));
+ }
+
+ void assertFileToEntryExists(String keyClass, String entryClass, String entryMethod) {
+ assertThat("Expected key file not found: " + keyClass, map.keySet(), hasItem(getAbsolutePath(testFileDirectory, keyClass)));
+
+ HashSet entries = map.get(getAbsolutePath(testFileDirectory, keyClass));
+ assertThat("Expected entry not found.", entries, hasItem(getExpectedEntry(testFileDirectory, entryClass, entryMethod)));
+ }
+
+ void assertFileToEntryDoesNotExist(String keyClass, String entryClass, String entryMethod) {
+ assertThat("Unxpected key file found: " + keyClass, map.keySet(), not(hasItem(getAbsolutePath(testFileDirectory, keyClass))));
+
+ HashSet entries = map.get(getAbsolutePath(testFileDirectory, keyClass));
+ assertThat("Unexpected entry found.", entries, not(hasItem(getExpectedEntry(testFileDirectory, entryClass, entryMethod))));
+ }
+
+ private FilesToEntriesMap.Entry getExpectedEntry(Path testFileDirectory, String entryClass, String entryMethod) {
+ return new FilesToEntriesMap.Entry(getAbsolutePath(testFileDirectory, entryClass), entryMethod);
+ }
+
+ private String getAbsolutePath(Path testFileDirectory, String entryClass) {
+ return testFileDirectory.resolve(entryClass + ".cls").toAbsolutePath().toString();
+ }
+ }
+}
diff --git a/sfge/src/test/java/com/salesforce/config/SfgeConfigProviderTest.java b/sfge/src/test/java/com/salesforce/config/SfgeConfigProviderTest.java
index bfc1a0779..10c171b08 100644
--- a/sfge/src/test/java/com/salesforce/config/SfgeConfigProviderTest.java
+++ b/sfge/src/test/java/com/salesforce/config/SfgeConfigProviderTest.java
@@ -9,6 +9,10 @@
import org.junit.jupiter.api.Test;
public class SfgeConfigProviderTest {
+
+ private static final String DUMMY_CACHE_DIR = "dummyCacheDir";
+ private static final String DUMMY_FILES_TO_ENTRIES_LOCATION = "dummyFilesToEntriesData";
+
@Test
public void testDefaultImplementation() {
final SfgeConfig sfgeConfig = SfgeConfigProvider.get();
@@ -56,6 +60,16 @@ public int getStackDepthLimit() {
public int getPathExpansionLimit() {
return -1 * EnvUtil.DEFAULT_PATH_EXPANSION_LIMIT;
}
+
+ @Override
+ public String getFilesToEntriesCacheLocation() {
+ return DUMMY_FILES_TO_ENTRIES_LOCATION;
+ }
+
+ @Override
+ public boolean isCachingDisabled() {
+ return true;
+ }
});
final SfgeConfig sfgeConfig = SfgeConfigProvider.get();
@@ -81,6 +95,8 @@ public int getPathExpansionLimit() {
MatcherAssert.assertThat(
sfgeConfig.getPathExpansionLimit(),
equalTo(-1 * EnvUtil.DEFAULT_PATH_EXPANSION_LIMIT));
+ MatcherAssert.assertThat(sfgeConfig.getFilesToEntriesCacheLocation(), equalTo(DUMMY_FILES_TO_ENTRIES_LOCATION));
+ MatcherAssert.assertThat(sfgeConfig.isCachingDisabled(), equalTo(true));
} finally {
SfgeConfigTestProvider.remove();
}
diff --git a/sfge/src/test/java/com/salesforce/config/TestSfgeConfig.java b/sfge/src/test/java/com/salesforce/config/TestSfgeConfig.java
index c6776a995..702014bd5 100644
--- a/sfge/src/test/java/com/salesforce/config/TestSfgeConfig.java
+++ b/sfge/src/test/java/com/salesforce/config/TestSfgeConfig.java
@@ -39,4 +39,14 @@ public int getStackDepthLimit() {
public int getPathExpansionLimit() {
return SfgeConfigImpl.getInstance().getPathExpansionLimit();
}
+
+ @Override
+ public String getFilesToEntriesCacheLocation() {
+ return SfgeConfigImpl.getInstance().getFilesToEntriesCacheLocation();
+ }
+
+ @Override
+ public boolean isCachingDisabled() {
+ return SfgeConfigImpl.getInstance().isCachingDisabled();
+ }
}
diff --git a/sfge/src/test/java/com/salesforce/rules/PathBasedRuleRunnerTest.java b/sfge/src/test/java/com/salesforce/rules/PathBasedRuleRunnerTest.java
index c05c3cf17..08cc60e9f 100644
--- a/sfge/src/test/java/com/salesforce/rules/PathBasedRuleRunnerTest.java
+++ b/sfge/src/test/java/com/salesforce/rules/PathBasedRuleRunnerTest.java
@@ -3,10 +3,10 @@
import static org.hamcrest.Matchers.hasSize;
import com.salesforce.TestUtil;
+import com.salesforce.cli.Result;
import com.salesforce.graph.vertex.MethodVertex;
import java.util.Collections;
import java.util.List;
-import java.util.Set;
import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
import org.hamcrest.MatcherAssert;
import org.junit.jupiter.api.BeforeEach;
@@ -33,7 +33,7 @@ public void pathsWithoutInterestingVerticesAreIgnored() {
+ " }\n"
+ " }\n"
+ "}";
- TestUtil.buildGraph(g, sourceCode, true);
+ TestUtil.buildGraph(g, sourceCode, false);
// Get the vertex corresponding to the method, and an instance of the FLS rule in a
// singleton list.
@@ -44,7 +44,8 @@ public void pathsWithoutInterestingVerticesAreIgnored() {
// Define a PathBasedRuleRunner to apply the rule against the method vertex.
PathBasedRuleRunner runner = new PathBasedRuleRunner(g, rules, methodVertex);
- Set violations = runner.runRules();
+ Result result = runner.runRules();
+ List violations = result.getOrderedViolations();
MatcherAssert.assertThat(violations, hasSize(0));
}
}
diff --git a/sfge/src/test/java/com/salesforce/rules/RuleRunnerTest.java b/sfge/src/test/java/com/salesforce/rules/RuleRunnerTest.java
index d2d1fa9f9..4c692c234 100644
--- a/sfge/src/test/java/com/salesforce/rules/RuleRunnerTest.java
+++ b/sfge/src/test/java/com/salesforce/rules/RuleRunnerTest.java
@@ -55,7 +55,7 @@ public void properlyRunsStaticRule() {
AbstractRuleRunner rr = new TestRuleRunner(g, VertexCacheProvider.get());
final Result result = rr.runRules(rules);
- List vs = result.getViolations();
+ List vs = result.getOrderedViolations();
MatcherAssert.assertThat(vs, hasSize(equalTo(1)));
assertEquals("Hard-coded static violation", vs.get(0).getMessage());
@@ -82,7 +82,7 @@ public void runsPathBasedRulesOnAuraMethods() {
AbstractRuleRunner rr = new TestRuleRunner(g, VertexCacheProvider.get());
final Result result = rr.runRules(rules);
- List vs = result.getViolations();
+ List vs = result.getOrderedViolations();
MatcherAssert.assertThat(vs, hasSize(equalTo(1)));
assertEquals("Hard-coded path violation", vs.get(0).getMessage());
@@ -108,7 +108,7 @@ public void runsPathBasedRulesOnPageReferenceMethods() {
AbstractRuleRunner rr = new TestRuleRunner(g, VertexCacheProvider.get());
final Result result = rr.runRules(rules);
- List vs = result.getViolations();
+ List vs = result.getOrderedViolations();
MatcherAssert.assertThat(vs, hasSize(equalTo(1)));
assertEquals("Hard-coded path violation", vs.get(0).getMessage());
@@ -162,7 +162,7 @@ public void filtersViolationsFromNontargetedFiles() {
// Since we're providing a list of targeted files, only those files should have violations
// associated with them.
final Result result = rr.runRules(rules, targets);
- List vs = result.getViolations();
+ List vs = result.getOrderedViolations();
MatcherAssert.assertThat(vs, hasSize(4));
Set filesWithStaticViolation = new HashSet<>();
@@ -303,8 +303,8 @@ public void initializeThreadLocals() {
}
@Override
- public void afterRun(TreeSet violations) {
- super.afterRun(violations);
+ public void afterRun(Result result) {
+ super.afterRun(result);
VertexCacheTestProvider.remove();
}
};
diff --git a/sfge/src/test/java/com/salesforce/rules/unusedmethod/BaseUnusedMethodTest.java b/sfge/src/test/java/com/salesforce/rules/unusedmethod/BaseUnusedMethodTest.java
index 54fca2afa..f2b613c58 100644
--- a/sfge/src/test/java/com/salesforce/rules/unusedmethod/BaseUnusedMethodTest.java
+++ b/sfge/src/test/java/com/salesforce/rules/unusedmethod/BaseUnusedMethodTest.java
@@ -7,6 +7,7 @@
import com.google.common.collect.Lists;
import com.salesforce.TestUtil;
import com.salesforce.apex.jorje.ASTConstants.NodeType;
+import com.salesforce.cli.Result;
import com.salesforce.graph.Schema;
import com.salesforce.graph.vertex.MethodVertex;
import com.salesforce.graph.vertex.SFVertexFactory;
@@ -274,7 +275,8 @@ protected void assertExpectations(
TestUtil.getMethodVertex(g, entryDefiningType, entryMethod);
PathBasedRuleRunner runner =
new PathBasedRuleRunner(g, Lists.newArrayList(rule), entryMethodVertex);
- List violations = new ArrayList<>(runner.runRules());
+ Result result = runner.runRules();
+ List violations = new ArrayList<>(result.getOrderedViolations());
violations.addAll(
rule.postProcess(
g)); // Important! This is where the violations are created for this rule
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryNotOnKeyFile/EntryClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryNotOnKeyFile/EntryClass.cls
new file mode 100644
index 000000000..99a52da77
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryNotOnKeyFile/EntryClass.cls
@@ -0,0 +1,8 @@
+public class EntryClass {
+ @AuraEnabled
+ public static void doSomething() {
+ KeyClass key = new KeyClass();
+ Integer int = key.getMyInt();
+ System.debug(int);
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryNotOnKeyFile/KeyClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryNotOnKeyFile/KeyClass.cls
new file mode 100644
index 000000000..28b66fe06
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryNotOnKeyFile/KeyClass.cls
@@ -0,0 +1,5 @@
+public class KeyClass {
+ public Integer getMyInt() {
+ return 5;
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryOnKeyFile/EntryAndKeyClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryOnKeyFile/EntryAndKeyClass.cls
new file mode 100644
index 000000000..67174e302
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testEntryOnKeyFile/EntryAndKeyClass.cls
@@ -0,0 +1,10 @@
+public class EntryAndKeyClass {
+ @AuraEnabled
+ public static void doSomething() {
+ Integer int = getMyInt();
+ }
+
+ static Integer getMyInt() {
+ return 5;
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/EntryClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/EntryClass.cls
new file mode 100644
index 000000000..9ea84a4ba
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/EntryClass.cls
@@ -0,0 +1,14 @@
+public class EntryClass {
+ @AuraEnabled
+ public static void doSomething(boolean decider) {
+ if (decider) {
+ KeyClass1 key1 = new KeyClass1();
+ Integer int = key1.getMyInt();
+ System.debug(int);
+ } else {
+ KeyClass2 key2 = new KeyClass2();
+ String str = key2.getMyString();
+ System.debug(str);
+ }
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/KeyClass1.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/KeyClass1.cls
new file mode 100644
index 000000000..8bf7d58a0
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/KeyClass1.cls
@@ -0,0 +1,5 @@
+public class KeyClass1 {
+ public Integer getMyInt() {
+ return 5;
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/KeyClass2.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/KeyClass2.cls
new file mode 100644
index 000000000..565ab1edd
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testMultiplePathsToDifferentClasses/KeyClass2.cls
@@ -0,0 +1,5 @@
+public class KeyClass2 {
+ public String getMyString() {
+ return 'hi';
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/EntryClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/EntryClass.cls
new file mode 100644
index 000000000..99a52da77
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/EntryClass.cls
@@ -0,0 +1,8 @@
+public class EntryClass {
+ @AuraEnabled
+ public static void doSomething() {
+ KeyClass key = new KeyClass();
+ Integer int = key.getMyInt();
+ System.debug(int);
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/KeyClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/KeyClass.cls
new file mode 100644
index 000000000..28b66fe06
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/KeyClass.cls
@@ -0,0 +1,5 @@
+public class KeyClass {
+ public Integer getMyInt() {
+ return 5;
+ }
+}
diff --git a/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/UnusedClass.cls b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/UnusedClass.cls
new file mode 100644
index 000000000..d98eed799
--- /dev/null
+++ b/sfge/src/test/resources/test-files/com/salesforce/cli/PathEntryCaptureTest/testNoKeyForUnusedFile/UnusedClass.cls
@@ -0,0 +1,5 @@
+public class UnusedClass {
+ static void notCalled() {
+ System.debug('no one called me :(');
+ }
+}
diff --git a/src/Constants.ts b/src/Constants.ts
index 1901ce6cc..be8470139 100644
--- a/src/Constants.ts
+++ b/src/Constants.ts
@@ -1,8 +1,8 @@
import os = require('os');
import path = require('path');
-export const PMD7_VERSION = '7.1.0';
-export const PMD_APPEXCHANGE_RULES_VERSION = '0.12';
+export const PMD7_VERSION = '7.2.0';
+export const PMD_APPEXCHANGE_RULES_VERSION = '0.13';
export const SFGE_VERSION = '1.0.1-pilot';
export const DEFAULT_SCANNER_PATH = path.join(os.homedir(), '.sfdx-scanner');
export const CATALOG_FILE = 'Catalog.json';
diff --git a/src/lib/pmd/PmdCommandInfo.ts b/src/lib/pmd/PmdCommandInfo.ts
index af73b8104..7133877b4 100644
--- a/src/lib/pmd/PmdCommandInfo.ts
+++ b/src/lib/pmd/PmdCommandInfo.ts
@@ -2,7 +2,6 @@ import {PMD7_LIB, PMD7_VERSION} from "../../Constants";
import * as path from 'path';
const PMD7_CLI_CLASS = 'net.sourceforge.pmd.cli.PmdCli';
-const HEAP_SIZE = '-Xmx1024m';
export interface PmdCommandInfo {
getVersion(): string
@@ -25,7 +24,7 @@ export class Pmd7CommandInfo implements PmdCommandInfo {
constructJavaCommandArgsForPmd(fileList: string, classPathsForExternalRules: string[], rulesets: string): string[] {
const classpath = classPathsForExternalRules.concat([`${PMD7_LIB}/*`]).join(path.delimiter);
- const args = ['-cp', classpath, HEAP_SIZE, PMD7_CLI_CLASS, 'check', '--file-list', fileList,
+ const args = ['-cp', classpath, PMD7_CLI_CLASS, 'check', '--file-list', fileList,
'--format', 'xml'];
if (rulesets.length > 0) {
args.push('--rulesets', rulesets);
@@ -35,7 +34,7 @@ export class Pmd7CommandInfo implements PmdCommandInfo {
constructJavaCommandArgsForCpd(fileList: string, minimumTokens: number, language: string): string[] {
const classpath = `${PMD7_LIB}/*`;
- return ['-cp', classpath, HEAP_SIZE, PMD7_CLI_CLASS, 'cpd', '--file-list', fileList, '--format', 'xml',
+ return ['-cp', classpath, PMD7_CLI_CLASS, 'cpd', '--file-list', fileList, '--format', 'xml',
'--minimum-tokens', minimumTokens.toString(), '--language', language, '--skip-lexical-errors'];
}
}
diff --git a/src/lib/retire-js/RetireJsEngine.ts b/src/lib/retire-js/RetireJsEngine.ts
index 78b53d8ba..b4df1e1de 100644
--- a/src/lib/retire-js/RetireJsEngine.ts
+++ b/src/lib/retire-js/RetireJsEngine.ts
@@ -11,6 +11,12 @@ import cspawn = require('cross-spawn');
import path = require('path');
import StreamZip = require('node-stream-zip');
import {CUSTOM_CONFIG} from '../../Constants';
+import * as fs from "node:fs";
+
+// Note that we don't want to call npx retire from this file since we don't want to accidentally have npx pick up
+// another version on the users machine. Instead, we want to call the command directly from the node_modules/.bin
+// folder (which always shows up when you install the retire dependency).
+const RETIRE_JS_COMMAND = findCommand('retire');
// Unlike the other engines we use, RetireJS doesn't really have "rules" per se. So we sorta have to synthesize a
// "catalog" out of RetireJS's normal behavior and its permutations.
@@ -199,7 +205,7 @@ export class RetireJsEngine extends AbstractRuleEngine {
private async executeRetireJs(invocation: RetireJsInvocation, verboseViolations: boolean): Promise {
return new Promise((res, rej) => {
- const cp = cspawn('npx', ['retire'].concat(invocation.args));
+ const cp = cspawn(RETIRE_JS_COMMAND, invocation.args);
// Initialize both stdout and stderr as empty strings to which we can append data as we receive it.
let stdout = '';
@@ -543,3 +549,17 @@ export class RetireJsEngine extends AbstractRuleEngine {
);
}
}
+
+
+/**
+ * Finds the command location (symlink) for a command that is pulled in from this package's dependencies.
+ * We need to look up the location since the node_modules or .bin can change locations in various scenarios.
+ */
+export function findCommand(commandName: string): string {
+ for (let dir = __dirname; dir !== path.resolve(dir, '..'); dir = path.resolve(dir, '..')) {
+ const commandPath = path.join(dir, 'node_modules', '.bin', commandName);
+ if (fs.existsSync(commandPath)) return commandPath;
+ }
+ /* istanbul ignore next */
+ throw new Error(`Could not find file for command: ${commandName}`);
+}
diff --git a/test/commands/scanner/run.filters.test.ts b/test/commands/scanner/run.filters.test.ts
index 134788c1f..2011b0896 100644
--- a/test/commands/scanner/run.filters.test.ts
+++ b/test/commands/scanner/run.filters.test.ts
@@ -53,7 +53,7 @@ describe('scanner run tests that result in the use of RuleFilters', function ()
expect(results, `results does not have expected length. ${results.map(r => r.fileName).join(',')}`)
.to.be.an('Array').that.has.length(1);
const messages = results[0].violations.map(v => v.message.trim());
- const expectedMessages = ['Use Lightning Message Channel with isExposed set to false.'];
+ const expectedMessages = ['Detected Lightning Message Channel with isExposed set to true.'];
for (const expectedMessage of expectedMessages) {
expect(messages).to.contain(expectedMessage);
}
diff --git a/yarn.lock b/yarn.lock
index 8e3cc16f8..c1341981f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,603 +10,595 @@
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.24"
-"@aws-crypto/crc32@3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa"
- integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==
+"@aws-crypto/crc32@5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1"
+ integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==
dependencies:
- "@aws-crypto/util" "^3.0.0"
+ "@aws-crypto/util" "^5.2.0"
"@aws-sdk/types" "^3.222.0"
- tslib "^1.11.1"
+ tslib "^2.6.2"
-"@aws-crypto/crc32c@3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz#016c92da559ef638a84a245eecb75c3e97cb664f"
- integrity sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==
+"@aws-crypto/crc32c@5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz#4e34aab7f419307821509a98b9b08e84e0c1917e"
+ integrity sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==
dependencies:
- "@aws-crypto/util" "^3.0.0"
+ "@aws-crypto/util" "^5.2.0"
"@aws-sdk/types" "^3.222.0"
- tslib "^1.11.1"
-
-"@aws-crypto/ie11-detection@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688"
- integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==
- dependencies:
- tslib "^1.11.1"
+ tslib "^2.6.2"
-"@aws-crypto/sha1-browser@3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz#f9083c00782b24714f528b1a1fef2174002266a3"
- integrity sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==
+"@aws-crypto/sha1-browser@5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz#b0ee2d2821d3861f017e965ef3b4cb38e3b6a0f4"
+ integrity sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==
dependencies:
- "@aws-crypto/ie11-detection" "^3.0.0"
- "@aws-crypto/supports-web-crypto" "^3.0.0"
- "@aws-crypto/util" "^3.0.0"
+ "@aws-crypto/supports-web-crypto" "^5.2.0"
+ "@aws-crypto/util" "^5.2.0"
"@aws-sdk/types" "^3.222.0"
"@aws-sdk/util-locate-window" "^3.0.0"
- "@aws-sdk/util-utf8-browser" "^3.0.0"
- tslib "^1.11.1"
+ "@smithy/util-utf8" "^2.0.0"
+ tslib "^2.6.2"
-"@aws-crypto/sha256-browser@3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766"
- integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==
+"@aws-crypto/sha256-browser@5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e"
+ integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==
dependencies:
- "@aws-crypto/ie11-detection" "^3.0.0"
- "@aws-crypto/sha256-js" "^3.0.0"
- "@aws-crypto/supports-web-crypto" "^3.0.0"
- "@aws-crypto/util" "^3.0.0"
+ "@aws-crypto/sha256-js" "^5.2.0"
+ "@aws-crypto/supports-web-crypto" "^5.2.0"
+ "@aws-crypto/util" "^5.2.0"
"@aws-sdk/types" "^3.222.0"
"@aws-sdk/util-locate-window" "^3.0.0"
- "@aws-sdk/util-utf8-browser" "^3.0.0"
- tslib "^1.11.1"
+ "@smithy/util-utf8" "^2.0.0"
+ tslib "^2.6.2"
-"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2"
- integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==
+"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042"
+ integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==
dependencies:
- "@aws-crypto/util" "^3.0.0"
+ "@aws-crypto/util" "^5.2.0"
"@aws-sdk/types" "^3.222.0"
- tslib "^1.11.1"
+ tslib "^2.6.2"
-"@aws-crypto/supports-web-crypto@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2"
- integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==
+"@aws-crypto/supports-web-crypto@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb"
+ integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==
dependencies:
- tslib "^1.11.1"
+ tslib "^2.6.2"
-"@aws-crypto/util@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0"
- integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==
+"@aws-crypto/util@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da"
+ integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==
dependencies:
"@aws-sdk/types" "^3.222.0"
- "@aws-sdk/util-utf8-browser" "^3.0.0"
- tslib "^1.11.1"
-
-"@aws-sdk/client-cloudfront@^3.574.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.583.0.tgz#fc5fede65cdebe616ca5f7b529f80838482958fa"
- integrity sha512-If31utBG1aOPDbaJzMpq59jHZpFqj181KE9SHK394BnmsANnsUPmE8/wrMOBzD8saIGAMrWfPP5X7urweqv/ow==
- dependencies:
- "@aws-crypto/sha256-browser" "3.0.0"
- "@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/client-sso-oidc" "3.583.0"
- "@aws-sdk/client-sts" "3.583.0"
- "@aws-sdk/core" "3.582.0"
- "@aws-sdk/credential-provider-node" "3.583.0"
- "@aws-sdk/middleware-host-header" "3.577.0"
- "@aws-sdk/middleware-logger" "3.577.0"
- "@aws-sdk/middleware-recursion-detection" "3.577.0"
- "@aws-sdk/middleware-user-agent" "3.583.0"
- "@aws-sdk/region-config-resolver" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@aws-sdk/util-endpoints" "3.583.0"
- "@aws-sdk/util-user-agent-browser" "3.577.0"
- "@aws-sdk/util-user-agent-node" "3.577.0"
- "@aws-sdk/xml-builder" "3.575.0"
- "@smithy/config-resolver" "^3.0.0"
- "@smithy/core" "^2.0.1"
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/hash-node" "^3.0.0"
- "@smithy/invalid-dependency" "^3.0.0"
- "@smithy/middleware-content-length" "^3.0.0"
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-retry" "^3.0.1"
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/middleware-stack" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
+ "@smithy/util-utf8" "^2.0.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-cloudfront@^3.592.0":
+ version "3.600.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.600.0.tgz#7220c3ee1abdc430bf8566b6a22d3d969b667a04"
+ integrity sha512-5qO3lc6AvErAqia552zA8ADwFO3UiJpJ8R2jy7JL18RifmePVs/f0jPeWPtAoV81iehmFziLyu6pWUMnfh3EJg==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sso-oidc" "3.600.0"
+ "@aws-sdk/client-sts" "3.600.0"
+ "@aws-sdk/core" "3.598.0"
+ "@aws-sdk/credential-provider-node" "3.600.0"
+ "@aws-sdk/middleware-host-header" "3.598.0"
+ "@aws-sdk/middleware-logger" "3.598.0"
+ "@aws-sdk/middleware-recursion-detection" "3.598.0"
+ "@aws-sdk/middleware-user-agent" "3.598.0"
+ "@aws-sdk/region-config-resolver" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@aws-sdk/util-endpoints" "3.598.0"
+ "@aws-sdk/util-user-agent-browser" "3.598.0"
+ "@aws-sdk/util-user-agent-node" "3.598.0"
+ "@aws-sdk/xml-builder" "3.598.0"
+ "@smithy/config-resolver" "^3.0.2"
+ "@smithy/core" "^2.2.1"
+ "@smithy/fetch-http-handler" "^3.0.2"
+ "@smithy/hash-node" "^3.0.1"
+ "@smithy/invalid-dependency" "^3.0.1"
+ "@smithy/middleware-content-length" "^3.0.1"
+ "@smithy/middleware-endpoint" "^3.0.2"
+ "@smithy/middleware-retry" "^3.0.4"
+ "@smithy/middleware-serde" "^3.0.1"
+ "@smithy/middleware-stack" "^3.0.1"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/node-http-handler" "^3.0.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
+ "@smithy/url-parser" "^3.0.1"
"@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.1"
- "@smithy/util-defaults-mode-node" "^3.0.1"
- "@smithy/util-endpoints" "^2.0.0"
- "@smithy/util-middleware" "^3.0.0"
- "@smithy/util-retry" "^3.0.0"
- "@smithy/util-stream" "^3.0.1"
+ "@smithy/util-defaults-mode-browser" "^3.0.4"
+ "@smithy/util-defaults-mode-node" "^3.0.4"
+ "@smithy/util-endpoints" "^2.0.2"
+ "@smithy/util-middleware" "^3.0.1"
+ "@smithy/util-retry" "^3.0.1"
+ "@smithy/util-stream" "^3.0.2"
"@smithy/util-utf8" "^3.0.0"
- "@smithy/util-waiter" "^3.0.0"
+ "@smithy/util-waiter" "^3.0.1"
tslib "^2.6.2"
-"@aws-sdk/client-s3@^3.577.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.583.0.tgz#e65c149ece09d017d03e95c0bc9963b2608fa536"
- integrity sha512-pS7wncugSuIQ8RgtRIE9Dystdmd3mMnjfjiO1iA1UhGXkyAgoJzQ4jH0r+5X+eWmYHYQcfy9fUQXT2gqV3t9GA==
- dependencies:
- "@aws-crypto/sha1-browser" "3.0.0"
- "@aws-crypto/sha256-browser" "3.0.0"
- "@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/client-sso-oidc" "3.583.0"
- "@aws-sdk/client-sts" "3.583.0"
- "@aws-sdk/core" "3.582.0"
- "@aws-sdk/credential-provider-node" "3.583.0"
- "@aws-sdk/middleware-bucket-endpoint" "3.577.0"
- "@aws-sdk/middleware-expect-continue" "3.577.0"
- "@aws-sdk/middleware-flexible-checksums" "3.577.0"
- "@aws-sdk/middleware-host-header" "3.577.0"
- "@aws-sdk/middleware-location-constraint" "3.577.0"
- "@aws-sdk/middleware-logger" "3.577.0"
- "@aws-sdk/middleware-recursion-detection" "3.577.0"
- "@aws-sdk/middleware-sdk-s3" "3.582.0"
- "@aws-sdk/middleware-signing" "3.577.0"
- "@aws-sdk/middleware-ssec" "3.577.0"
- "@aws-sdk/middleware-user-agent" "3.583.0"
- "@aws-sdk/region-config-resolver" "3.577.0"
- "@aws-sdk/signature-v4-multi-region" "3.582.0"
- "@aws-sdk/types" "3.577.0"
- "@aws-sdk/util-endpoints" "3.583.0"
- "@aws-sdk/util-user-agent-browser" "3.577.0"
- "@aws-sdk/util-user-agent-node" "3.577.0"
- "@aws-sdk/xml-builder" "3.575.0"
- "@smithy/config-resolver" "^3.0.0"
- "@smithy/core" "^2.0.1"
- "@smithy/eventstream-serde-browser" "^3.0.0"
- "@smithy/eventstream-serde-config-resolver" "^3.0.0"
- "@smithy/eventstream-serde-node" "^3.0.0"
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/hash-blob-browser" "^3.0.0"
- "@smithy/hash-node" "^3.0.0"
- "@smithy/hash-stream-node" "^3.0.0"
- "@smithy/invalid-dependency" "^3.0.0"
- "@smithy/md5-js" "^3.0.0"
- "@smithy/middleware-content-length" "^3.0.0"
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-retry" "^3.0.1"
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/middleware-stack" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
+"@aws-sdk/client-s3@^3.583.0":
+ version "3.600.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.600.0.tgz#3ce415d9257b8d1c8385bc26c6c86e6403aff83c"
+ integrity sha512-iYoKbJTputbf+ubkX6gSK/y/4uJEBRaXZ18jykLdBQ8UJuGrk2gqvV8h7OlGAhToCeysmmMqM0vDWyLt6lP8nw==
+ 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.600.0"
+ "@aws-sdk/client-sts" "3.600.0"
+ "@aws-sdk/core" "3.598.0"
+ "@aws-sdk/credential-provider-node" "3.600.0"
+ "@aws-sdk/middleware-bucket-endpoint" "3.598.0"
+ "@aws-sdk/middleware-expect-continue" "3.598.0"
+ "@aws-sdk/middleware-flexible-checksums" "3.598.0"
+ "@aws-sdk/middleware-host-header" "3.598.0"
+ "@aws-sdk/middleware-location-constraint" "3.598.0"
+ "@aws-sdk/middleware-logger" "3.598.0"
+ "@aws-sdk/middleware-recursion-detection" "3.598.0"
+ "@aws-sdk/middleware-sdk-s3" "3.598.0"
+ "@aws-sdk/middleware-signing" "3.598.0"
+ "@aws-sdk/middleware-ssec" "3.598.0"
+ "@aws-sdk/middleware-user-agent" "3.598.0"
+ "@aws-sdk/region-config-resolver" "3.598.0"
+ "@aws-sdk/signature-v4-multi-region" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@aws-sdk/util-endpoints" "3.598.0"
+ "@aws-sdk/util-user-agent-browser" "3.598.0"
+ "@aws-sdk/util-user-agent-node" "3.598.0"
+ "@aws-sdk/xml-builder" "3.598.0"
+ "@smithy/config-resolver" "^3.0.2"
+ "@smithy/core" "^2.2.1"
+ "@smithy/eventstream-serde-browser" "^3.0.2"
+ "@smithy/eventstream-serde-config-resolver" "^3.0.1"
+ "@smithy/eventstream-serde-node" "^3.0.2"
+ "@smithy/fetch-http-handler" "^3.0.2"
+ "@smithy/hash-blob-browser" "^3.1.0"
+ "@smithy/hash-node" "^3.0.1"
+ "@smithy/hash-stream-node" "^3.1.0"
+ "@smithy/invalid-dependency" "^3.0.1"
+ "@smithy/md5-js" "^3.0.1"
+ "@smithy/middleware-content-length" "^3.0.1"
+ "@smithy/middleware-endpoint" "^3.0.2"
+ "@smithy/middleware-retry" "^3.0.4"
+ "@smithy/middleware-serde" "^3.0.1"
+ "@smithy/middleware-stack" "^3.0.1"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/node-http-handler" "^3.0.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
+ "@smithy/url-parser" "^3.0.1"
"@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.1"
- "@smithy/util-defaults-mode-node" "^3.0.1"
- "@smithy/util-endpoints" "^2.0.0"
- "@smithy/util-retry" "^3.0.0"
- "@smithy/util-stream" "^3.0.1"
+ "@smithy/util-defaults-mode-browser" "^3.0.4"
+ "@smithy/util-defaults-mode-node" "^3.0.4"
+ "@smithy/util-endpoints" "^2.0.2"
+ "@smithy/util-retry" "^3.0.1"
+ "@smithy/util-stream" "^3.0.2"
"@smithy/util-utf8" "^3.0.0"
- "@smithy/util-waiter" "^3.0.0"
+ "@smithy/util-waiter" "^3.0.1"
tslib "^2.6.2"
-"@aws-sdk/client-sso-oidc@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.583.0.tgz#71a00305f3d5d13041e6c2fff53cec62f621eb1f"
- integrity sha512-LO3wmrFXPi2kNE46lD1XATfRrvdNxXd4DlTFouoWmr7lvqoUkcbmtkV2r/XChZA2z0HiDauphC1e8b8laJVeSg==
- dependencies:
- "@aws-crypto/sha256-browser" "3.0.0"
- "@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/client-sts" "3.583.0"
- "@aws-sdk/core" "3.582.0"
- "@aws-sdk/credential-provider-node" "3.583.0"
- "@aws-sdk/middleware-host-header" "3.577.0"
- "@aws-sdk/middleware-logger" "3.577.0"
- "@aws-sdk/middleware-recursion-detection" "3.577.0"
- "@aws-sdk/middleware-user-agent" "3.583.0"
- "@aws-sdk/region-config-resolver" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@aws-sdk/util-endpoints" "3.583.0"
- "@aws-sdk/util-user-agent-browser" "3.577.0"
- "@aws-sdk/util-user-agent-node" "3.577.0"
- "@smithy/config-resolver" "^3.0.0"
- "@smithy/core" "^2.0.1"
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/hash-node" "^3.0.0"
- "@smithy/invalid-dependency" "^3.0.0"
- "@smithy/middleware-content-length" "^3.0.0"
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-retry" "^3.0.1"
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/middleware-stack" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
+"@aws-sdk/client-sso-oidc@3.600.0":
+ version "3.600.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.600.0.tgz#37966020af55a052822b9ef21adc38d2afcb0f34"
+ integrity sha512-7+I8RWURGfzvChyNQSyj5/tKrqRbzRl7H+BnTOf/4Vsw1nFOi5ROhlhD4X/Y0QCTacxnaoNcIrqnY7uGGvVRzw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sts" "3.600.0"
+ "@aws-sdk/core" "3.598.0"
+ "@aws-sdk/credential-provider-node" "3.600.0"
+ "@aws-sdk/middleware-host-header" "3.598.0"
+ "@aws-sdk/middleware-logger" "3.598.0"
+ "@aws-sdk/middleware-recursion-detection" "3.598.0"
+ "@aws-sdk/middleware-user-agent" "3.598.0"
+ "@aws-sdk/region-config-resolver" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@aws-sdk/util-endpoints" "3.598.0"
+ "@aws-sdk/util-user-agent-browser" "3.598.0"
+ "@aws-sdk/util-user-agent-node" "3.598.0"
+ "@smithy/config-resolver" "^3.0.2"
+ "@smithy/core" "^2.2.1"
+ "@smithy/fetch-http-handler" "^3.0.2"
+ "@smithy/hash-node" "^3.0.1"
+ "@smithy/invalid-dependency" "^3.0.1"
+ "@smithy/middleware-content-length" "^3.0.1"
+ "@smithy/middleware-endpoint" "^3.0.2"
+ "@smithy/middleware-retry" "^3.0.4"
+ "@smithy/middleware-serde" "^3.0.1"
+ "@smithy/middleware-stack" "^3.0.1"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/node-http-handler" "^3.0.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
+ "@smithy/url-parser" "^3.0.1"
"@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.1"
- "@smithy/util-defaults-mode-node" "^3.0.1"
- "@smithy/util-endpoints" "^2.0.0"
- "@smithy/util-middleware" "^3.0.0"
- "@smithy/util-retry" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.4"
+ "@smithy/util-defaults-mode-node" "^3.0.4"
+ "@smithy/util-endpoints" "^2.0.2"
+ "@smithy/util-middleware" "^3.0.1"
+ "@smithy/util-retry" "^3.0.1"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/client-sso@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.583.0.tgz#fa18cadd19abe80e0c0378b6cbe6225ed0296595"
- integrity sha512-FNJ2MmiBtZZwgkj4+GLVrzqwmD6D8FBptrFZk7PnGkSf7v1Q8txYNI6gY938RRhYJ4lBW4cNbhPvWoDxAl90Hw==
- dependencies:
- "@aws-crypto/sha256-browser" "3.0.0"
- "@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/core" "3.582.0"
- "@aws-sdk/middleware-host-header" "3.577.0"
- "@aws-sdk/middleware-logger" "3.577.0"
- "@aws-sdk/middleware-recursion-detection" "3.577.0"
- "@aws-sdk/middleware-user-agent" "3.583.0"
- "@aws-sdk/region-config-resolver" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@aws-sdk/util-endpoints" "3.583.0"
- "@aws-sdk/util-user-agent-browser" "3.577.0"
- "@aws-sdk/util-user-agent-node" "3.577.0"
- "@smithy/config-resolver" "^3.0.0"
- "@smithy/core" "^2.0.1"
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/hash-node" "^3.0.0"
- "@smithy/invalid-dependency" "^3.0.0"
- "@smithy/middleware-content-length" "^3.0.0"
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-retry" "^3.0.1"
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/middleware-stack" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
+"@aws-sdk/client-sso@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.598.0.tgz#aef58e198e504d3b3d1ba345355650a67d21facb"
+ integrity sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "3.598.0"
+ "@aws-sdk/middleware-host-header" "3.598.0"
+ "@aws-sdk/middleware-logger" "3.598.0"
+ "@aws-sdk/middleware-recursion-detection" "3.598.0"
+ "@aws-sdk/middleware-user-agent" "3.598.0"
+ "@aws-sdk/region-config-resolver" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@aws-sdk/util-endpoints" "3.598.0"
+ "@aws-sdk/util-user-agent-browser" "3.598.0"
+ "@aws-sdk/util-user-agent-node" "3.598.0"
+ "@smithy/config-resolver" "^3.0.2"
+ "@smithy/core" "^2.2.1"
+ "@smithy/fetch-http-handler" "^3.0.2"
+ "@smithy/hash-node" "^3.0.1"
+ "@smithy/invalid-dependency" "^3.0.1"
+ "@smithy/middleware-content-length" "^3.0.1"
+ "@smithy/middleware-endpoint" "^3.0.2"
+ "@smithy/middleware-retry" "^3.0.4"
+ "@smithy/middleware-serde" "^3.0.1"
+ "@smithy/middleware-stack" "^3.0.1"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/node-http-handler" "^3.0.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
+ "@smithy/url-parser" "^3.0.1"
"@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.1"
- "@smithy/util-defaults-mode-node" "^3.0.1"
- "@smithy/util-endpoints" "^2.0.0"
- "@smithy/util-middleware" "^3.0.0"
- "@smithy/util-retry" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.4"
+ "@smithy/util-defaults-mode-node" "^3.0.4"
+ "@smithy/util-endpoints" "^2.0.2"
+ "@smithy/util-middleware" "^3.0.1"
+ "@smithy/util-retry" "^3.0.1"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/client-sts@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.583.0.tgz#d8109ab588689a616d987f6b1d4faacafe49f598"
- integrity sha512-xDMxiemPDWr9dY2Q4AyixkRnk/hvS6fs6OWxuVCz1WO47YhaAfOsEGAgQMgDLLaOfj/oLU5D14uTNBEPGh4rBA==
- dependencies:
- "@aws-crypto/sha256-browser" "3.0.0"
- "@aws-crypto/sha256-js" "3.0.0"
- "@aws-sdk/client-sso-oidc" "3.583.0"
- "@aws-sdk/core" "3.582.0"
- "@aws-sdk/credential-provider-node" "3.583.0"
- "@aws-sdk/middleware-host-header" "3.577.0"
- "@aws-sdk/middleware-logger" "3.577.0"
- "@aws-sdk/middleware-recursion-detection" "3.577.0"
- "@aws-sdk/middleware-user-agent" "3.583.0"
- "@aws-sdk/region-config-resolver" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@aws-sdk/util-endpoints" "3.583.0"
- "@aws-sdk/util-user-agent-browser" "3.577.0"
- "@aws-sdk/util-user-agent-node" "3.577.0"
- "@smithy/config-resolver" "^3.0.0"
- "@smithy/core" "^2.0.1"
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/hash-node" "^3.0.0"
- "@smithy/invalid-dependency" "^3.0.0"
- "@smithy/middleware-content-length" "^3.0.0"
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-retry" "^3.0.1"
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/middleware-stack" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
+"@aws-sdk/client-sts@3.600.0":
+ version "3.600.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.600.0.tgz#8a437f8cf626cf652f99628105576213dbba48b2"
+ integrity sha512-KQG97B7LvTtTiGmjlrG1LRAY8wUvCQzrmZVV5bjrJ/1oXAU7DITYwVbSJeX9NWg6hDuSk0VE3MFwIXS2SvfLIA==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/client-sso-oidc" "3.600.0"
+ "@aws-sdk/core" "3.598.0"
+ "@aws-sdk/credential-provider-node" "3.600.0"
+ "@aws-sdk/middleware-host-header" "3.598.0"
+ "@aws-sdk/middleware-logger" "3.598.0"
+ "@aws-sdk/middleware-recursion-detection" "3.598.0"
+ "@aws-sdk/middleware-user-agent" "3.598.0"
+ "@aws-sdk/region-config-resolver" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@aws-sdk/util-endpoints" "3.598.0"
+ "@aws-sdk/util-user-agent-browser" "3.598.0"
+ "@aws-sdk/util-user-agent-node" "3.598.0"
+ "@smithy/config-resolver" "^3.0.2"
+ "@smithy/core" "^2.2.1"
+ "@smithy/fetch-http-handler" "^3.0.2"
+ "@smithy/hash-node" "^3.0.1"
+ "@smithy/invalid-dependency" "^3.0.1"
+ "@smithy/middleware-content-length" "^3.0.1"
+ "@smithy/middleware-endpoint" "^3.0.2"
+ "@smithy/middleware-retry" "^3.0.4"
+ "@smithy/middleware-serde" "^3.0.1"
+ "@smithy/middleware-stack" "^3.0.1"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/node-http-handler" "^3.0.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
+ "@smithy/url-parser" "^3.0.1"
"@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.1"
- "@smithy/util-defaults-mode-node" "^3.0.1"
- "@smithy/util-endpoints" "^2.0.0"
- "@smithy/util-middleware" "^3.0.0"
- "@smithy/util-retry" "^3.0.0"
+ "@smithy/util-defaults-mode-browser" "^3.0.4"
+ "@smithy/util-defaults-mode-node" "^3.0.4"
+ "@smithy/util-endpoints" "^2.0.2"
+ "@smithy/util-middleware" "^3.0.1"
+ "@smithy/util-retry" "^3.0.1"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/core@3.582.0":
- version "3.582.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.582.0.tgz#9ebb295290cba3d68738401fe4e3d51dfb0d1bfc"
- integrity sha512-ofmD96IQc9g1dbyqlCyxu5fCG7kIl9p1NoN5+vGBUyLdbmPCV3Pdg99nRHYEJuv2MgGx5AUFGDPMHcqbJpnZIw==
+"@aws-sdk/core@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.598.0.tgz#82a069d703be0cafe3ddeacb1de51981ee4faa25"
+ integrity sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==
dependencies:
- "@smithy/core" "^2.0.1"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/signature-v4" "^3.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
+ "@smithy/core" "^2.2.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/signature-v4" "^3.1.0"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
fast-xml-parser "4.2.5"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-env@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.577.0.tgz#d587ea01a2288840e8483a236516c0f26cb4ba36"
- integrity sha512-Jxu255j0gToMGEiqufP8ZtKI8HW90lOLjwJ3LrdlD/NLsAY0tOQf1fWc53u28hWmmNGMxmCrL2p66IOgMDhDUw==
+"@aws-sdk/credential-provider-env@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.598.0.tgz#ea1f30cfc9948017dd0608518868d3f50074164f"
+ integrity sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-http@3.582.0":
- version "3.582.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.582.0.tgz#6ea9377461c4ce38d487ea0ae5888155f7c495a6"
- integrity sha512-kGOUKw5ryPkDIYB69PjK3SicVLTbWB06ouFN2W1EvqUJpkQGPAUGzYcomKtt3mJaCTf/1kfoaHwARAl6KKSP8Q==
- dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/util-stream" "^3.0.1"
+"@aws-sdk/credential-provider-http@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.598.0.tgz#58144440e698aef63b5cb459780325817c0acf10"
+ integrity sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==
+ dependencies:
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/fetch-http-handler" "^3.0.2"
+ "@smithy/node-http-handler" "^3.0.1"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
+ "@smithy/util-stream" "^3.0.2"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-ini@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.583.0.tgz#948ebd3ca257d7d9362d3294259e0be9526cd662"
- integrity sha512-8I0oWNg/yps6ctjhEeL/qJ9BIa/+xXP7RPDQqFKZ2zBkWbmLLOoMWXRvl8uKUBD6qCe+DGmcu9skfVXeXSesEQ==
- dependencies:
- "@aws-sdk/credential-provider-env" "3.577.0"
- "@aws-sdk/credential-provider-process" "3.577.0"
- "@aws-sdk/credential-provider-sso" "3.583.0"
- "@aws-sdk/credential-provider-web-identity" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@smithy/credential-provider-imds" "^3.0.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
+"@aws-sdk/credential-provider-ini@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.598.0.tgz#fd0ba8ab5c3701e05567d1c6f7752cfd9f4ba111"
+ integrity sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==
+ dependencies:
+ "@aws-sdk/credential-provider-env" "3.598.0"
+ "@aws-sdk/credential-provider-http" "3.598.0"
+ "@aws-sdk/credential-provider-process" "3.598.0"
+ "@aws-sdk/credential-provider-sso" "3.598.0"
+ "@aws-sdk/credential-provider-web-identity" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/credential-provider-imds" "^3.1.1"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/shared-ini-file-loader" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-node@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.583.0.tgz#8ce316409d91cddca0c85851ca50726ee666cff5"
- integrity sha512-yBNypBXny7zJH85SzxDj8s1mbLXv9c/Vbq0qR3R3POj2idZ6ywB/qlIRC1XwBuv49Wvg8kA1wKXk3K3jrpcVIw==
- dependencies:
- "@aws-sdk/credential-provider-env" "3.577.0"
- "@aws-sdk/credential-provider-http" "3.582.0"
- "@aws-sdk/credential-provider-ini" "3.583.0"
- "@aws-sdk/credential-provider-process" "3.577.0"
- "@aws-sdk/credential-provider-sso" "3.583.0"
- "@aws-sdk/credential-provider-web-identity" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@smithy/credential-provider-imds" "^3.0.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
+"@aws-sdk/credential-provider-node@3.600.0":
+ version "3.600.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.600.0.tgz#33b32364972bd7167d000cdded92b9398346a3ca"
+ integrity sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==
+ dependencies:
+ "@aws-sdk/credential-provider-env" "3.598.0"
+ "@aws-sdk/credential-provider-http" "3.598.0"
+ "@aws-sdk/credential-provider-ini" "3.598.0"
+ "@aws-sdk/credential-provider-process" "3.598.0"
+ "@aws-sdk/credential-provider-sso" "3.598.0"
+ "@aws-sdk/credential-provider-web-identity" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/credential-provider-imds" "^3.1.1"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/shared-ini-file-loader" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-process@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.577.0.tgz#ba35b4f012563762bbd86a71989d366272ee0f07"
- integrity sha512-Gin6BWtOiXxIgITrJ3Nwc+Y2P1uVT6huYR4EcbA/DJUPWyO0n9y5UFLewPvVbLkRn15JeEqErBLUrHclkiOKtw==
+"@aws-sdk/credential-provider-process@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.598.0.tgz#f48ff6f964cd6726499b207f45bfecda4be922ce"
+ integrity sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/shared-ini-file-loader" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-sso@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.583.0.tgz#468bb6ca9bd7b89370d5ec7865a8e29e98772abc"
- integrity sha512-G/1EvL9tBezSiU+06tG4K/kOvFfPjnheT4JSXqjPM7+vjKzgp2jxp1J9MMd69zs4jVWon932zMeGgjrCplzMEg==
- dependencies:
- "@aws-sdk/client-sso" "3.583.0"
- "@aws-sdk/token-providers" "3.577.0"
- "@aws-sdk/types" "3.577.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
+"@aws-sdk/credential-provider-sso@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.598.0.tgz#52781e2b60b1f61752829c44a5e0b9fedd0694d6"
+ integrity sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==
+ dependencies:
+ "@aws-sdk/client-sso" "3.598.0"
+ "@aws-sdk/token-providers" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/shared-ini-file-loader" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-web-identity@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.577.0.tgz#294fb71fa832d9f55ea1c56678357efa3cd7ca55"
- integrity sha512-ZGHGNRaCtJJmszb9UTnC7izNCtRUttdPlLdMkh41KPS32vfdrBDHs1JrpbZijItRj1xKuOXsiYSXLAaHGcLh8Q==
+"@aws-sdk/credential-provider-web-identity@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.598.0.tgz#d737e9c2b7c4460b8e31a55b4979bf4d88913900"
+ integrity sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-bucket-endpoint@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.577.0.tgz#e9e685264d442cd0840566f0696dd01de1a8d9c1"
- integrity sha512-twlkNX2VofM6kHXzDEiJOiYCc9tVABe5cbyxMArRWscIsCWG9mamPhC77ezG4XsN9dFEwVdxEYD5Crpm/5EUiw==
+"@aws-sdk/middleware-bucket-endpoint@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.598.0.tgz#033b08921f9f284483a7337ed165743ee0dc598d"
+ integrity sha512-PM7BcFfGUSkmkT6+LU9TyJiB4S8yI7dfuKQDwK5ZR3P7MKaK4Uj4yyDiv0oe5xvkF6+O2+rShj+eh8YuWkOZ/Q==
dependencies:
- "@aws-sdk/types" "3.577.0"
+ "@aws-sdk/types" "3.598.0"
"@aws-sdk/util-arn-parser" "3.568.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/types" "^3.1.0"
"@smithy/util-config-provider" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-expect-continue@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.577.0.tgz#47add47f17873a6044cb140f17033cb6e1d02744"
- integrity sha512-6dPp8Tv4F0of4un5IAyG6q++GrRrNQQ4P2NAMB1W0VO4JoEu1C8GievbbDLi88TFIFmtKpnHB0ODCzwnoe8JsA==
+"@aws-sdk/middleware-expect-continue@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.598.0.tgz#5b08b8cae70d1e7cc082d3627b31856f6ba20d17"
+ integrity sha512-ZuHW18kaeHR8TQyhEOYMr8VwiIh0bMvF7J1OTqXHxDteQIavJWA3CbfZ9sgS4XGtrBZDyHJhjZKeCfLhN2rq3w==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-flexible-checksums@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.577.0.tgz#d61be414c446297ffea6df7153767a06a44babff"
- integrity sha512-IHAUEipIfagjw92LV8SOSBiCF7ZnqfHcw14IkcZW2/mfrCy1Fh/k40MoS/t3Tro2tQ91rgQPwUoSgB/QCi2Org==
+"@aws-sdk/middleware-flexible-checksums@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.598.0.tgz#8e40734d5fb1b116816f885885f16db9b5e39032"
+ integrity sha512-xukAzds0GQXvMEY9G6qt+CzwVzTx8NyKKh04O2Q+nOch6QQ8Rs+2kTRy3Z4wQmXq2pK9hlOWb5nXA7HWpmz6Ng==
dependencies:
- "@aws-crypto/crc32" "3.0.0"
- "@aws-crypto/crc32c" "3.0.0"
- "@aws-sdk/types" "3.577.0"
+ "@aws-crypto/crc32" "5.2.0"
+ "@aws-crypto/crc32c" "5.2.0"
+ "@aws-sdk/types" "3.598.0"
"@smithy/is-array-buffer" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/types" "^3.1.0"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-host-header@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.577.0.tgz#a3fc626d409ec850296740478c64ef5806d8b878"
- integrity sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==
+"@aws-sdk/middleware-host-header@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.598.0.tgz#0a7c4d5a95657bea2d7c4e29b9a8b379952d09b1"
+ integrity sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-location-constraint@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.577.0.tgz#9372441a4ac5747b3176ac6378d92866a51de815"
- integrity sha512-DKPTD2D2s+t2QUo/IXYtVa/6Un8GZ+phSTBkyBNx2kfZz4Kwavhl/JJzSqTV3GfCXkVdFu7CrjoX7BZ6qWeTUA==
+"@aws-sdk/middleware-location-constraint@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.598.0.tgz#45564d5119468e3ac97949431c249e8b6e00ec09"
+ integrity sha512-8oybQxN3F1ISOMULk7JKJz5DuAm5hCUcxMW9noWShbxTJuStNvuHf/WLUzXrf8oSITyYzIHPtf8VPlKR7I3orQ==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-logger@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.577.0.tgz#6da3b13ae284fb3930961f0fc8e20b1f6cf8be30"
- integrity sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==
+"@aws-sdk/middleware-logger@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.598.0.tgz#0c0692d2f4f9007c915734ab319db377ca9a3b1b"
+ integrity sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-recursion-detection@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.577.0.tgz#fff76abc6d4521636f9e654ce5bf2c4c79249417"
- integrity sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==
+"@aws-sdk/middleware-recursion-detection@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.598.0.tgz#94015d41f8174bd41298fd13f8fb0a8c4576d7c8"
+ integrity sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-sdk-s3@3.582.0":
- version "3.582.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.582.0.tgz#226ed60ff2a8371ff7821d59d4cfc94ec4fa2f2b"
- integrity sha512-PJqQpLoLaZPRI4L/XZUeHkd9UVK8VAr9R38wv0osGeMTvzD9iwzzk0I2TtBqFda/5xEB1YgVYZwyqvmStXmttg==
+"@aws-sdk/middleware-sdk-s3@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.598.0.tgz#308604f8a38959ad65ec5674c643c7032d678f43"
+ integrity sha512-5AGtLAh9wyK6ANPYfaKTqJY1IFJyePIxsEbxa7zS6REheAqyVmgJFaGu3oQ5XlxfGr5Uq59tFTRkyx26G1HkHA==
dependencies:
- "@aws-sdk/types" "3.577.0"
+ "@aws-sdk/types" "3.598.0"
"@aws-sdk/util-arn-parser" "3.568.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/signature-v4" "^3.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/signature-v4" "^3.1.0"
+ "@smithy/smithy-client" "^3.1.2"
+ "@smithy/types" "^3.1.0"
"@smithy/util-config-provider" "^3.0.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-signing@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.577.0.tgz#8c9a2e16fb0ac72043b271005c674a74db2b9ee6"
- integrity sha512-QS/dh3+NqZbXtY0j/DZ867ogP413pG5cFGqBy9OeOhDMsolcwLrQbi0S0c621dc1QNq+er9ffaMhZ/aPkyXXIg==
- dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/signature-v4" "^3.0.0"
- "@smithy/types" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
+"@aws-sdk/middleware-signing@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.598.0.tgz#b90eef6a9fe3f76777c9cd4890dcae8e1febd249"
+ integrity sha512-XKb05DYx/aBPqz6iCapsCbIl8aD8EihTuPCs51p75QsVfbQoVr4TlFfIl5AooMSITzojdAQqxt021YtvxjtxIQ==
+ dependencies:
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/signature-v4" "^3.1.0"
+ "@smithy/types" "^3.1.0"
+ "@smithy/util-middleware" "^3.0.1"
tslib "^2.6.2"
-"@aws-sdk/middleware-ssec@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.577.0.tgz#9fcd74e8bf2c277b4349c537cbeceba279166f32"
- integrity sha512-i2BPJR+rp8xmRVIGc0h1kDRFcM2J9GnClqqpc+NLSjmYadlcg4mPklisz9HzwFVcRPJ5XcGf3U4BYs5G8+iTyg==
+"@aws-sdk/middleware-ssec@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.598.0.tgz#d6a3c64ce77bd7379653b46b58ded32a7b0fe6f4"
+ integrity sha512-f0p2xP8IC1uJ5e/tND1l81QxRtRFywEdnbtKCE0H6RSn4UIt2W3Dohe1qQDbnh27okF0PkNW6BJGdSAz3p7qbA==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-user-agent@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.583.0.tgz#5554b0de431cb3700368f01eb7425210fd3ee9a9"
- integrity sha512-xVNXXXDWvBVI/AeVtSdA9SVumqxiZaESk/JpUn9GMkmtTKfter0Cweap+1iQ9j8bRAO0vNhmIkbcvdB1S4WVUw==
+"@aws-sdk/middleware-user-agent@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.598.0.tgz#6fa26849d256434ca4884c42c1c4755aa2f1556e"
+ integrity sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@aws-sdk/util-endpoints" "3.583.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@aws-sdk/util-endpoints" "3.598.0"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/region-config-resolver@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.577.0.tgz#1fab6dc6c4ec3ad9a0352c1ce1a757464219fb00"
- integrity sha512-4ChCFACNwzqx/xjg3zgFcW8Ali6R9C95cFECKWT/7CUM1D0MGvkclSH2cLarmHCmJgU6onKkJroFtWp0kHhgyg==
+"@aws-sdk/region-config-resolver@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.598.0.tgz#fd8fd6b7bc11b5f81def4db0db9e835d40a8f86e"
+ integrity sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/types" "^3.1.0"
"@smithy/util-config-provider" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
+ "@smithy/util-middleware" "^3.0.1"
tslib "^2.6.2"
-"@aws-sdk/signature-v4-multi-region@3.582.0":
- version "3.582.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.582.0.tgz#8679ac134ef37ff0a80f736dcc8699bb60a076d2"
- integrity sha512-aFCOjjNqEX2l+V8QjOWy5F7CtHIC/RlYdBuv3No6yxn+pMvVUUe6zdMk2yHWcudVpHWsyvcZzAUBliAPeFLPsQ==
+"@aws-sdk/signature-v4-multi-region@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.598.0.tgz#1716022e31dcbc5821aeca85204718f523a1ddbf"
+ integrity sha512-1r/EyTrO1gSa1FirnR8V7mabr7gk+l+HkyTI0fcTSr8ucB7gmYyW6WjkY8JCz13VYHFK62usCEDS7yoJoJOzTA==
dependencies:
- "@aws-sdk/middleware-sdk-s3" "3.582.0"
- "@aws-sdk/types" "3.577.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/signature-v4" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/middleware-sdk-s3" "3.598.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/protocol-http" "^4.0.1"
+ "@smithy/signature-v4" "^3.1.0"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/token-providers@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.577.0.tgz#8f9e96ff42994dfd0b5b3692b583644ccda04893"
- integrity sha512-0CkIZpcC3DNQJQ1hDjm2bdSy/Xjs7Ny5YvSsacasGOkNfk+FdkiQy6N67bZX3Zbc9KIx+Nz4bu3iDeNSNplnnQ==
+"@aws-sdk/token-providers@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.598.0.tgz#49a94c14ce2e392bb0e84b69986c33ecfad5b804"
+ integrity sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/property-provider" "^3.1.1"
+ "@smithy/shared-ini-file-loader" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/types@3.577.0", "@aws-sdk/types@^3.222.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.577.0.tgz#7700784d368ce386745f8c340d9d68cea4716f90"
- integrity sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==
+"@aws-sdk/types@3.598.0", "@aws-sdk/types@^3.222.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.598.0.tgz#b840d2446dee19a2a4731e6166f2327915d846db"
+ integrity sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
"@aws-sdk/util-arn-parser@3.568.0":
@@ -616,14 +608,14 @@
dependencies:
tslib "^2.6.2"
-"@aws-sdk/util-endpoints@3.583.0":
- version "3.583.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.583.0.tgz#1554d3b4124be21a72a519603e9727d973845504"
- integrity sha512-ZC9mb2jq6BFXPYsUsD2tmYcnlmd+9PGNwnFNn8jk4abna5Jjk2wDknN81ybktmBR5ttN9W8ugmktuKtvAMIDCQ==
+"@aws-sdk/util-endpoints@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.598.0.tgz#7f78d68524babac7fdacf381590470353d45b959"
+ integrity sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/types" "^3.0.0"
- "@smithy/util-endpoints" "^2.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/types" "^3.1.0"
+ "@smithy/util-endpoints" "^2.0.2"
tslib "^2.6.2"
"@aws-sdk/util-locate-window@^3.0.0":
@@ -633,69 +625,62 @@
dependencies:
tslib "^2.6.2"
-"@aws-sdk/util-user-agent-browser@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.577.0.tgz#d4d2cdb3a2b3d1c8b35f239ee9f7b2c87bee66ea"
- integrity sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==
+"@aws-sdk/util-user-agent-browser@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.598.0.tgz#5039d0335f8a06af5be73c960df85009dda59090"
+ integrity sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/types" "^3.1.0"
bowser "^2.11.0"
tslib "^2.6.2"
-"@aws-sdk/util-user-agent-node@3.577.0":
- version "3.577.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.577.0.tgz#0215ea10ead622a61b575a7181a4c51ae8e71449"
- integrity sha512-XqvtFjbSMtycZTWVwDe8DRWovuoMbA54nhUoZwVU6rW9OSD6NZWGR512BUGHFaWzW0Wg8++Dj10FrKTG2XtqfA==
+"@aws-sdk/util-user-agent-node@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.598.0.tgz#f9bdf1b7cc3a40787c379f7c2ff028de2612c177"
+ integrity sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==
dependencies:
- "@aws-sdk/types" "3.577.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-sdk/types" "3.598.0"
+ "@smithy/node-config-provider" "^3.1.1"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@aws-sdk/util-utf8-browser@^3.0.0":
- version "3.259.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff"
- integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==
- dependencies:
- tslib "^2.3.1"
-
-"@aws-sdk/xml-builder@3.575.0":
- version "3.575.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.575.0.tgz#233b2aae422dd789a078073032da1bc60317aa1d"
- integrity sha512-cWgAwmbFYNCFzPwxL705+lWps0F3ZvOckufd2KKoEZUmtpVw9/txUXNrPySUXSmRTSRhoatIMABNfStWR043bQ==
+"@aws-sdk/xml-builder@3.598.0":
+ version "3.598.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.598.0.tgz#ee591c5d80a34d9c5bc14326f1a62e9a0649c587"
+ integrity sha512-ZIa2RK7CHFTZ4gwK77WRtsZ6vF7xwRXxJ8KQIxK2duhoTVcn0xYxpFLdW9WZZZvdP9GIF3Loqvf8DRdeU5Jc7Q==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.1.0"
tslib "^2.6.2"
-"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2":
- version "7.24.2"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae"
- integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
+"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465"
+ integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==
dependencies:
- "@babel/highlight" "^7.24.2"
+ "@babel/highlight" "^7.24.7"
picocolors "^1.0.0"
-"@babel/compat-data@^7.23.5":
- version "7.24.4"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a"
- integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==
+"@babel/compat-data@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed"
+ integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==
"@babel/core@^7.11.0", "@babel/core@^7.7.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a"
- integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4"
+ integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.24.2"
- "@babel/generator" "^7.24.5"
- "@babel/helper-compilation-targets" "^7.23.6"
- "@babel/helper-module-transforms" "^7.24.5"
- "@babel/helpers" "^7.24.5"
- "@babel/parser" "^7.24.5"
- "@babel/template" "^7.24.0"
- "@babel/traverse" "^7.24.5"
- "@babel/types" "^7.24.5"
+ "@babel/code-frame" "^7.24.7"
+ "@babel/generator" "^7.24.7"
+ "@babel/helper-compilation-targets" "^7.24.7"
+ "@babel/helper-module-transforms" "^7.24.7"
+ "@babel/helpers" "^7.24.7"
+ "@babel/parser" "^7.24.7"
+ "@babel/template" "^7.24.7"
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@@ -724,9 +709,9 @@
semver "^6.3.1"
"@babel/eslint-parser@^7":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.5.tgz#3b0f7d383a540329a30a6a9937cfc89461d26217"
- integrity sha512-gsUcqS/fPlgAw1kOtpss7uhY6E9SFFANQ6EFX5GTvzUwaV0+sGaZWk6xq22MOdeT9wfxyokW3ceCUvOiRtZciQ==
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz#27ebab1a1ec21f48ae191a8aaac5b82baf80d9c7"
+ integrity sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==
dependencies:
"@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
eslint-visitor-keys "^2.1.0"
@@ -741,165 +726,168 @@
eslint-visitor-keys "^2.1.0"
semver "^6.3.1"
-"@babel/generator@^7.22.15", "@babel/generator@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3"
- integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==
+"@babel/generator@^7.22.15", "@babel/generator@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d"
+ integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==
dependencies:
- "@babel/types" "^7.24.5"
+ "@babel/types" "^7.24.7"
"@jridgewell/gen-mapping" "^0.3.5"
"@jridgewell/trace-mapping" "^0.3.25"
jsesc "^2.5.1"
-"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
- integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
+"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz#4eb6c4a80d6ffeac25ab8cd9a21b5dfa48d503a9"
+ integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==
dependencies:
- "@babel/compat-data" "^7.23.5"
- "@babel/helper-validator-option" "^7.23.5"
+ "@babel/compat-data" "^7.24.7"
+ "@babel/helper-validator-option" "^7.24.7"
browserslist "^4.22.2"
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-environment-visitor@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
- integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
+"@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.23.0":
- version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
- integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
+"@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.22.15"
- "@babel/types" "^7.23.0"
+ "@babel/template" "^7.24.7"
+ "@babel/types" "^7.24.7"
-"@babel/helper-hoist-variables@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
- integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
+"@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.22.5"
+ "@babel/types" "^7.24.7"
-"@babel/helper-module-imports@^7.24.3":
- version "7.24.3"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128"
- integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==
+"@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"
+ integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==
dependencies:
- "@babel/types" "^7.24.0"
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
-"@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545"
- integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==
+"@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz#31b6c9a2930679498db65b685b1698bfd6c7daf8"
+ integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==
dependencies:
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-module-imports" "^7.24.3"
- "@babel/helper-simple-access" "^7.24.5"
- "@babel/helper-split-export-declaration" "^7.24.5"
- "@babel/helper-validator-identifier" "^7.24.5"
+ "@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/helper-simple-access@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba"
- integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==
+"@babel/helper-simple-access@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3"
+ integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==
dependencies:
- "@babel/types" "^7.24.5"
+ "@babel/traverse" "^7.24.7"
+ "@babel/types" "^7.24.7"
-"@babel/helper-split-export-declaration@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6"
- integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==
+"@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.5"
+ "@babel/types" "^7.24.7"
-"@babel/helper-string-parser@^7.24.1":
- version "7.24.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e"
- integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==
+"@babel/helper-string-parser@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2"
+ integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==
-"@babel/helper-validator-identifier@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62"
- integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==
+"@babel/helper-validator-identifier@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db"
+ integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==
-"@babel/helper-validator-option@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
- integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
+"@babel/helper-validator-option@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6"
+ integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==
-"@babel/helpers@^7.22.15", "@babel/helpers@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a"
- integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==
+"@babel/helpers@^7.22.15", "@babel/helpers@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.7.tgz#aa2ccda29f62185acb5d42fb4a3a1b1082107416"
+ integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==
dependencies:
- "@babel/template" "^7.24.0"
- "@babel/traverse" "^7.24.5"
- "@babel/types" "^7.24.5"
+ "@babel/template" "^7.24.7"
+ "@babel/types" "^7.24.7"
-"@babel/highlight@^7.24.2":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e"
- integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==
+"@babel/highlight@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d"
+ integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==
dependencies:
- "@babel/helper-validator-identifier" "^7.24.5"
+ "@babel/helper-validator-identifier" "^7.24.7"
chalk "^2.4.2"
js-tokens "^4.0.0"
picocolors "^1.0.0"
-"@babel/parser@^7.22.16", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790"
- integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==
+"@babel/parser@^7.22.16", "@babel/parser@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85"
+ integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==
"@babel/runtime-corejs3@^7.12.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.5.tgz#d2a5f46a088caf8f3899ad095054f83b0a686194"
- integrity sha512-GWO0mgzNMLWaSYM4z4NVIuY0Cd1fl8cPnuetuddu5w/qGuvt5Y7oUi/kvvQGK9xgOkFJDQX2heIvTRn/OQ1XTg==
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.7.tgz#65a99097e4c28e6c3a174825591700cc5abd710e"
+ integrity sha512-eytSX6JLBY6PVAeQa2bFlDx/7Mmln/gaEpsit5a3WEvjGfiIytEsgAwuIXCPM0xvw0v0cJn3ilq0/TvXrW0kgA==
dependencies:
core-js-pure "^3.30.2"
regenerator-runtime "^0.14.0"
"@babel/runtime@^7.12.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.5.tgz#230946857c053a36ccc66e1dd03b17dd0c4ed02c"
- integrity sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12"
+ integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/template@^7.22.15", "@babel/template@^7.24.0":
- version "7.24.0"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50"
- integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
- dependencies:
- "@babel/code-frame" "^7.23.5"
- "@babel/parser" "^7.24.0"
- "@babel/types" "^7.24.0"
-
-"@babel/traverse@^7.22.20", "@babel/traverse@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8"
- integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==
- dependencies:
- "@babel/code-frame" "^7.24.2"
- "@babel/generator" "^7.24.5"
- "@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-function-name" "^7.23.0"
- "@babel/helper-hoist-variables" "^7.22.5"
- "@babel/helper-split-export-declaration" "^7.24.5"
- "@babel/parser" "^7.24.5"
- "@babel/types" "^7.24.5"
+"@babel/template@^7.22.15", "@babel/template@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315"
+ integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==
+ dependencies:
+ "@babel/code-frame" "^7.24.7"
+ "@babel/parser" "^7.24.7"
+ "@babel/types" "^7.24.7"
+
+"@babel/traverse@^7.22.20", "@babel/traverse@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.7.tgz#de2b900163fa741721ba382163fe46a936c40cf5"
+ integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==
+ dependencies:
+ "@babel/code-frame" "^7.24.7"
+ "@babel/generator" "^7.24.7"
+ "@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.7"
+ "@babel/types" "^7.24.7"
debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5":
- version "7.24.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7"
- integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==
+"@babel/types@^7.22.19", "@babel/types@^7.24.7":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.7.tgz#6027fe12bc1aa724cd32ab113fb7f1988f1f66f2"
+ integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==
dependencies:
- "@babel/helper-string-parser" "^7.24.1"
- "@babel/helper-validator-identifier" "^7.24.5"
+ "@babel/helper-string-parser" "^7.24.7"
+ "@babel/helper-validator-identifier" "^7.24.7"
to-fast-properties "^2.0.0"
"@cspotcode/source-map-support@^0.8.0":
@@ -917,9 +905,9 @@
eslint-visitor-keys "^3.3.0"
"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
- version "4.10.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
- integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.1.tgz#361461e5cb3845d874e61731c11cfedd664d83a0"
+ integrity sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==
"@eslint/eslintrc@^2.1.4":
version "2.1.4"
@@ -960,23 +948,23 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
-"@inquirer/confirm@^3.1.6", "@inquirer/confirm@^3.1.8":
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-3.1.8.tgz#db80f23f775d9b980c6de2425dde39f9786bf1d3"
- integrity sha512-f3INZ+ca4dQdn+MQiq1yP/mOIR/Oc8BLRYuDh6ciToWd6z4W8yArfzjBCMQ0BPY8PcJKwZxGIt8Z6yNT32eSTw==
+"@inquirer/confirm@^3.1.6", "@inquirer/confirm@^3.1.9":
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-3.1.10.tgz#8e8b36b1e41d6736d6ac90d1221c9e1ec948eb7a"
+ integrity sha512-/aAHu83Njy6yf44T+ZrRPUkMcUqprrOiIKsyMvf9jOV+vF5BNb2ja1aLP33MK36W8eaf91MTL/mU/e6METuENg==
dependencies:
- "@inquirer/core" "^8.2.1"
- "@inquirer/type" "^1.3.2"
+ "@inquirer/core" "^8.2.3"
+ "@inquirer/type" "^1.3.3"
-"@inquirer/core@^8.2.1":
- version "8.2.1"
- resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-8.2.1.tgz#ee92c2bf25f378819f56290f8ed8bfef8c6cc94d"
- integrity sha512-TIcuQMn2qrtyYe0j136UpHeYpk7AcR/trKeT/7YY0vRgcS9YSfJuQ2+PudPhSofLLsHNnRYAHScQCcVZrJkMqA==
+"@inquirer/core@^8.2.3":
+ version "8.2.3"
+ resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-8.2.3.tgz#e1986ae0e7de4c1dee72d34dcf0f9a3587709eff"
+ integrity sha512-WrpDVPAaxJQjHid3Ra4FhUO70YBzkHSYVyW5X48L5zHYdudoPISJqTRRWSeamHfaXda7PNNaC5Py5MEo7QwBNA==
dependencies:
- "@inquirer/figures" "^1.0.2"
- "@inquirer/type" "^1.3.2"
+ "@inquirer/figures" "^1.0.3"
+ "@inquirer/type" "^1.3.3"
"@types/mute-stream" "^0.0.4"
- "@types/node" "^20.12.12"
+ "@types/node" "^20.14.6"
"@types/wrap-ansi" "^3.0.0"
ansi-escapes "^4.3.2"
chalk "^4.1.2"
@@ -987,34 +975,34 @@
strip-ansi "^6.0.1"
wrap-ansi "^6.2.0"
-"@inquirer/figures@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.2.tgz#a6af5e9f9969efb9ed3469130566315c36506b8a"
- integrity sha512-4F1MBwVr3c/m4bAUef6LgkvBfSjzwH+OfldgHqcuacWwSUetFebM2wi58WfG9uk1rR98U6GwLed4asLJbwdV5w==
+"@inquirer/figures@^1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.3.tgz#1227cc980f88e6d6ab85abadbf164f5038041edd"
+ integrity sha512-ErXXzENMH5pJt5/ssXV0DfWUZqly8nGzf0UcBV9xTnP+KyffE2mqyxIMBrZ8ijQck2nU0TQm40EQB53YreyWHw==
-"@inquirer/input@^2.1.1":
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/@inquirer/input/-/input-2.1.8.tgz#442cee18f0fce6ef850627c6653c4c4c6e66c1ec"
- integrity sha512-W1hsmUArJRGI8kL8+Kl+9wgnm02xPbpKtSIlwoHtRfIn8f/b/9spfNuTWolCVDHh3ZA4LS+Et71d1P6UpdD20A==
+"@inquirer/input@^2.1.9":
+ version "2.1.10"
+ resolved "https://registry.yarnpkg.com/@inquirer/input/-/input-2.1.10.tgz#ec3ce3977c10414c78a5cca8635cb3e5b5172ccf"
+ integrity sha512-KEnho7O0YBj+peA40ZGOuBYf00EQnYbQlPsORgZYdjdUVUrMqQPW3qIvRNJIq+lYlc9RZrfHeMoAv+tWAoZFQg==
dependencies:
- "@inquirer/core" "^8.2.1"
- "@inquirer/type" "^1.3.2"
+ "@inquirer/core" "^8.2.3"
+ "@inquirer/type" "^1.3.3"
-"@inquirer/select@^2.3.4":
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/@inquirer/select/-/select-2.3.4.tgz#f1040402ceb51ca4eb7a08d457fba540f01ec6a8"
- integrity sha512-y9HGzHfPPh60QciH7WiKtjtWjgU24jrIsfJnq4Zqmu8k4HVVQPBXxiKKzwzJyJWwdWZcWATm4VDDWGFEjVHvGA==
+"@inquirer/select@^2.3.5":
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/@inquirer/select/-/select-2.3.6.tgz#2b1d09f48ec52f1a66c59082ef214ce61a7315b3"
+ integrity sha512-eLqlZXre69Jenmar5s+3018xF3lpaGfxVZLHkCzkrhtuTuFjpYtb0YpiYeZNKZm9pa+ih3s9acN/zRt+dDh+qA==
dependencies:
- "@inquirer/core" "^8.2.1"
- "@inquirer/figures" "^1.0.2"
- "@inquirer/type" "^1.3.2"
+ "@inquirer/core" "^8.2.3"
+ "@inquirer/figures" "^1.0.3"
+ "@inquirer/type" "^1.3.3"
ansi-escapes "^4.3.2"
chalk "^4.1.2"
-"@inquirer/type@^1.3.2":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.3.2.tgz#439b0b50c152c89fd369d2a17eff54869b4d79b8"
- integrity sha512-5Frickan9c89QbPkSu6I6y8p+9eR6hZkdPahGmNDsTFX8FHLPAozyzCZMKUeW8FyYwnlCKUjqIEqxY+UctARiw==
+"@inquirer/type@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.3.3.tgz#26b2628630fd2381c7fa1e3ab396feb9bbc575da"
+ integrity sha512-xTUt0NulylX27/zMx04ZYar/kr1raaiFTVvQ5feljQsiAgdm0WPj4S73/ye0fbslh+15QrIuDvfCXTek7pMY5A==
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
@@ -1100,9 +1088,9 @@
xml2js "^0.6.2"
"@lwc/eslint-plugin-lwc@^1.7.2":
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.8.1.tgz#aa93a7115ae913fb8a4c1ca0667f10043dba06dc"
- integrity sha512-xtBvjT2Cxp20Vj/o+b7YeIJkAFXlZow90DoJGjqEyRxPb6pmWSZ3FzcrffSUOacETJey01UiA29rquRftJiH8A==
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.8.2.tgz#9268123d33d47a6d89a2eb7f205b019fdafc654b"
+ integrity sha512-kPlOq6G2BPo3x56qkGOgwas1SJWZYeQR6uXLMFzFrjb/Lisb24VeABNQd1i7JgoQXQzad0F12pfU0BLgIhhR7g==
dependencies:
globals "^13.24.0"
minimatch "^9.0.4"
@@ -1169,10 +1157,10 @@
wordwrap "^1.0.0"
wrap-ansi "^7.0.0"
-"@oclif/core@^3.15.1", "@oclif/core@^3.26.5", "@oclif/core@^3.26.6", "@oclif/core@^3.3.2":
- version "3.26.6"
- resolved "https://registry.yarnpkg.com/@oclif/core/-/core-3.26.6.tgz#f371868cfa0fe150a6547e6af98b359065d2f971"
- integrity sha512-+FiTw1IPuJTF9tSAlTsY8bGK4sgthehjz7c2SvYdgQncTkxI2xvUch/8QpjNYGLEmUneNygvYMRBax2KJcLccA==
+"@oclif/core@^3.15.1", "@oclif/core@^3.3.2":
+ version "3.27.0"
+ resolved "https://registry.yarnpkg.com/@oclif/core/-/core-3.27.0.tgz#a22a4ff4e5811db7a182b1687302237a57802381"
+ integrity sha512-Fg93aNFvXzBq5L7ztVHFP2nYwWU1oTCq48G0TjF/qC1UN36KWa2H5Hsm72kERd5x/sjy2M2Tn4kDEorUlpXOlw==
dependencies:
"@types/cli-progress" "^3.11.5"
ansi-escapes "^4.3.2"
@@ -1182,7 +1170,7 @@
clean-stack "^3.0.1"
cli-progress "^3.12.0"
color "^4.2.3"
- debug "^4.3.4"
+ debug "^4.3.5"
ejs "^3.1.10"
get-package-type "^0.1.0"
globby "^11.1.0"
@@ -1203,6 +1191,29 @@
wordwrap "^1.0.0"
wrap-ansi "^7.0.0"
+"@oclif/core@^4":
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.0.6.tgz#05958a928591567b7fe90638e0ee8df9e07eb3ff"
+ integrity sha512-z/4YUVQsf2pHsXRze5etbmvAYDhoUhIzpM6oJGEdsdWfvQJ6YQBogH7TdX/ItuGda6+vpfXg/4U1CtPexSF+bA==
+ dependencies:
+ ansi-escapes "^4.3.2"
+ ansis "^3.1.1"
+ clean-stack "^3.0.1"
+ cli-spinners "^2.9.2"
+ debug "^4.3.5"
+ ejs "^3.1.10"
+ get-package-type "^0.1.0"
+ globby "^11.1.0"
+ indent-string "^4.0.0"
+ is-wsl "^2.2.0"
+ lilconfig "^3.1.2"
+ minimatch "^9.0.4"
+ string-width "^4.2.3"
+ supports-color "^8"
+ widest-line "^3.1.0"
+ wordwrap "^1.0.0"
+ wrap-ansi "^7.0.0"
+
"@oclif/plugin-help@^5":
version "5.2.20"
resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.20.tgz#4035a0ac231f95fb8e334da342175e3ca00f6abc"
@@ -1210,49 +1221,49 @@
dependencies:
"@oclif/core" "^2.15.0"
-"@oclif/plugin-help@^6.0.21":
- version "6.0.22"
- resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-6.0.22.tgz#dca96ad1c28a68170e0bbf9f8f93f7dd171e4667"
- integrity sha512-IPgUvPSdZMCHzCwCRVDUMWtFkWZSoU6Z7igNclugLIpF3Ac3vKkZGguWZ+SLK3e7012etDzgAHjXFELYOqqbsw==
+"@oclif/plugin-help@^6.2.2":
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-6.2.3.tgz#09e54a1816fe7c2ef02c8a40c59afc7754a6eaca"
+ integrity sha512-ogaCD2i6dmEgrrIKG8iV42o/s45EG53Q+dW/zeEhL8It9UdVDooXjXkZLPSyRS+CyrbK3it8Mwh08DrJxjZiqQ==
dependencies:
- "@oclif/core" "^3.26.6"
+ "@oclif/core" "^4"
-"@oclif/plugin-not-found@^3.1.9":
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/@oclif/plugin-not-found/-/plugin-not-found-3.1.10.tgz#ce3ea63035d1b93e446f3b8e12ae076c56b383a7"
- integrity sha512-epIWsksxCudFMQEVSvkjz2pWlpfgDkBu8ycRg1wHBrSMiGeHNj32POZgcrAbNrMlCdvWTakFPXgg6abZ8IbqYw==
+"@oclif/plugin-not-found@^3.2.3":
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/@oclif/plugin-not-found/-/plugin-not-found-3.2.5.tgz#f7db68c2684294f4261bdc9b12eee464b4597945"
+ integrity sha512-C3YgT46dQpVs0DkXECTVrlg8KeOzLAOXFpmCYMPQQU3siptliep2eESjXrFm9VL+jZijGJjyckwQgn/X5zq1LQ==
dependencies:
- "@inquirer/confirm" "^3.1.8"
- "@oclif/core" "^3.26.5"
- chalk "^5.3.0"
+ "@inquirer/confirm" "^3.1.9"
+ "@oclif/core" "^4"
+ ansis "^3.2.0"
fast-levenshtein "^3.0.0"
"@oclif/plugin-warn-if-update-available@^3.0.19":
- version "3.0.19"
- resolved "https://registry.yarnpkg.com/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-3.0.19.tgz#1009a1ff0016b64731792d169f2ee78e9770f5b1"
- integrity sha512-CauYLxNuPtK9ig1ZlzFiCqxzGJJd73CKyJDiSzGkg3QRooyZkE9G+l1Lz18fHzj+TEeXUZ74t6RWWPC5p0TL4w==
+ version "3.1.6"
+ resolved "https://registry.yarnpkg.com/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-3.1.6.tgz#354e04e43fdcb4abad733b979dc2a7e44e91d312"
+ integrity sha512-K/hKDUD1HOXJa89arqpzB5bqLO1+abiOgvQ3nIGnbO3yyVPsieBRD3yuv+ti7r/nUIroZnPYBlyNESL6W0/NaA==
dependencies:
- "@oclif/core" "^3.26.6"
- chalk "^5.3.0"
- debug "^4.1.0"
+ "@oclif/core" "^4"
+ ansis "^3.2.0"
+ debug "^4.3.5"
http-call "^5.2.2"
lodash "^4.17.21"
"@salesforce/cli-plugins-testkit@^5.0.4":
- version "5.3.5"
- resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-5.3.5.tgz#1aff37ffaba78552a7dcacf62817efb94ae883e6"
- integrity sha512-fL6EsPDVv3+0u+5CqVsGa+PixqmVElQUsIS5RjUYAs6bvUpBG/vK5EAS+BwWroZhoFgmUgh7hFQJCSssaf7NOQ==
+ version "5.3.15"
+ resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-5.3.15.tgz#a7e240119bbc987e869873c5a3ce3d70abbfe120"
+ integrity sha512-nst9ZKu7pqkR4Ayf3klbg4/41CmxJuLzdBL9EqGNZyZgKXBw1g+nlCcfvV9q1sY3LF2L2ljsC8N8phqiFoDKOQ==
dependencies:
- "@salesforce/core" "^7.3.8"
- "@salesforce/kit" "^3.1.1"
- "@salesforce/ts-types" "^2.0.9"
+ "@salesforce/core" "^8.0.1"
+ "@salesforce/kit" "^3.1.6"
+ "@salesforce/ts-types" "^2.0.10"
"@types/shelljs" "^0.8.15"
- debug "^4.3.1"
+ debug "^4.3.5"
jszip "^3.10.1"
shelljs "^0.8.4"
sinon "^17.0.2"
strip-ansi "6.0.1"
- ts-retry-promise "^0.8.0"
+ ts-retry-promise "^0.8.1"
"@salesforce/core@^5":
version "5.3.20"
@@ -1301,33 +1312,34 @@
semver "^7.6.0"
ts-retry-promise "^0.7.1"
-"@salesforce/core@^7.3.8":
- version "7.3.9"
- resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-7.3.9.tgz#8abe2b3e2393989d11e92b7a6b96043fc9d5b9c8"
- integrity sha512-eJqDiA5b7wU50Ee/xjmGzSnHrNVJ8S77B7enfX30gm7gxU3i3M3QeBdiV6XAOPLSIL96DseofP6Tv6c+rljlKA==
+"@salesforce/core@^8.0.1":
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.0.2.tgz#f2f31024f3d264c3c862700a42712c69fc7e1160"
+ integrity sha512-DSQ6iZJhc5HWWfSnn8e0ECxQaY+uQzoNlqLZnwWggkMPlaurlNIpSd8Td+prLL0sQ4YS/SmB68gLnfpd7U++tg==
dependencies:
"@jsforce/jsforce-node" "^3.2.0"
- "@salesforce/kit" "^3.1.1"
+ "@salesforce/kit" "^3.1.6"
"@salesforce/schemas" "^1.9.0"
- "@salesforce/ts-types" "^2.0.9"
- ajv "^8.13.0"
+ "@salesforce/ts-types" "^2.0.10"
+ ajv "^8.16.0"
change-case "^4.1.2"
+ fast-levenshtein "^3.0.0"
faye "^1.4.0"
form-data "^4.0.0"
js2xmlparser "^4.0.1"
jsonwebtoken "9.0.2"
jszip "3.10.1"
- pino "^8.21.0"
- pino-abstract-transport "^1.1.0"
- pino-pretty "^10.3.1"
+ pino "^9.2.0"
+ pino-abstract-transport "^1.2.0"
+ pino-pretty "^11.2.1"
proper-lockfile "^4.1.2"
semver "^7.6.2"
- ts-retry-promise "^0.7.1"
+ ts-retry-promise "^0.8.1"
"@salesforce/dev-config@^4.1.0":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.1.0.tgz#e529576466d074e7a5f1441236510fef123da01e"
- integrity sha512-2iDDepiIwjXHS5IVY7pwv8jMo4xWosJ7p/UTj+lllpB/gnJiYLhjJPE4Z3FCGFKyvfg5jGaimCd8Ca6bLGsCQA==
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.2.0.tgz#65a59b95aeb4f5512435770da43cba780aa0cfc7"
+ integrity sha512-ahmHPhUslKhIe6qCaZTmMmHZrTXRhUcoMXVimEJaDPxTw2q3Dloq/lehWZdhLsRQCDKscP0WPIOdKulIgZJFBg==
"@salesforce/eslint-config-lwc@^3.5.3":
version "3.5.3"
@@ -1344,13 +1356,12 @@
resolved "https://registry.yarnpkg.com/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz#9ecf80527d83394960ef3c358c790cdfde44f578"
integrity sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ==
-"@salesforce/kit@^3.0.15", "@salesforce/kit@^3.1.0", "@salesforce/kit@^3.1.1":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-3.1.1.tgz#d2147a50887214763cdf1c456d306b6da554d928"
- integrity sha512-Cjkh+USp5PtdZmD30r1Y7d+USpIhQz9B48w76esBtYpgqzhyj806LHkVgEfmorLNq2Qe8EO5rtUYd+XZ3rnV9w==
+"@salesforce/kit@^3.0.15", "@salesforce/kit@^3.1.0", "@salesforce/kit@^3.1.6":
+ version "3.1.6"
+ resolved "https://registry.yarnpkg.com/@salesforce/kit/-/kit-3.1.6.tgz#aefb39c0e0f325e11f80551ff92cf6979dd74070"
+ integrity sha512-zAYPmCSAvdonDOnL5AzuVRVv0sRMlQd6gi12HDE1964VqSjt5pzlLU90thh3Qq4A1Wxbdu0FbHYx9BvZ4fWPvQ==
dependencies:
- "@salesforce/ts-types" "^2.0.9"
- tslib "^2.6.2"
+ "@salesforce/ts-types" "^2.0.10"
"@salesforce/schemas@^1.6.1", "@salesforce/schemas@^1.7.0", "@salesforce/schemas@^1.9.0":
version "1.9.0"
@@ -1371,20 +1382,18 @@
inquirer "^8.2.5"
"@salesforce/ts-sinon@^1.1.2":
- version "1.4.19"
- resolved "https://registry.yarnpkg.com/@salesforce/ts-sinon/-/ts-sinon-1.4.19.tgz#64157b6c8cf4a3c637867e2ddd90c2d058c334f7"
- integrity sha512-vopxKrI6QD0OCtPlge1eGGHFWLkoDee7KaB/dpGeRwioeNfCVJ8ikELN0hv0zq9Ys6gUYWYcdpxzTP1upslCJA==
+ version "1.4.22"
+ resolved "https://registry.yarnpkg.com/@salesforce/ts-sinon/-/ts-sinon-1.4.22.tgz#c601ed59367594e558c3168b0d86d77cba12b0dd"
+ integrity sha512-H9Ma1U7DFRq/sjhgAhvbSqi13DO6bll3SaIZ6Nlr1iLqGcc1IM72/HhzgfiQs67I56XEvrO3r1PSu+ncWIxL6A==
dependencies:
- "@salesforce/ts-types" "^2.0.9"
+ "@salesforce/ts-types" "^2.0.10"
sinon "^5.1.1"
- tslib "^2.6.1"
+ tslib "^2.6.3"
-"@salesforce/ts-types@^2.0.9":
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-2.0.9.tgz#66bff7b41720065d6b01631b6f6a3ccca02857c5"
- integrity sha512-boUD9jw5vQpTCPCCmK/NFTWjSuuW+lsaxOynkyNXLW+zxOc4GDjhtKc4j0vWZJQvolpafbyS8ZLFHZJvs12gYA==
- dependencies:
- tslib "^2.6.2"
+"@salesforce/ts-types@^2.0.10", "@salesforce/ts-types@^2.0.9":
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/@salesforce/ts-types/-/ts-types-2.0.10.tgz#f2107a52b60be6c3fe712f4d40aafad48c6bebe0"
+ integrity sha512-ulGQ1oUGXrmSUi6NGbxZZ7ykSDv439x+WYZpkMgFLC8Dx0TxJXfUAJYeZh7eKO5xI/ob3iyvN+RBcBkp4KFN1w==
"@sindresorhus/is@^4":
version "4.6.0"
@@ -1462,12 +1471,12 @@
resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918"
integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==
-"@smithy/abort-controller@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.0.0.tgz#5815f5d4618e14bf8d031bb98a99adabbb831168"
- integrity sha512-p6GlFGBt9K4MYLu72YuJ523NVR4A8oHlC5M2JO6OmQqN8kAc/uh1JqLE+FizTokrSJGg0CSvC+BrsmGzKtsZKA==
+"@smithy/abort-controller@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.0.tgz#408fbc0da13c30bc0aac859a44be08a5ba18126a"
+ integrity sha512-XOm4LkuC0PsK1sf2bBJLIlskn5ghmVxiEBVlo/jg0R8hxASBKYYgOoJEhKWgOr4vWGkN+5rC+oyBAqHYtxjnwQ==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
"@smithy/chunked-blob-reader-native@^3.0.0":
@@ -1485,133 +1494,140 @@
dependencies:
tslib "^2.6.2"
-"@smithy/config-resolver@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.0.tgz#d37b31e3202c5ce54d9bd2406dcde7c7b5073cbd"
- integrity sha512-2GzOfADwYLQugYkKQhIyZyQlM05K+tMKvRnc6eFfZcpJGRfKoMUMYdPlBKmqHwQFXQKBrGV6cxL9oymWgDzvFw==
+"@smithy/config-resolver@^3.0.2", "@smithy/config-resolver@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.3.tgz#104106363fbaf6bac61905727f7e2c39c62f3e94"
+ integrity sha512-4wHqCMkdfVDP4qmr4fVPYOFOH+vKhOv3X4e6KEU9wIC8xXUQ24tnF4CW+sddGDX1zU86GGyQ7A+rg2xmUD6jpQ==
dependencies:
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/node-config-provider" "^3.1.2"
+ "@smithy/types" "^3.2.0"
"@smithy/util-config-provider" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
+ "@smithy/util-middleware" "^3.0.2"
tslib "^2.6.2"
-"@smithy/core@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.0.1.tgz#8a7ac8faa0227912ce260bc3f976a5e254323920"
- integrity sha512-rcMkjvwxH/bER+oZUPR0yTA0ELD6m3A+d92+CFkdF6HJFCBB1bXo7P5pm21L66XwTN01B6bUhSCQ7cymWRD8zg==
- dependencies:
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-retry" "^3.0.1"
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
+"@smithy/core@^2.2.1":
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.2.3.tgz#dc6ba7d338a1b35752be274cdaf6fcbcfdb44a70"
+ integrity sha512-SpyLOL2vgE6sUYM6nQfu82OirCPkCDKctyG3aMgjMlDPTJpUlmlNH0ttu9ZWwzEjrzzr8uABmPjJTRI7gk1HFQ==
+ dependencies:
+ "@smithy/middleware-endpoint" "^3.0.3"
+ "@smithy/middleware-retry" "^3.0.6"
+ "@smithy/middleware-serde" "^3.0.2"
+ "@smithy/protocol-http" "^4.0.2"
+ "@smithy/smithy-client" "^3.1.4"
+ "@smithy/types" "^3.2.0"
+ "@smithy/util-middleware" "^3.0.2"
tslib "^2.6.2"
-"@smithy/credential-provider-imds@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.0.0.tgz#a290eb0224ef045742e5c806685cf63d44a084f3"
- integrity sha512-lfmBiFQcA3FsDAPxNfY0L7CawcWtbyWsBOHo34nF095728JLkBX4Y9q/VPPE2r7fqMVK+drmDigqE2/SSQeVRA==
+"@smithy/credential-provider-imds@^3.1.1", "@smithy/credential-provider-imds@^3.1.2":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.1.2.tgz#7e84199a8cd8ff7121c0a2f95f7822dc09cc283f"
+ integrity sha512-gqVmUaNoeqyrOAjgZg+rTmFLsphh/vS59LCMdFfVpthVS0jbfBzvBmEPktBd+y9ME4DYMGHFAMSYJDK8q0noOQ==
dependencies:
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
+ "@smithy/node-config-provider" "^3.1.2"
+ "@smithy/property-provider" "^3.1.2"
+ "@smithy/types" "^3.2.0"
+ "@smithy/url-parser" "^3.0.2"
tslib "^2.6.2"
-"@smithy/eventstream-codec@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.0.0.tgz#81d30391220f73d41f432f65384b606d67673e46"
- integrity sha512-PUtyEA0Oik50SaEFCZ0WPVtF9tz/teze2fDptW6WRXl+RrEenH8UbEjudOz8iakiMl3lE3lCVqYf2Y+znL8QFQ==
+"@smithy/eventstream-codec@^3.1.1":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.1.tgz#b47f30bf4ad791ac7981b9fff58e599d18269cf9"
+ integrity sha512-s29NxV/ng1KXn6wPQ4qzJuQDjEtxLdS0+g5PQFirIeIZrp66FXVJ5IpZRowbt/42zB5dY8TqJ0G0L9KkgtsEZg==
dependencies:
- "@aws-crypto/crc32" "3.0.0"
- "@smithy/types" "^3.0.0"
+ "@aws-crypto/crc32" "5.2.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-hex-encoding" "^3.0.0"
tslib "^2.6.2"
-"@smithy/eventstream-serde-browser@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.0.tgz#94721b01f01d8b7eb1db5814275a774ed4d38190"
- integrity sha512-NB7AFiPN4NxP/YCAnrvYR18z2/ZsiHiF7VtG30gshO9GbFrIb1rC8ep4NGpJSWrz6P64uhPXeo4M0UsCLnZKqw==
+"@smithy/eventstream-serde-browser@^3.0.2":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.3.tgz#223267a9e46336aff2bebbc386eb6e62146d1fef"
+ integrity sha512-ZXKmNAHl6SWKYuVmtoEc/hBQ7Nym/rbAx2SrqoJHn0i9QopIP7fG1AWmoFIeS5R3/VL6AwUIZMR0g8qnjjVRRA==
dependencies:
- "@smithy/eventstream-serde-universal" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/eventstream-serde-universal" "^3.0.3"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/eventstream-serde-config-resolver@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.0.tgz#420447d1d284d41f7f070a5d92fc3686cc922581"
- integrity sha512-RUQG3vQ3LX7peqqHAbmayhgrF5aTilPnazinaSGF1P0+tgM3vvIRWPHmlLIz2qFqB9LqFIxditxc8O2Z6psrRw==
+"@smithy/eventstream-serde-config-resolver@^3.0.1":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.2.tgz#6238eadae0c060133c61783fd92d8b1ee1e6f99f"
+ integrity sha512-QbE3asvvBUZr7PwbOaxkSfKDjTAmWZkqh2G7pkYlD4jRkT1Y9nufeyu0OBPlLoF4+gl3YMpSVO7TESe8bVkD+g==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/eventstream-serde-node@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.0.tgz#6519523fbb429307be29b151b8ba35bcca2b6e64"
- integrity sha512-baRPdMBDMBExZXIUAoPGm/hntixjt/VFpU6+VmCyiYJYzRHRxoaI1MN+5XE+hIS8AJ2GCHLMFEIOLzq9xx1EgQ==
+"@smithy/eventstream-serde-node@^3.0.2":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.3.tgz#51df0ca39f453d78a3d6607c1ac2e96cf900c824"
+ integrity sha512-v61Ftn7x/ubWFqH7GHFAL/RaU7QZImTbuV95DYugYYItzpO7KaHYEuO8EskCaBpZEfzOxhUGKm4teS9YUSt69Q==
dependencies:
- "@smithy/eventstream-serde-universal" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/eventstream-serde-universal" "^3.0.3"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/eventstream-serde-universal@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.0.tgz#cb8441a73fbde4cbaa68e4a21236f658d914a073"
- integrity sha512-HNFfShmotWGeAoW4ujP8meV9BZavcpmerDbPIjkJbxKbN8RsUcpRQ/2OyIxWNxXNH2GWCAxuSB7ynmIGJlQ3Dw==
+"@smithy/eventstream-serde-universal@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.3.tgz#2ecac479ba84e10221b4b70545f3d7a223b5345e"
+ integrity sha512-YXYt3Cjhu9tRrahbTec2uOjwOSeCNfQurcWPGNEUspBhqHoA3KrDrVj+jGbCLWvwkwhzqDnnaeHAxm+IxAjOAQ==
dependencies:
- "@smithy/eventstream-codec" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/eventstream-codec" "^3.1.1"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/fetch-http-handler@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.0.1.tgz#dacfdf6e70d639fac4a0f57c42ce13f0ed14ff22"
- integrity sha512-uaH74i5BDj+rBwoQaXioKpI0SHBJFtOVwzrCpxZxphOW0ki5jhj7dXvDMYM2IJem8TpdFvS2iC08sjOblfFGFg==
+"@smithy/fetch-http-handler@^3.0.2", "@smithy/fetch-http-handler@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.1.0.tgz#993d47577c7b86eb5796cd29f8301beafa2cf471"
+ integrity sha512-s7oQjEOUH9TYjctpITtWF4qxOdg7pBrP9eigEQ8SBsxF3dRFV0S28pGMllC83DUr7ECmErhO/BUwnULfoNhKgQ==
dependencies:
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/querystring-builder" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/protocol-http" "^4.0.2"
+ "@smithy/querystring-builder" "^3.0.2"
+ "@smithy/types" "^3.2.0"
"@smithy/util-base64" "^3.0.0"
tslib "^2.6.2"
-"@smithy/hash-blob-browser@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.0.0.tgz#63ef4c98f74c53cbcad8ec73387c68ec4708f55b"
- integrity sha512-/Wbpdg+bwJvW7lxR/zpWAc1/x/YkcqguuF2bAzkJrvXriZu1vm8r+PUdE4syiVwQg7PPR2dXpi3CLBb9qRDaVQ==
+"@smithy/hash-blob-browser@^3.1.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.1.tgz#758b4de6cf75b515cf36c18c4d101a833976c83f"
+ integrity sha512-8RwdPG7arvL5pfMAFsH6jfBVcC7MDR1LYHjKevZPHREkVtORIQkRfm2K8px7giJt7x0zzQJnWamrsDM4ig8nTQ==
dependencies:
"@smithy/chunked-blob-reader" "^3.0.0"
"@smithy/chunked-blob-reader-native" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/hash-node@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.0.tgz#f44b5fff193e241c1cdcc957b296b60f186f0e59"
- integrity sha512-84qXstNemP3XS5jcof0el6+bDfjzuvhJPQTEfro3lgtbCtKgzPm3MgiS6ehXVPjeQ5+JS0HqmTz8f/RYfzHVxw==
+"@smithy/hash-node@^3.0.1":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.2.tgz#8d1306f3b372e42dc76ae85fd979f7252aea476c"
+ integrity sha512-43uGA6o6QJQdXwAogybdTDHDd3SCdKyoiHIHb8PpdE2rKmVicjG9b1UgVwdgO8QPytmVqHFaUw27M3LZKwu8Yg==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-buffer-from" "^3.0.0"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@smithy/hash-stream-node@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.0.0.tgz#b395a8a0d2427e4a8effc56135b37cb299339f8f"
- integrity sha512-J0i7de+EgXDEGITD4fxzmMX8CyCNETTIRXlxjMiNUvvu76Xn3GJ31wQR85ynlPk2wI1lqoknAFJaD1fiNDlbIA==
+"@smithy/hash-stream-node@^3.1.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.1.tgz#ca288961879730a0203b60b4383e2455d015f2ac"
+ integrity sha512-+uvJHPrFNE9crkh3INVS9FmDcx1DoywDgIzlRWlPy7gqoD8jG14os9ATIFY7wN/ARPz1EWlkCHUap70oXxMmjA==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@smithy/invalid-dependency@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.0.tgz#21cb6b5203ee15321bfcc751f21f7a19536d4ae8"
- integrity sha512-F6wBBaEFgJzj0s4KUlliIGPmqXemwP6EavgvDqYwCH40O5Xr2iMHvS8todmGVZtuJCorBkXsYLyTu4PuizVq5g==
+"@smithy/invalid-dependency@^3.0.1":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.2.tgz#e455169d86e96e73ebf2bb1728b7d2e2850bdc01"
+ integrity sha512-+BAY3fMhomtq470tswXyrdVBSUhiLuhBVT+rOmpbz5e04YX+s1dX4NxTLzZGwBjCpeWZNtTxP8zbIvvFk81gUg==
+ dependencies:
+ "@smithy/types" "^3.2.0"
+ tslib "^2.6.2"
+
+"@smithy/is-array-buffer@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111"
+ integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==
dependencies:
- "@smithy/types" "^3.0.0"
tslib "^2.6.2"
"@smithy/is-array-buffer@^3.0.0":
@@ -1621,176 +1637,176 @@
dependencies:
tslib "^2.6.2"
-"@smithy/md5-js@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.0.tgz#6a2d1c496f4d4476a0fc84f7724d79b234c3eb13"
- integrity sha512-Tm0vrrVzjlD+6RCQTx7D3Ls58S3FUH1ZCtU1MIh/qQmaOo1H9lMN2as6CikcEwgattnA9SURSdoJJ27xMcEfMA==
+"@smithy/md5-js@^3.0.1":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.2.tgz#dec2124a81beb83700b68390d1378010346b8541"
+ integrity sha512-WlSK9br7fkVucTkCXporwuOttCR3cJ1GV70J8ENYXGNc0nUTPzMdWCyHztgnbbKoekVMjGZOEu+8I52nOdzqwQ==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@smithy/middleware-content-length@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.0.tgz#084b3d22248967885d496eb0b105d9090e8ababd"
- integrity sha512-3C4s4d/iGobgCtk2tnWW6+zSTOBg1PRAm2vtWZLdriwTroFbbWNSr3lcyzHdrQHnEXYCC5K52EbpfodaIUY8sg==
+"@smithy/middleware-content-length@^3.0.1":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.2.tgz#fc69a5b3a46310a798e4c804ef47dbe11ad2045f"
+ integrity sha512-/Havz3PkYIEmwpqkyRTR21yJsWnFbD1ec4H1pUL+TkDnE7RCQkAVUQepLL/UeCaZeCBXvfdoKbOjSbV01xIinQ==
dependencies:
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/protocol-http" "^4.0.2"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/middleware-endpoint@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.0.tgz#54c9e1bd8f35b7d004c803eaf3702e61e32b8295"
- integrity sha512-aXOAWztw/5qAfp0NcA2OWpv6ZI/E+Dh9mByif7i91D/0iyYNUcKvskmXiowKESFkuZ7PIMd3VOR4fTibZDs2OQ==
- dependencies:
- "@smithy/middleware-serde" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
- "@smithy/url-parser" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
+"@smithy/middleware-endpoint@^3.0.2", "@smithy/middleware-endpoint@^3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.0.3.tgz#bbfdd0f35668af392c5031ca2735c31760740bc6"
+ integrity sha512-ARAXHodhj4tttKa9y75zvENdSoHq6VGsSi7XS3+yLutrnxttJs6N10UMInCC1yi3/bopT8xug3iOP/y9R6sKJQ==
+ dependencies:
+ "@smithy/middleware-serde" "^3.0.2"
+ "@smithy/node-config-provider" "^3.1.2"
+ "@smithy/shared-ini-file-loader" "^3.1.2"
+ "@smithy/types" "^3.2.0"
+ "@smithy/url-parser" "^3.0.2"
+ "@smithy/util-middleware" "^3.0.2"
tslib "^2.6.2"
-"@smithy/middleware-retry@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.1.tgz#167b75e9b79395f11a799f22030eaaf7d40da410"
- integrity sha512-hBhSEuL841FhJBK/19WpaGk5YWSzFk/P2UaVjANGKRv3eYNO8Y1lANWgqnuPWjOyCEWMPr58vELFDWpxvRKANw==
- dependencies:
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/service-error-classification" "^3.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
- "@smithy/util-retry" "^3.0.0"
+"@smithy/middleware-retry@^3.0.4", "@smithy/middleware-retry@^3.0.6":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.6.tgz#ace955263cea4ef6acf1e0e42192be62e20ab558"
+ integrity sha512-ICsFKp8eAyIMmxN5UT3IU37S6886L879TKtgxPsn/VD/laYNwqTLmJaCAn5//+2fRIrV0dnHp6LFlMwdXlWoUQ==
+ dependencies:
+ "@smithy/node-config-provider" "^3.1.2"
+ "@smithy/protocol-http" "^4.0.2"
+ "@smithy/service-error-classification" "^3.0.2"
+ "@smithy/smithy-client" "^3.1.4"
+ "@smithy/types" "^3.2.0"
+ "@smithy/util-middleware" "^3.0.2"
+ "@smithy/util-retry" "^3.0.2"
tslib "^2.6.2"
uuid "^9.0.1"
-"@smithy/middleware-serde@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.0.tgz#786da6a6bc0e5e51d669dac834c19965245dd302"
- integrity sha512-I1vKG1foI+oPgG9r7IMY1S+xBnmAn1ISqployvqkwHoSb8VPsngHDTOgYGYBonuOKndaWRUGJZrKYYLB+Ane6w==
+"@smithy/middleware-serde@^3.0.1", "@smithy/middleware-serde@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.2.tgz#3ec15a7991c2b066cced5989aba7f81fed4dfb87"
+ integrity sha512-oT2abV5zLhBucJe1LIIFEcRgIBDbZpziuMPswTMbBQNcaEUycLFvX63zsFmqfwG+/ZQKsNx+BSE8W51CMuK7Yw==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/middleware-stack@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.0.tgz#00f112bae7af5fc3bd37d4fab95ebce0f17a7774"
- integrity sha512-+H0jmyfAyHRFXm6wunskuNAqtj7yfmwFB6Fp37enytp2q047/Od9xetEaUbluyImOlGnGpaVGaVfjwawSr+i6Q==
+"@smithy/middleware-stack@^3.0.1", "@smithy/middleware-stack@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.2.tgz#82610681a7f5986bfb3229df98ca1e050b667660"
+ integrity sha512-6fRcxomlNKBPIy/YjcnC7YHpMAjRvGUYlYVJAfELqZjkW0vQegNcImjY7T1HgYA6u3pAcCxKVBLYnkTw8z/l0A==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/node-config-provider@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.0.0.tgz#4cd5dcf6132c75d6a582fcd6243482dac703865a"
- integrity sha512-buqfaSdDh0zo62EPLf8rGDvcpKwGpO5ho4bXS2cdFhlOta7tBkWJt+O5uiaAeICfIOfPclNOndshDNSanX2X9g==
+"@smithy/node-config-provider@^3.1.1", "@smithy/node-config-provider@^3.1.2":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.2.tgz#3e739ae02520f2249f6c50197feee6e38125fb1d"
+ integrity sha512-388fEAa7+6ORj/BDC70peg3fyFBTTXJyXfXJ0Bwd6FYsRltePr2oGzIcm5AuC1WUSLtZ/dF+hYOnfTMs04rLvA==
dependencies:
- "@smithy/property-provider" "^3.0.0"
- "@smithy/shared-ini-file-loader" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/property-provider" "^3.1.2"
+ "@smithy/shared-ini-file-loader" "^3.1.2"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/node-http-handler@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.0.0.tgz#e771ea95d03e259f04b7b37e8aece8a4fffc8cdc"
- integrity sha512-3trD4r7NOMygwLbUJo4eodyQuypAWr7uvPnebNJ9a70dQhVn+US8j/lCnvoJS6BXfZeF7PkkkI0DemVJw+n+eQ==
+"@smithy/node-http-handler@^3.0.1", "@smithy/node-http-handler@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.0.tgz#0f37b2c379b1cd85be125234575e7c5129dbed67"
+ integrity sha512-pOpgB6B+VLXLwAyyvRz+ZAVXABlbAsJ2xvn3WZvrppAPImxwQOPFbeSUzWYMhpC8Tr7yQ3R8fG990QDhskkf1Q==
dependencies:
- "@smithy/abort-controller" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/querystring-builder" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/abort-controller" "^3.1.0"
+ "@smithy/protocol-http" "^4.0.2"
+ "@smithy/querystring-builder" "^3.0.2"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/property-provider@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.0.0.tgz#ef7a26557c855cc1471b9aa0e05529183e99b978"
- integrity sha512-LmbPgHBswdXCrkWWuUwBm9w72S2iLWyC/5jet9/Y9cGHtzqxi+GVjfCfahkvNV4KXEwgnH8EMpcrD9RUYe0eLQ==
+"@smithy/property-provider@^3.1.1", "@smithy/property-provider@^3.1.2":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.2.tgz#3da2802511078eae66240bcbeb8ef6f6102aeabf"
+ integrity sha512-Hzp32BpeFFexBpO1z+ts8okbq/VLzJBadxanJAo/Wf2CmvXMBp6Q/TLWr7Js6IbMEcr0pDZ02V3u1XZkuQUJaA==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/protocol-http@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.0.0.tgz#04df3b5674b540323f678e7c4113e8abd8b26432"
- integrity sha512-qOQZOEI2XLWRWBO9AgIYuHuqjZ2csyr8/IlgFDHDNuIgLAMRx2Bl8ck5U5D6Vh9DPdoaVpuzwWMa0xcdL4O/AQ==
+"@smithy/protocol-http@^4.0.1", "@smithy/protocol-http@^4.0.2":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.0.2.tgz#502ed3116cb0f1e3f207881df965bac620ccb2da"
+ integrity sha512-X/90xNWIOqSR2tLUyWxVIBdatpm35DrL44rI/xoeBWUuanE0iyCXJpTcnqlOpnEzgcu0xCKE06+g70TTu2j7RQ==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/querystring-builder@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.0.tgz#48a9aa7b700e8409368c21bc0adf7564e001daea"
- integrity sha512-bW8Fi0NzyfkE0TmQphDXr1AmBDbK01cA4C1Z7ggwMAU5RDz5AAv/KmoRwzQAS0kxXNf/D2ALTEgwK0U2c4LtRg==
+"@smithy/querystring-builder@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.2.tgz#ea0f9a6e2b85d62465b3cc0214e6b86eb7af7ab4"
+ integrity sha512-xhv1+HacDYsOLdNt7zW+8Fe779KYAzmWvzs9bC5NlKM8QGYCwwuFwDBynhlU4D5twgi2pZ14Lm4h6RiAazCtmA==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-uri-escape" "^3.0.0"
tslib "^2.6.2"
-"@smithy/querystring-parser@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.0.tgz#fa1ed0cee408cd4d622070fa874bc50ac1a379b7"
- integrity sha512-UzHwthk0UEccV4dHzPySnBy34AWw3V9lIqUTxmozQ+wPDAO9csCWMfOLe7V9A2agNYy7xE+Pb0S6K/J23JSzfQ==
+"@smithy/querystring-parser@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.2.tgz#7b8edc661d0ee2c2e7e8a39b1022b00dfff2858e"
+ integrity sha512-C5hyRKgrZGPNh5QqIWzXnW+LXVrPmVQO0iJKjHeb5v3C61ZkP9QhrKmbfchcTyg/VnaE0tMNf/nmLpQlWuiqpg==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/service-error-classification@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.0.tgz#06a45cb91b15b8b0d5f3b1df2b3743d2ca42f5c4"
- integrity sha512-3BsBtOUt2Gsnc3X23ew+r2M71WwtpHfEDGhHYHSDg6q1t8FrWh15jT25DLajFV1H+PpxAJ6gqe9yYeRUsmSdFA==
+"@smithy/service-error-classification@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.2.tgz#ad7a0c8dfd482981a04d42fba24c7ee1ac2eb20b"
+ integrity sha512-cu0WV2XRttItsuXlcM0kq5MKdphbMMmSd2CXF122dJ75NrFE0o7rruXFGfxAp3BKzgF/DMxX+PllIA/cj4FHMw==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
-"@smithy/shared-ini-file-loader@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.0.0.tgz#8739b7cd24f55fb4e276a74f00f0c2bb4e3f25d8"
- integrity sha512-REVw6XauXk8xE4zo5aGL7Rz4ywA8qNMUn8RtWeTRQsgAlmlvbJ7CEPBcaXU2NDC3AYBgYAXrGyWD8XrN8UGDog==
+"@smithy/shared-ini-file-loader@^3.1.1", "@smithy/shared-ini-file-loader@^3.1.2":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.2.tgz#b80f8b9b40841447219a95cb47f7a8f3f85b6467"
+ integrity sha512-tgnXrXbLMO8vo6VeuqabMw/eTzQHlLmZx0TC0TjtjJghnD0Xl4pEnJtBjTJr6XF5fHMNrt5BcczDXHJT9yNQnA==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/signature-v4@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-3.0.0.tgz#f536d0abebfeeca8e9aab846a4042658ca07d3b7"
- integrity sha512-kXFOkNX+BQHe2qnLxpMEaCRGap9J6tUGLzc3A9jdn+nD4JdMwCKTJ+zFwQ20GkY+mAXGatyTw3HcoUlR39HwmA==
+"@smithy/signature-v4@^3.1.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-3.1.1.tgz#4882aacb3260a47b8279b2ffc6a135e03e225260"
+ integrity sha512-2/vlG86Sr489XX8TA/F+VDA+P04ESef04pSz0wRtlQBExcSPjqO08rvrkcas2zLnJ51i+7ukOURCkgqixBYjSQ==
dependencies:
"@smithy/is-array-buffer" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-hex-encoding" "^3.0.0"
- "@smithy/util-middleware" "^3.0.0"
+ "@smithy/util-middleware" "^3.0.2"
"@smithy/util-uri-escape" "^3.0.0"
"@smithy/util-utf8" "^3.0.0"
tslib "^2.6.2"
-"@smithy/smithy-client@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.0.1.tgz#c440473f6fb5dfbe86eaf015565fc56f66533bb4"
- integrity sha512-KAiFY4Y4jdHxR+4zerH/VBhaFKM8pbaVmJZ/CWJRwtM/CmwzTfXfvYwf6GoUwiHepdv+lwiOXCuOl6UBDUEINw==
- dependencies:
- "@smithy/middleware-endpoint" "^3.0.0"
- "@smithy/middleware-stack" "^3.0.0"
- "@smithy/protocol-http" "^4.0.0"
- "@smithy/types" "^3.0.0"
- "@smithy/util-stream" "^3.0.1"
+"@smithy/smithy-client@^3.1.2", "@smithy/smithy-client@^3.1.4":
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.4.tgz#597a4b0d08c71ed7e66707df28871b8a3a707cce"
+ integrity sha512-y6xJROGrIoitjpwXLY7P9luDHvuT9jWpAluliuSFdBymFxcl6iyQjo9U/JhYfRHFNTruqsvKOrOESVuPGEcRmQ==
+ dependencies:
+ "@smithy/middleware-endpoint" "^3.0.3"
+ "@smithy/middleware-stack" "^3.0.2"
+ "@smithy/protocol-http" "^4.0.2"
+ "@smithy/types" "^3.2.0"
+ "@smithy/util-stream" "^3.0.4"
tslib "^2.6.2"
-"@smithy/types@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.0.0.tgz#00231052945159c64ffd8b91e8909d8d3006cb7e"
- integrity sha512-VvWuQk2RKFuOr98gFhjca7fkBS+xLLURT8bUjk5XQoV0ZLm7WPwWPPY3/AwzTLuUBDeoKDCthfe1AsTUWaSEhw==
+"@smithy/types@^3.1.0", "@smithy/types@^3.2.0":
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.2.0.tgz#1350fe8a50d5e35e12ffb34be46d946860b2b5ab"
+ integrity sha512-cKyeKAPazZRVqm7QPvcPD2jEIt2wqDPAL1KJKb0f/5I7uhollvsWZuZKLclmyP6a+Jwmr3OV3t+X0pZUUHS9BA==
dependencies:
tslib "^2.6.2"
-"@smithy/url-parser@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.0.tgz#5fdc77cd22051c1aac6531be0315bfcba0fa705d"
- integrity sha512-2XLazFgUu+YOGHtWihB3FSLAfCUajVfNBXGGYjOaVKjLAuAxx3pSBY3hBgLzIgB17haf59gOG3imKqTy8mcrjw==
+"@smithy/url-parser@^3.0.1", "@smithy/url-parser@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.2.tgz#a4d6f364a28d2b11c14d9486041ea8eb4572fc66"
+ integrity sha512-pRiPHrgibeAr4avtXDoBHmTLtthwA4l8jKYRfZjNgp+bBPyxDMPRg2TMJaYxqbKemvrOkHu9MIBTv2RkdNfD6w==
dependencies:
- "@smithy/querystring-parser" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/querystring-parser" "^3.0.2"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
"@smithy/util-base64@^3.0.0":
@@ -1816,6 +1832,14 @@
dependencies:
tslib "^2.6.2"
+"@smithy/util-buffer-from@^2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b"
+ integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==
+ dependencies:
+ "@smithy/is-array-buffer" "^2.2.0"
+ tslib "^2.6.2"
+
"@smithy/util-buffer-from@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz#559fc1c86138a89b2edaefc1e6677780c24594e3"
@@ -1831,37 +1855,37 @@
dependencies:
tslib "^2.6.2"
-"@smithy/util-defaults-mode-browser@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.1.tgz#0ba33ec90f6dd311599bed3a3dd604f3adba9acd"
- integrity sha512-nW5kEzdJn1Bn5TF+gOPHh2rcPli8JU9vSSXLbfg7uPnfR1TMRQqs9zlYRhIb87NeSxIbpdXOI94tvXSy+fvDYg==
+"@smithy/util-defaults-mode-browser@^3.0.4":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.6.tgz#4f6d9a8578d6ea131776757accdb9d636f06a6a1"
+ integrity sha512-tAgoc++Eq+KL7g55+k108pn7nAob3GLWNEMbXhZIQyBcBNaE/o3+r4AEbae0A8bWvLRvArVsjeiuhMykGa04/A==
dependencies:
- "@smithy/property-provider" "^3.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
+ "@smithy/property-provider" "^3.1.2"
+ "@smithy/smithy-client" "^3.1.4"
+ "@smithy/types" "^3.2.0"
bowser "^2.11.0"
tslib "^2.6.2"
-"@smithy/util-defaults-mode-node@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.1.tgz#71242a6978240a6f559445d4cc26f2cce91c90e1"
- integrity sha512-TFk+Qb+elLc/MOhtSp+50fstyfZ6avQbgH2d96xUBpeScu+Al9elxv+UFAjaTHe0HQe5n+wem8ZLpXvU8lwV6Q==
- dependencies:
- "@smithy/config-resolver" "^3.0.0"
- "@smithy/credential-provider-imds" "^3.0.0"
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/property-provider" "^3.0.0"
- "@smithy/smithy-client" "^3.0.1"
- "@smithy/types" "^3.0.0"
+"@smithy/util-defaults-mode-node@^3.0.4":
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.6.tgz#be733b8c84bf02d2b17803e755f51655e5f99115"
+ integrity sha512-UNerul6/E8aiCyFTBHk+RSIZCo7m96d/N5K3FeO/wFeZP6oy5HAicLzxqa85Wjv7MkXSxSySX29L/LwTV/QMag==
+ dependencies:
+ "@smithy/config-resolver" "^3.0.3"
+ "@smithy/credential-provider-imds" "^3.1.2"
+ "@smithy/node-config-provider" "^3.1.2"
+ "@smithy/property-provider" "^3.1.2"
+ "@smithy/smithy-client" "^3.1.4"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/util-endpoints@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.0.tgz#5a16a723c1220f536a9b1b3e01787e69e77b6f12"
- integrity sha512-+exaXzEY3DNt2qtA2OtRNSDlVrE4p32j1JSsQkzA5AdP0YtJNjkYbYhJxkFmPYcjI1abuwopOZCwUmv682QkiQ==
+"@smithy/util-endpoints@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.3.tgz#480eee018b0bba6f53434444f11558d330b618d5"
+ integrity sha512-Dyi+pfLglDHSGsKSYunuUUSFM5V0tz7UDgv1Ex97yg+Xkn0Eb0rH0rcvl1n0MaJ11fac3HKDOH0DkALyQYCQag==
dependencies:
- "@smithy/node-config-provider" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/node-config-provider" "^3.1.2"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
"@smithy/util-hex-encoding@^3.0.0":
@@ -1871,31 +1895,31 @@
dependencies:
tslib "^2.6.2"
-"@smithy/util-middleware@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.0.tgz#64d775628b99a495ca83ce982f5c83aa45f1e894"
- integrity sha512-q5ITdOnV2pXHSVDnKWrwgSNTDBAMHLptFE07ua/5Ty5WJ11bvr0vk2a7agu7qRhrCFRQlno5u3CneU5EELK+DQ==
+"@smithy/util-middleware@^3.0.1", "@smithy/util-middleware@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.2.tgz#6daeb9db060552d851801cd7a0afd68769e2f98b"
+ integrity sha512-7WW5SD0XVrpfqljBYzS5rLR+EiDzl7wCVJZ9Lo6ChNFV4VYDk37Z1QI5w/LnYtU/QKnSawYoHRd7VjSyC8QRQQ==
dependencies:
- "@smithy/types" "^3.0.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/util-retry@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.0.tgz#8a0c47496aab74e1dfde4905d462ad636a8824bb"
- integrity sha512-nK99bvJiziGv/UOKJlDvFF45F00WgPLKVIGUfAK+mDhzVN2hb/S33uW2Tlhg5PVBoqY7tDVqL0zmu4OxAHgo9g==
+"@smithy/util-retry@^3.0.1", "@smithy/util-retry@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.2.tgz#073b4950f0379307e073a70afe086c52ec2b0329"
+ integrity sha512-HUVOb1k8p/IH6WFUjsLa+L9H1Zi/FAAB2CDOpWuffI1b2Txi6sknau8kNfC46Xrt39P1j2KDzCE1UlLa2eW5+A==
dependencies:
- "@smithy/service-error-classification" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/service-error-classification" "^3.0.2"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
-"@smithy/util-stream@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.0.1.tgz#3cf527bcd3fec82c231c38d47dd75f3364747edb"
- integrity sha512-7F7VNNhAsfMRA8I986YdOY5fE0/T1/ZjFF6OLsqkvQVNP3vZ/szYDfGCyphb7ioA09r32K/0qbSFfNFU68aSzA==
+"@smithy/util-stream@^3.0.2", "@smithy/util-stream@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.0.4.tgz#7a33a39754d8a0737f30687953d8dcc05810e907"
+ integrity sha512-CcMioiaOOsEVdb09pS7ux1ij7QcQ2jE/cE1+iin1DXMeRgAEQN/47m7Xztu7KFQuQsj0A5YwB2UN45q97CqKCg==
dependencies:
- "@smithy/fetch-http-handler" "^3.0.1"
- "@smithy/node-http-handler" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/fetch-http-handler" "^3.1.0"
+ "@smithy/node-http-handler" "^3.1.0"
+ "@smithy/types" "^3.2.0"
"@smithy/util-base64" "^3.0.0"
"@smithy/util-buffer-from" "^3.0.0"
"@smithy/util-hex-encoding" "^3.0.0"
@@ -1909,6 +1933,14 @@
dependencies:
tslib "^2.6.2"
+"@smithy/util-utf8@^2.0.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5"
+ integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==
+ dependencies:
+ "@smithy/util-buffer-from" "^2.2.0"
+ tslib "^2.6.2"
+
"@smithy/util-utf8@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz#1a6a823d47cbec1fd6933e5fc87df975286d9d6a"
@@ -1917,13 +1949,13 @@
"@smithy/util-buffer-from" "^3.0.0"
tslib "^2.6.2"
-"@smithy/util-waiter@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.0.0.tgz#26bcc5bbbf1de9360a7aeb3b3919926fc6afa2bc"
- integrity sha512-+fEXJxGDLCoqRKVSmo0auGxaqbiCo+8oph+4auefYjaNxjOLKSY2MxVQfRzo65PaZv4fr+5lWg+au7vSuJJ/zw==
+"@smithy/util-waiter@^3.0.1":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.0.tgz#7fa58fe91ddcf4a8bcf00c3d216f2cc14386da2a"
+ integrity sha512-5OVcC5ZcmmutY208ADY/l2eB4H4DVXs+hPUo/M1spF4/YEmF9DdLkfwBvohej2dIeVJayKY7hMlD0X8j3F3/Uw==
dependencies:
- "@smithy/abort-controller" "^3.0.0"
- "@smithy/types" "^3.0.0"
+ "@smithy/abort-controller" "^3.1.0"
+ "@smithy/types" "^3.2.0"
tslib "^2.6.2"
"@szmarczak/http-timer@^5.0.1":
@@ -2048,10 +2080,10 @@
dependencies:
"@types/node" "*"
-"@types/node@*", "@types/node@^20.12.12":
- version "20.12.12"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050"
- integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==
+"@types/node@*", "@types/node@^20.14.6":
+ version "20.14.7"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.7.tgz#342cada27f97509eb8eb2dbc003edf21ce8ab5a8"
+ integrity sha512-uTr2m2IbJJucF3KUxgnGOZvYbN0QgkGyWxG6973HCpMYFy2KfcgYuIwkJQMQkt1VbBMlvWRbpshFTLxnxCZjKQ==
dependencies:
undici-types "~5.26.4"
@@ -2066,9 +2098,9 @@
integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==
"@types/node@^18.15.3":
- version "18.19.33"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.33.tgz#98cd286a1b8a5e11aa06623210240bcc28e95c48"
- integrity sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==
+ version "18.19.38"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.38.tgz#cf4f04c1dab1fcaaa514ec789cf5125184c8c5d8"
+ integrity sha512-SApYXUF7si4JJ+lO2o6X60OPOnA6wPpbiB09GMCkQ+JAwpa9hxUVG8p7GzA08TKQn5OhzK57rj1wFj+185YsGg==
dependencies:
undici-types "~5.26.4"
@@ -2140,29 +2172,29 @@
integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==
"@typescript-eslint/eslint-plugin@^7.2.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz#07854a236f107bb45cbf4f62b89474cbea617f50"
- integrity sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.13.1.tgz#cdc521c8bca38b55585cf30db787fb2abad3f9fd"
+ integrity sha512-kZqi+WZQaZfPKnsflLJQCz6Ze9FFSMfXrrIOcyargekQxG37ES7DJNpJUE9Q/X5n3yTIP/WPutVNzgknQ7biLg==
dependencies:
"@eslint-community/regexpp" "^4.10.0"
- "@typescript-eslint/scope-manager" "7.10.0"
- "@typescript-eslint/type-utils" "7.10.0"
- "@typescript-eslint/utils" "7.10.0"
- "@typescript-eslint/visitor-keys" "7.10.0"
+ "@typescript-eslint/scope-manager" "7.13.1"
+ "@typescript-eslint/type-utils" "7.13.1"
+ "@typescript-eslint/utils" "7.13.1"
+ "@typescript-eslint/visitor-keys" "7.13.1"
graphemer "^1.4.0"
ignore "^5.3.1"
natural-compare "^1.4.0"
ts-api-utils "^1.3.0"
"@typescript-eslint/parser@^7.2.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.10.0.tgz#e6ac1cba7bc0400a4459e7eb5b23115bd71accfb"
- integrity sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==
- dependencies:
- "@typescript-eslint/scope-manager" "7.10.0"
- "@typescript-eslint/types" "7.10.0"
- "@typescript-eslint/typescript-estree" "7.10.0"
- "@typescript-eslint/visitor-keys" "7.10.0"
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.13.1.tgz#fac57811b3e519185f7259bac312291f7b9c4e72"
+ integrity sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A==
+ dependencies:
+ "@typescript-eslint/scope-manager" "7.13.1"
+ "@typescript-eslint/types" "7.13.1"
+ "@typescript-eslint/typescript-estree" "7.13.1"
+ "@typescript-eslint/visitor-keys" "7.13.1"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.62.0":
@@ -2181,21 +2213,21 @@
"@typescript-eslint/types" "6.21.0"
"@typescript-eslint/visitor-keys" "6.21.0"
-"@typescript-eslint/scope-manager@7.10.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz#054a27b1090199337a39cf755f83d9f2ce26546b"
- integrity sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==
+"@typescript-eslint/scope-manager@7.13.1":
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.13.1.tgz#c08041206904bf36f0e6997efdb0ca775e0c452e"
+ integrity sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==
dependencies:
- "@typescript-eslint/types" "7.10.0"
- "@typescript-eslint/visitor-keys" "7.10.0"
+ "@typescript-eslint/types" "7.13.1"
+ "@typescript-eslint/visitor-keys" "7.13.1"
-"@typescript-eslint/type-utils@7.10.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz#8a75accce851d0a331aa9331268ef64e9b300270"
- integrity sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==
+"@typescript-eslint/type-utils@7.13.1":
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.13.1.tgz#63bec3f1fb43cf0bc409cbdb88ef96d118ca8632"
+ integrity sha512-aWDbLu1s9bmgPGXSzNCxELu+0+HQOapV/y+60gPXafR8e2g1Bifxzevaa+4L2ytCWm+CHqpELq4CSoN9ELiwCg==
dependencies:
- "@typescript-eslint/typescript-estree" "7.10.0"
- "@typescript-eslint/utils" "7.10.0"
+ "@typescript-eslint/typescript-estree" "7.13.1"
+ "@typescript-eslint/utils" "7.13.1"
debug "^4.3.4"
ts-api-utils "^1.3.0"
@@ -2209,10 +2241,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d"
integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==
-"@typescript-eslint/types@7.10.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.10.0.tgz#da92309c97932a3a033762fd5faa8b067de84e3b"
- integrity sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==
+"@typescript-eslint/types@7.13.1":
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.13.1.tgz#787db283bd0b58751094c90d5b58bbf5e9fc9bd8"
+ integrity sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
@@ -2241,13 +2273,13 @@
semver "^7.5.4"
ts-api-utils "^1.0.1"
-"@typescript-eslint/typescript-estree@7.10.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz#6dcdc5de3149916a6a599fa89dde5c471b88b8bb"
- integrity sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==
+"@typescript-eslint/typescript-estree@7.13.1":
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.1.tgz#3412841b130e070db2f675e3d9b8cb1ae49e1c3f"
+ integrity sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==
dependencies:
- "@typescript-eslint/types" "7.10.0"
- "@typescript-eslint/visitor-keys" "7.10.0"
+ "@typescript-eslint/types" "7.13.1"
+ "@typescript-eslint/visitor-keys" "7.13.1"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
@@ -2255,15 +2287,15 @@
semver "^7.6.0"
ts-api-utils "^1.3.0"
-"@typescript-eslint/utils@7.10.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.10.0.tgz#8ee43e5608c9f439524eaaea8de5b358b15c51b3"
- integrity sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==
+"@typescript-eslint/utils@7.13.1":
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.13.1.tgz#611083379caa0d3a2c09d126c65065a3e4337ba2"
+ integrity sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
- "@typescript-eslint/scope-manager" "7.10.0"
- "@typescript-eslint/types" "7.10.0"
- "@typescript-eslint/typescript-estree" "7.10.0"
+ "@typescript-eslint/scope-manager" "7.13.1"
+ "@typescript-eslint/types" "7.13.1"
+ "@typescript-eslint/typescript-estree" "7.13.1"
"@typescript-eslint/utils@^5.10.0":
version "5.62.0"
@@ -2308,12 +2340,12 @@
"@typescript-eslint/types" "6.21.0"
eslint-visitor-keys "^3.4.1"
-"@typescript-eslint/visitor-keys@7.10.0":
- version "7.10.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz#2af2e91e73a75dd6b70b4486c48ae9d38a485a78"
- integrity sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==
+"@typescript-eslint/visitor-keys@7.13.1":
+ version "7.13.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.1.tgz#9c229a795a919db61f2d7f2337ef584ac05fbe96"
+ integrity sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==
dependencies:
- "@typescript-eslint/types" "7.10.0"
+ "@typescript-eslint/types" "7.13.1"
eslint-visitor-keys "^3.4.3"
"@ungap/promise-all-settled@1.1.2":
@@ -2339,14 +2371,16 @@ acorn-jsx@^5.3.2:
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn-walk@^8.1.1:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa"
- integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
+ version "8.3.3"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e"
+ integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==
+ dependencies:
+ acorn "^8.11.0"
-acorn@^8.4.1, acorn@^8.9.0:
- version "8.11.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
- integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+acorn@^8.11.0, acorn@^8.4.1, acorn@^8.9.0:
+ version "8.12.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.0.tgz#1627bfa2e058148036133b8d9b51a700663c294c"
+ integrity sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==
agent-base@6:
version "6.0.2"
@@ -2370,7 +2404,7 @@ aggregate-error@^3.0.0:
clean-stack "^2.0.0"
indent-string "^4.0.0"
-ajv@^6.12.3, ajv@^6.12.4, ajv@^8.12.0, ajv@^8.13.0:
+ajv@^6.12.3, ajv@^6.12.4, ajv@^8.12.0, ajv@^8.16.0:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -2421,6 +2455,11 @@ ansicolors@~0.3.2:
resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979"
integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==
+ansis@^3.1.1, ansis@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansis/-/ansis-3.2.0.tgz#0e050c5be94784f32ffdac4b84fccba064aeae4b"
+ integrity sha512-Yk3BkHH9U7oPyCN3gL5Tc7CpahG/+UFv/6UG03C311Vy9lzRmA5uoxDTpU9CO3rGHL6KzJz/pdDeXZCZ5Mu/Sg==
+
anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
@@ -2652,14 +2691,14 @@ browser-stdout@1.3.1:
integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
browserslist@^4.22.2:
- version "4.23.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
- integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
+ version "4.23.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96"
+ integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==
dependencies:
- caniuse-lite "^1.0.30001587"
- electron-to-chromium "^1.4.668"
+ caniuse-lite "^1.0.30001629"
+ electron-to-chromium "^1.4.796"
node-releases "^2.0.14"
- update-browserslist-db "^1.0.13"
+ update-browserslist-db "^1.0.16"
buffer-equal-constant-time@1.0.1:
version "1.0.1"
@@ -2744,10 +2783,10 @@ camelcase@^6.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001587:
- version "1.0.30001621"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz#4adcb443c8b9c8303e04498318f987616b8fea2e"
- integrity sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==
+caniuse-lite@^1.0.30001629:
+ version "1.0.30001636"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz#b15f52d2bdb95fad32c2f53c0b68032b85188a78"
+ integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==
capital-case@^1.0.4:
version "1.0.4"
@@ -2796,11 +2835,6 @@ chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385"
- integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
-
change-case@^4, change-case@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12"
@@ -3116,10 +3150,10 @@ dateformat@^4.6.3:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5"
integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==
-debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5:
+ version "4.3.5"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e"
+ integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==
dependencies:
ms "2.1.2"
@@ -3155,9 +3189,9 @@ decompress-response@^6.0.0:
mimic-response "^3.1.0"
deep-eql@^4.1.3:
- version "4.1.3"
- resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d"
- integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7"
+ integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==
dependencies:
type-detect "^4.0.0"
@@ -3290,10 +3324,10 @@ ejs@^3.1.10, ejs@^3.1.8:
dependencies:
jake "^10.8.5"
-electron-to-chromium@^1.4.668:
- version "1.4.782"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.782.tgz#726d7916f0f0a80524c2a2a19e5dceb60d35ce0e"
- integrity sha512-JUfU61e8tr+i5Y1FKXcKs+Xe+rJ+CEqm4cgv1kMihPE2EvYHmYyVr3Im/+1+Z5B29Be2EEGCZCwAc6Tazdl1Yg==
+electron-to-chromium@^1.4.796:
+ version "1.4.808"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.808.tgz#85b2f93a5e32c2949a1a4d39375851945c936835"
+ integrity sha512-0ItWyhPYnww2VOuCGF4s1LTfbrdAV2ajy/TN+ZTuhR23AHI6rWHCrBXJ/uxoXOvRRqw8qjYVrG81HFI7x/2wdQ==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -3488,11 +3522,11 @@ eslint-plugin-jest@^27.9.0:
"@typescript-eslint/utils" "^5.10.0"
eslint-plugin-sf-plugin@^1.17.4:
- version "1.18.4"
- resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.18.4.tgz#59a41e224d620e20d0fe0e3902c43208c2629037"
- integrity sha512-bPYmEh+5ARunhIfBoHc9UqrvPslRcYcloXJRKWqVkvU8tIBAiq2lqp6GWjVuUMPGjhvtUgICMolp6ozjO9wvmA==
+ version "1.18.8"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.18.8.tgz#e878185bf3553ab847d43f247489e4523e0c92b1"
+ integrity sha512-55bGhmI5fc7T81rESdItd3Gj2om3DN5m/tII4nblwNSXlhIqAw9zYPaWkdmCddq2N6W8UYVFGeRnw1QLYIC3/w==
dependencies:
- "@salesforce/core" "^7.3.8"
+ "@salesforce/core" "^8.0.1"
"@typescript-eslint/utils" "^6.17.0"
eslint-restricted-globals@~0.2.0:
@@ -3632,7 +3666,7 @@ external-editor@^3.0.3:
iconv-lite "^0.4.24"
tmp "^0.0.33"
-fast-copy@^3.0.0:
+fast-copy@^3.0.0, fast-copy@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-3.0.2.tgz#59c68f59ccbcac82050ba992e0d5c389097c9d35"
integrity sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==
@@ -4384,11 +4418,11 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.8.1:
- version "2.13.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
- integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1"
+ integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==
dependencies:
- hasown "^2.0.0"
+ hasown "^2.0.2"
is-data-view@^1.0.1:
version "1.0.1"
@@ -4829,6 +4863,11 @@ lie@~3.3.0:
dependencies:
immediate "~3.0.5"
+lilconfig@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb"
+ integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==
+
locate-path@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -5324,18 +5363,18 @@ object.values@^1.1.7:
es-object-atoms "^1.0.0"
oclif@^4.0.3:
- version "4.11.0"
- resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.11.0.tgz#fea86b00bfbeedd0fa48c369cbbf549ae513a522"
- integrity sha512-IzMejhLlcDPXWg+jyDCvUqb3taHJY6sAwDBVXQ920t/oV9FLQVZSHMEmlQb2p4ZXn45kIy/PujN7zF22zglpow==
+ version "4.13.8"
+ resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.13.8.tgz#31bc6857fd34da17df398fbc6c9fe3a5298da85b"
+ integrity sha512-A/e31wMSXgerxwqwb7MvPusPLGap9Hrgbmq6bBlVS+PnBvH/gxzDAMaUNI2Abcpi5KOVB/YyAaODtFHiIf3Szw==
dependencies:
- "@aws-sdk/client-cloudfront" "^3.574.0"
- "@aws-sdk/client-s3" "^3.577.0"
+ "@aws-sdk/client-cloudfront" "^3.592.0"
+ "@aws-sdk/client-s3" "^3.583.0"
"@inquirer/confirm" "^3.1.6"
- "@inquirer/input" "^2.1.1"
- "@inquirer/select" "^2.3.4"
- "@oclif/core" "^3.26.5"
- "@oclif/plugin-help" "^6.0.21"
- "@oclif/plugin-not-found" "^3.1.9"
+ "@inquirer/input" "^2.1.9"
+ "@inquirer/select" "^2.3.5"
+ "@oclif/core" "^4"
+ "@oclif/plugin-help" "^6.2.2"
+ "@oclif/plugin-not-found" "^3.2.3"
"@oclif/plugin-warn-if-update-available" "^3.0.19"
async-retry "^1.3.3"
chalk "^4"
@@ -5621,12 +5660,37 @@ pino-pretty@^10.2.3, pino-pretty@^10.3.1:
sonic-boom "^3.0.0"
strip-json-comments "^3.1.1"
+pino-pretty@^11.2.1:
+ version "11.2.1"
+ resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-11.2.1.tgz#de9a42ff8ea7b26da93506bb9e49d0b566c5ae96"
+ integrity sha512-O05NuD9tkRasFRWVaF/uHLOvoRDFD7tb5VMertr78rbsYFjYp48Vg3477EshVAF5eZaEw+OpDl/tu+B0R5o+7g==
+ dependencies:
+ colorette "^2.0.7"
+ dateformat "^4.6.3"
+ fast-copy "^3.0.2"
+ fast-safe-stringify "^2.1.1"
+ help-me "^5.0.0"
+ joycon "^3.1.1"
+ minimist "^1.2.6"
+ on-exit-leak-free "^2.1.0"
+ pino-abstract-transport "^1.0.0"
+ pump "^3.0.0"
+ readable-stream "^4.0.0"
+ secure-json-parse "^2.4.0"
+ sonic-boom "^4.0.1"
+ strip-json-comments "^3.1.1"
+
pino-std-serializers@^6.0.0:
version "6.2.2"
resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz#d9a9b5f2b9a402486a5fc4db0a737570a860aab3"
integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==
-pino@^8.16.0, pino@^8.19.0, pino@^8.21.0:
+pino-std-serializers@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz#7c625038b13718dbbd84ab446bd673dc52259e3b"
+ integrity sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==
+
+pino@^8.16.0, pino@^8.19.0:
version "8.21.0"
resolved "https://registry.yarnpkg.com/pino/-/pino-8.21.0.tgz#e1207f3675a2722940d62da79a7a55a98409f00d"
integrity sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==
@@ -5643,6 +5707,23 @@ pino@^8.16.0, pino@^8.19.0, pino@^8.21.0:
sonic-boom "^3.7.0"
thread-stream "^2.6.0"
+pino@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/pino/-/pino-9.2.0.tgz#e77a9516f3a3e5550d9b76d9f65ac6118ef02bdd"
+ integrity sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==
+ dependencies:
+ atomic-sleep "^1.0.0"
+ fast-redact "^3.1.1"
+ on-exit-leak-free "^2.1.0"
+ pino-abstract-transport "^1.2.0"
+ pino-std-serializers "^7.0.0"
+ process-warning "^3.0.0"
+ quick-format-unescaped "^4.0.3"
+ real-require "^0.2.0"
+ safe-stable-stringify "^2.3.1"
+ sonic-boom "^4.0.1"
+ thread-stream "^3.0.0"
+
pkg-dir@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
@@ -6005,9 +6086,9 @@ samsam@1.3.0:
integrity sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==
sax@>=0.6.0, sax@^1.2.4:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0"
- integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
+ integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
secure-json-parse@^2.4.0:
version "2.7.0"
@@ -6206,6 +6287,13 @@ sonic-boom@^3.0.0, sonic-boom@^3.7.0:
dependencies:
atomic-sleep "^1.0.0"
+sonic-boom@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-4.0.1.tgz#515b7cef2c9290cb362c4536388ddeece07aed30"
+ integrity sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==
+ dependencies:
+ atomic-sleep "^1.0.0"
+
sort-object-keys@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45"
@@ -6361,7 +6449,7 @@ strnum@^1.0.5:
resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db"
integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==
-supports-color@8.1.1, supports-color@^8.1.1:
+supports-color@8.1.1, supports-color@^8, supports-color@^8.1.1:
version "8.1.1"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
@@ -6416,6 +6504,13 @@ thread-stream@^2.6.0:
dependencies:
real-require "^0.2.0"
+thread-stream@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-3.1.0.tgz#4b2ef252a7c215064507d4ef70c05a5e2d34c4f1"
+ integrity sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==
+ dependencies:
+ real-require "^0.2.0"
+
through@^2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
@@ -6506,7 +6601,7 @@ ts-retry-promise@^0.7.1:
resolved "https://registry.yarnpkg.com/ts-retry-promise/-/ts-retry-promise-0.7.1.tgz#176d6eee6415f07b6c7c286d3657355e284a6906"
integrity sha512-NhHOCZ2AQORvH42hOPO5UZxShlcuiRtm7P2jIq2L2RY3PBxw2mLnUsEdHrIslVBFya1v5aZmrR55lWkzo13LrQ==
-ts-retry-promise@^0.8.0:
+ts-retry-promise@^0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/ts-retry-promise/-/ts-retry-promise-0.8.1.tgz#ba90eb07cb03677fcbf78fe38e94c9183927e154"
integrity sha512-+AHPUmAhr5bSRRK5CurE9kNH8gZlEHnCgusZ0zy2bjfatUBDX0h6vGQjiT0YrGwSDwRZmU+bapeX6mj55FOPvg==
@@ -6521,15 +6616,15 @@ tsconfig-paths@^3.15.0:
minimist "^1.2.6"
strip-bom "^3.0.0"
-tslib@^1.11.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
+tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-tslib@^2, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.5.0, tslib@^2.6.1, tslib@^2.6.2:
- version "2.6.2"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
- integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
+tslib@^2, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.2, tslib@^2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0"
+ integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==
tsutils@^3.21.0:
version "3.21.0"
@@ -6670,7 +6765,7 @@ untildify@^4.0.0:
resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
-update-browserslist-db@^1.0.13:
+update-browserslist-db@^1.0.16:
version "1.0.16"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356"
integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==