mobbdev 1.4.19 → 1.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/args/commands/upload_ai_blame.mjs +21 -1
- package/dist/index.mjs +22 -2
- package/package.json +13 -13
|
@@ -291,6 +291,7 @@ var init_client_generates = __esm({
|
|
|
291
291
|
IssueType_Enum2["InsufficientLogging"] = "INSUFFICIENT_LOGGING";
|
|
292
292
|
IssueType_Enum2["J2EeGetConnection"] = "J2EE_GET_CONNECTION";
|
|
293
293
|
IssueType_Enum2["JqueryDeprecatedSymbols"] = "JQUERY_DEPRECATED_SYMBOLS";
|
|
294
|
+
IssueType_Enum2["JwtDecodeWithoutVerify"] = "JWT_DECODE_WITHOUT_VERIFY";
|
|
294
295
|
IssueType_Enum2["LeftoverDebugCode"] = "LEFTOVER_DEBUG_CODE";
|
|
295
296
|
IssueType_Enum2["LocaleDependentComparison"] = "LOCALE_DEPENDENT_COMPARISON";
|
|
296
297
|
IssueType_Enum2["LogForging"] = "LOG_FORGING";
|
|
@@ -353,6 +354,7 @@ var init_client_generates = __esm({
|
|
|
353
354
|
IssueType_Enum2["UnencryptedAwsSqsQueue"] = "UNENCRYPTED_AWS_SQS_QUEUE";
|
|
354
355
|
IssueType_Enum2["UnnecessaryImports"] = "UNNECESSARY_IMPORTS";
|
|
355
356
|
IssueType_Enum2["UnsafeDeserialization"] = "UNSAFE_DESERIALIZATION";
|
|
357
|
+
IssueType_Enum2["UnsafeReflection"] = "UNSAFE_REFLECTION";
|
|
356
358
|
IssueType_Enum2["UnsafeTargetBlank"] = "UNSAFE_TARGET_BLANK";
|
|
357
359
|
IssueType_Enum2["UnsafeWebThread"] = "UNSAFE_WEB_THREAD";
|
|
358
360
|
IssueType_Enum2["UnvalidatedPublicMethodArgument"] = "UNVALIDATED_PUBLIC_METHOD_ARGUMENT";
|
|
@@ -1778,6 +1780,7 @@ var init_getIssueType = __esm({
|
|
|
1778
1780
|
["TRUST_BOUNDARY_VIOLATION" /* TrustBoundaryViolation */]: "Trust Boundary Violation",
|
|
1779
1781
|
["NULL_DEREFERENCE" /* NullDereference */]: "Null Dereference",
|
|
1780
1782
|
["UNSAFE_DESERIALIZATION" /* UnsafeDeserialization */]: "Unsafe deserialization",
|
|
1783
|
+
["UNSAFE_REFLECTION" /* UnsafeReflection */]: "Unsafe Reflection",
|
|
1781
1784
|
["INSECURE_BINDER_CONFIGURATION" /* InsecureBinderConfiguration */]: "Insecure Binder Configuration",
|
|
1782
1785
|
["UNSAFE_TARGET_BLANK" /* UnsafeTargetBlank */]: "Unsafe use of target blank",
|
|
1783
1786
|
["IFRAME_WITHOUT_SANDBOX" /* IframeWithoutSandbox */]: "Client use of iframe without sandbox",
|
|
@@ -1892,7 +1895,8 @@ var init_getIssueType = __esm({
|
|
|
1892
1895
|
["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: "Often Misused: Boolean.getBoolean()",
|
|
1893
1896
|
["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: "AWS SQS Queue Unencrypted",
|
|
1894
1897
|
["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: "Insecure Deserialization",
|
|
1895
|
-
["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: "AWS DynamoDB Point-in-Time Recovery Disabled"
|
|
1898
|
+
["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: "AWS DynamoDB Point-in-Time Recovery Disabled",
|
|
1899
|
+
["JWT_DECODE_WITHOUT_VERIFY" /* JwtDecodeWithoutVerify */]: "JWT Decoded Without Signature Verification"
|
|
1896
1900
|
};
|
|
1897
1901
|
issueTypeZ = z5.nativeEnum(IssueType_Enum);
|
|
1898
1902
|
getIssueTypeFriendlyString = (issueType) => {
|
|
@@ -2049,6 +2053,7 @@ var init_types = __esm({
|
|
|
2049
2053
|
expirationOn: z7.string().nullable(),
|
|
2050
2054
|
state: z7.nativeEnum(Fix_Report_State_Enum),
|
|
2051
2055
|
failReason: z7.string().nullable(),
|
|
2056
|
+
candidateToRerun: z7.boolean(),
|
|
2052
2057
|
fixes: z7.array(
|
|
2053
2058
|
z7.object({
|
|
2054
2059
|
id: z7.string().uuid(),
|
|
@@ -5134,6 +5139,7 @@ var fixDetailsData = {
|
|
|
5134
5139
|
["INCORRECT_INTEGER_CONVERSION" /* IncorrectIntegerConversion */]: void 0,
|
|
5135
5140
|
["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: void 0,
|
|
5136
5141
|
["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: void 0,
|
|
5142
|
+
["UNSAFE_REFLECTION" /* UnsafeReflection */]: void 0,
|
|
5137
5143
|
["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: {
|
|
5138
5144
|
issueDescription: "AWS SQS queue contents are unencrypted; data could be read if the queue is compromised.",
|
|
5139
5145
|
fixInstructions: "Enable server-side encryption by setting sqs_managed_sse_enabled = true, or supply a KMS key via kms_master_key_id."
|
|
@@ -5142,6 +5148,10 @@ var fixDetailsData = {
|
|
|
5142
5148
|
["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: {
|
|
5143
5149
|
issueDescription: "AWS DynamoDB table has point-in-time recovery disabled; accidental or malicious writes/deletes cannot be rolled back from a known-good snapshot.",
|
|
5144
5150
|
fixInstructions: "Enable point-in-time recovery by adding `point_in_time_recovery { enabled = true }` to the aws_dynamodb_table resource."
|
|
5151
|
+
},
|
|
5152
|
+
["JWT_DECODE_WITHOUT_VERIFY" /* JwtDecodeWithoutVerify */]: {
|
|
5153
|
+
issueDescription: "Decoding a JWT with `JWT.decode()` only base64-decodes the token without checking its signature, so an attacker can forge a token with arbitrary claims (identity, roles, expiration) and have it trusted. CWE-345, OWASP A08:2021 Software and Data Integrity Failures.",
|
|
5154
|
+
fixInstructions: "Verify the signature before trusting any claims: build a verifier with the expected algorithm and secret/key (e.g. `JWT.require(Algorithm.HMAC256(secret)).build().verify(token)`) instead of calling `JWT.decode(token)`. After merging, confirm the verifier is configured with the same algorithm and secret/key used to sign your tokens \u2014 an incorrect or placeholder secret will make verification throw `JWTVerificationException` at runtime and reject legitimate tokens."
|
|
5145
5155
|
}
|
|
5146
5156
|
};
|
|
5147
5157
|
|
|
@@ -6172,6 +6182,15 @@ var uncheckedLoopCondition = {
|
|
|
6172
6182
|
}
|
|
6173
6183
|
};
|
|
6174
6184
|
|
|
6185
|
+
// src/features/analysis/scm/shared/src/storedQuestionData/java/unsafeReflection.ts
|
|
6186
|
+
var unsafeReflection = {
|
|
6187
|
+
classAllowlist: {
|
|
6188
|
+
content: () => "Allowed class names for reflection",
|
|
6189
|
+
description: () => `Provide a comma-separated list of fully-qualified class names that are permitted to be loaded via reflection (e.g. \`com.example.MyClass\`). Any other class name will be rejected at runtime.`,
|
|
6190
|
+
guidance: () => ""
|
|
6191
|
+
}
|
|
6192
|
+
};
|
|
6193
|
+
|
|
6175
6194
|
// src/features/analysis/scm/shared/src/storedQuestionData/java/useOfSystemOutputStream.ts
|
|
6176
6195
|
var useOfSystemOutputStream2 = {
|
|
6177
6196
|
noLoggerAction: {
|
|
@@ -6257,6 +6276,7 @@ var vulnerabilities13 = {
|
|
|
6257
6276
|
["UNCHECKED_LOOP_CONDITION" /* UncheckedLoopCondition */]: uncheckedLoopCondition,
|
|
6258
6277
|
["INSECURE_COOKIE" /* InsecureCookie */]: insecureCookie2,
|
|
6259
6278
|
["TRUST_BOUNDARY_VIOLATION" /* TrustBoundaryViolation */]: trustBoundaryViolation2,
|
|
6279
|
+
["UNSAFE_REFLECTION" /* UnsafeReflection */]: unsafeReflection,
|
|
6260
6280
|
["J2EE_GET_CONNECTION" /* J2EeGetConnection */]: j2eeGetConnection2,
|
|
6261
6281
|
["LEFTOVER_DEBUG_CODE" /* LeftoverDebugCode */]: leftoverDebugCode,
|
|
6262
6282
|
["ERRONEOUS_STRING_COMPARE" /* ErroneousStringCompare */]: erroneousStringCompare,
|
package/dist/index.mjs
CHANGED
|
@@ -291,6 +291,7 @@ var init_client_generates = __esm({
|
|
|
291
291
|
IssueType_Enum2["InsufficientLogging"] = "INSUFFICIENT_LOGGING";
|
|
292
292
|
IssueType_Enum2["J2EeGetConnection"] = "J2EE_GET_CONNECTION";
|
|
293
293
|
IssueType_Enum2["JqueryDeprecatedSymbols"] = "JQUERY_DEPRECATED_SYMBOLS";
|
|
294
|
+
IssueType_Enum2["JwtDecodeWithoutVerify"] = "JWT_DECODE_WITHOUT_VERIFY";
|
|
294
295
|
IssueType_Enum2["LeftoverDebugCode"] = "LEFTOVER_DEBUG_CODE";
|
|
295
296
|
IssueType_Enum2["LocaleDependentComparison"] = "LOCALE_DEPENDENT_COMPARISON";
|
|
296
297
|
IssueType_Enum2["LogForging"] = "LOG_FORGING";
|
|
@@ -353,6 +354,7 @@ var init_client_generates = __esm({
|
|
|
353
354
|
IssueType_Enum2["UnencryptedAwsSqsQueue"] = "UNENCRYPTED_AWS_SQS_QUEUE";
|
|
354
355
|
IssueType_Enum2["UnnecessaryImports"] = "UNNECESSARY_IMPORTS";
|
|
355
356
|
IssueType_Enum2["UnsafeDeserialization"] = "UNSAFE_DESERIALIZATION";
|
|
357
|
+
IssueType_Enum2["UnsafeReflection"] = "UNSAFE_REFLECTION";
|
|
356
358
|
IssueType_Enum2["UnsafeTargetBlank"] = "UNSAFE_TARGET_BLANK";
|
|
357
359
|
IssueType_Enum2["UnsafeWebThread"] = "UNSAFE_WEB_THREAD";
|
|
358
360
|
IssueType_Enum2["UnvalidatedPublicMethodArgument"] = "UNVALIDATED_PUBLIC_METHOD_ARGUMENT";
|
|
@@ -1444,6 +1446,7 @@ var init_getIssueType = __esm({
|
|
|
1444
1446
|
["TRUST_BOUNDARY_VIOLATION" /* TrustBoundaryViolation */]: "Trust Boundary Violation",
|
|
1445
1447
|
["NULL_DEREFERENCE" /* NullDereference */]: "Null Dereference",
|
|
1446
1448
|
["UNSAFE_DESERIALIZATION" /* UnsafeDeserialization */]: "Unsafe deserialization",
|
|
1449
|
+
["UNSAFE_REFLECTION" /* UnsafeReflection */]: "Unsafe Reflection",
|
|
1447
1450
|
["INSECURE_BINDER_CONFIGURATION" /* InsecureBinderConfiguration */]: "Insecure Binder Configuration",
|
|
1448
1451
|
["UNSAFE_TARGET_BLANK" /* UnsafeTargetBlank */]: "Unsafe use of target blank",
|
|
1449
1452
|
["IFRAME_WITHOUT_SANDBOX" /* IframeWithoutSandbox */]: "Client use of iframe without sandbox",
|
|
@@ -1558,7 +1561,8 @@ var init_getIssueType = __esm({
|
|
|
1558
1561
|
["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: "Often Misused: Boolean.getBoolean()",
|
|
1559
1562
|
["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: "AWS SQS Queue Unencrypted",
|
|
1560
1563
|
["INSECURE_DESERIALIZATION" /* InsecureDeserialization */]: "Insecure Deserialization",
|
|
1561
|
-
["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: "AWS DynamoDB Point-in-Time Recovery Disabled"
|
|
1564
|
+
["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: "AWS DynamoDB Point-in-Time Recovery Disabled",
|
|
1565
|
+
["JWT_DECODE_WITHOUT_VERIFY" /* JwtDecodeWithoutVerify */]: "JWT Decoded Without Signature Verification"
|
|
1562
1566
|
};
|
|
1563
1567
|
issueTypeZ = z.nativeEnum(IssueType_Enum);
|
|
1564
1568
|
getIssueTypeFriendlyString = (issueType) => {
|
|
@@ -2094,6 +2098,7 @@ var init_types = __esm({
|
|
|
2094
2098
|
expirationOn: z11.string().nullable(),
|
|
2095
2099
|
state: z11.nativeEnum(Fix_Report_State_Enum),
|
|
2096
2100
|
failReason: z11.string().nullable(),
|
|
2101
|
+
candidateToRerun: z11.boolean(),
|
|
2097
2102
|
fixes: z11.array(
|
|
2098
2103
|
z11.object({
|
|
2099
2104
|
id: z11.string().uuid(),
|
|
@@ -4838,6 +4843,7 @@ var fixDetailsData = {
|
|
|
4838
4843
|
["INCORRECT_INTEGER_CONVERSION" /* IncorrectIntegerConversion */]: void 0,
|
|
4839
4844
|
["IMPROPER_CERTIFICATE_VALIDATION" /* ImproperCertificateValidation */]: void 0,
|
|
4840
4845
|
["OFTEN_MISUSED_BOOLEAN_GET_BOOLEAN" /* OftenMisusedBooleanGetBoolean */]: void 0,
|
|
4846
|
+
["UNSAFE_REFLECTION" /* UnsafeReflection */]: void 0,
|
|
4841
4847
|
["UNENCRYPTED_AWS_SQS_QUEUE" /* UnencryptedAwsSqsQueue */]: {
|
|
4842
4848
|
issueDescription: "AWS SQS queue contents are unencrypted; data could be read if the queue is compromised.",
|
|
4843
4849
|
fixInstructions: "Enable server-side encryption by setting sqs_managed_sse_enabled = true, or supply a KMS key via kms_master_key_id."
|
|
@@ -4846,6 +4852,10 @@ var fixDetailsData = {
|
|
|
4846
4852
|
["AWS_DYNAMODB_POINT_IN_TIME_RECOVERY_DISABLED" /* AwsDynamodbPointInTimeRecoveryDisabled */]: {
|
|
4847
4853
|
issueDescription: "AWS DynamoDB table has point-in-time recovery disabled; accidental or malicious writes/deletes cannot be rolled back from a known-good snapshot.",
|
|
4848
4854
|
fixInstructions: "Enable point-in-time recovery by adding `point_in_time_recovery { enabled = true }` to the aws_dynamodb_table resource."
|
|
4855
|
+
},
|
|
4856
|
+
["JWT_DECODE_WITHOUT_VERIFY" /* JwtDecodeWithoutVerify */]: {
|
|
4857
|
+
issueDescription: "Decoding a JWT with `JWT.decode()` only base64-decodes the token without checking its signature, so an attacker can forge a token with arbitrary claims (identity, roles, expiration) and have it trusted. CWE-345, OWASP A08:2021 Software and Data Integrity Failures.",
|
|
4858
|
+
fixInstructions: "Verify the signature before trusting any claims: build a verifier with the expected algorithm and secret/key (e.g. `JWT.require(Algorithm.HMAC256(secret)).build().verify(token)`) instead of calling `JWT.decode(token)`. After merging, confirm the verifier is configured with the same algorithm and secret/key used to sign your tokens \u2014 an incorrect or placeholder secret will make verification throw `JWTVerificationException` at runtime and reject legitimate tokens."
|
|
4849
4859
|
}
|
|
4850
4860
|
};
|
|
4851
4861
|
|
|
@@ -5964,6 +5974,15 @@ var uncheckedLoopCondition = {
|
|
|
5964
5974
|
}
|
|
5965
5975
|
};
|
|
5966
5976
|
|
|
5977
|
+
// src/features/analysis/scm/shared/src/storedQuestionData/java/unsafeReflection.ts
|
|
5978
|
+
var unsafeReflection = {
|
|
5979
|
+
classAllowlist: {
|
|
5980
|
+
content: () => "Allowed class names for reflection",
|
|
5981
|
+
description: () => `Provide a comma-separated list of fully-qualified class names that are permitted to be loaded via reflection (e.g. \`com.example.MyClass\`). Any other class name will be rejected at runtime.`,
|
|
5982
|
+
guidance: () => ""
|
|
5983
|
+
}
|
|
5984
|
+
};
|
|
5985
|
+
|
|
5967
5986
|
// src/features/analysis/scm/shared/src/storedQuestionData/java/useOfSystemOutputStream.ts
|
|
5968
5987
|
var useOfSystemOutputStream2 = {
|
|
5969
5988
|
noLoggerAction: {
|
|
@@ -6049,6 +6068,7 @@ var vulnerabilities13 = {
|
|
|
6049
6068
|
["UNCHECKED_LOOP_CONDITION" /* UncheckedLoopCondition */]: uncheckedLoopCondition,
|
|
6050
6069
|
["INSECURE_COOKIE" /* InsecureCookie */]: insecureCookie2,
|
|
6051
6070
|
["TRUST_BOUNDARY_VIOLATION" /* TrustBoundaryViolation */]: trustBoundaryViolation2,
|
|
6071
|
+
["UNSAFE_REFLECTION" /* UnsafeReflection */]: unsafeReflection,
|
|
6052
6072
|
["J2EE_GET_CONNECTION" /* J2EeGetConnection */]: j2eeGetConnection2,
|
|
6053
6073
|
["LEFTOVER_DEBUG_CODE" /* LeftoverDebugCode */]: leftoverDebugCode,
|
|
6054
6074
|
["ERRONEOUS_STRING_COMPARE" /* ErroneousStringCompare */]: erroneousStringCompare,
|
|
@@ -19448,7 +19468,7 @@ function createLogger(config2) {
|
|
|
19448
19468
|
|
|
19449
19469
|
// src/features/claude_code/hook_logger.ts
|
|
19450
19470
|
var DD_RUM_TOKEN = true ? "pubf59c0182545bfb4c299175119f1abf9b" : "";
|
|
19451
|
-
var CLI_VERSION = true ? "1.4.
|
|
19471
|
+
var CLI_VERSION = true ? "1.4.21" : "unknown";
|
|
19452
19472
|
var NAMESPACE = "mobbdev-claude-code-hook-logs";
|
|
19453
19473
|
var claudeCodeVersion;
|
|
19454
19474
|
function buildDdTags() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobbdev",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.21",
|
|
4
4
|
"description": "Automated secure code remediation tool",
|
|
5
5
|
"repository": "git+https://github.com/mobb-dev/bugsy.git",
|
|
6
6
|
"main": "dist/index.mjs",
|
|
@@ -55,14 +55,14 @@
|
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@gitbeaker/requester-utils": "43.8.0",
|
|
57
57
|
"@gitbeaker/rest": "43.8.0",
|
|
58
|
-
"@grpc/grpc-js": "1.14.
|
|
58
|
+
"@grpc/grpc-js": "1.14.4",
|
|
59
59
|
"@grpc/proto-loader": "0.8.0",
|
|
60
60
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
61
61
|
"@octokit/core": "5.2.0",
|
|
62
62
|
"@octokit/request-error": "5.1.1",
|
|
63
63
|
"@openredaction/openredaction": "1.0.4",
|
|
64
64
|
"adm-zip": "0.5.17",
|
|
65
|
-
"axios": "1.16.
|
|
65
|
+
"axios": "1.16.1",
|
|
66
66
|
"azure-devops-node-api": "15.1.2",
|
|
67
67
|
"bitbucket": "2.12.0",
|
|
68
68
|
"chalk": "5.6.2",
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"debug": "4.4.3",
|
|
73
73
|
"dotenv": "16.6.1",
|
|
74
74
|
"extract-zip": "2.0.1",
|
|
75
|
-
"fs-extra": "11.3.
|
|
75
|
+
"fs-extra": "11.3.5",
|
|
76
76
|
"globby": "14.1.0",
|
|
77
|
-
"graphql": "16.
|
|
77
|
+
"graphql": "16.14.0",
|
|
78
78
|
"graphql-request": "6.1.0",
|
|
79
79
|
"graphql-ws": "5.16.2",
|
|
80
80
|
"hash-wasm": "4.12.0",
|
|
@@ -96,16 +96,16 @@
|
|
|
96
96
|
"parse-diff": "0.11.1",
|
|
97
97
|
"pino": "9.7.0",
|
|
98
98
|
"sax": "1.6.0",
|
|
99
|
-
"semver": "7.
|
|
100
|
-
"shell-quote": "1.8.
|
|
99
|
+
"semver": "7.8.1",
|
|
100
|
+
"shell-quote": "1.8.4",
|
|
101
101
|
"simple-git": "3.36.0",
|
|
102
|
-
"snyk": "1.
|
|
103
|
-
"tar": "7.5.
|
|
104
|
-
"tmp": "0.2.
|
|
102
|
+
"snyk": "1.1305.0",
|
|
103
|
+
"tar": "7.5.15",
|
|
104
|
+
"tmp": "0.2.6",
|
|
105
105
|
"tmp-promise": "3.0.3",
|
|
106
106
|
"undici": "6.24.0",
|
|
107
107
|
"uuid": "11.1.1",
|
|
108
|
-
"ws": "8.20.
|
|
108
|
+
"ws": "8.20.1",
|
|
109
109
|
"xml2js": "0.6.2",
|
|
110
110
|
"yargs": "17.7.2",
|
|
111
111
|
"zod": "3.25.76"
|
|
@@ -141,10 +141,10 @@
|
|
|
141
141
|
"eslint": "8.57.0",
|
|
142
142
|
"eslint-plugin-graphql": "4.0.0",
|
|
143
143
|
"eslint-plugin-import": "2.32.0",
|
|
144
|
-
"eslint-plugin-prettier": "5.5.
|
|
144
|
+
"eslint-plugin-prettier": "5.5.6",
|
|
145
145
|
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
146
146
|
"msw": "2.10.5",
|
|
147
|
-
"nock": "14.0.
|
|
147
|
+
"nock": "14.0.15",
|
|
148
148
|
"prettier": "3.8.3",
|
|
149
149
|
"tsup": "8.5.1",
|
|
150
150
|
"typescript": "5.9.3",
|