Skip to content

Commit 93ec04c

Browse files
gregbergeclaude
andauthored
chore(deps): upgrade dependencies (#2346)
* chore(deps): upgrade dependencies Bump dependencies across the workspace and catalog (eslint, undici, AWS SDK, Sentry, Tiptap, Storybook, Vite, Vitest, and others). Restore `catalog:` specifiers that the upgrade had inlined to pinned versions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: fix format * fix(backend): repair tests and types broken by dependency upgrade - Storage tests: drain the S3 GetObject response body and destroy the S3 clients so leaked/aborted keep-alive sockets no longer surface as an uncaught "aborted" (ECONNRESET) error that failed the unit run. - Stripe: bump the pinned apiVersion to 2026-06-24.dahlia to match the stripe@22.3.0 SDK types. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(deps): pin playwright and vitest eslint plugin to avoid regressions Two patch bumps from the upgrade broke CI, so pin each to the last known-good version (still used on main): - @playwright/test 1.61.1 regressed its ESM loader: it forces the "commonjs" format for require-context loads while the transform still emits ESM, so loading the backend TS source from the e2e suite throws "Cannot use import statement outside a module". Pin to 1.61.0. - @vitest/eslint-plugin 1.6.21 regressed vitest/valid-expect, flagging the standard `expect.any()` asymmetric matcher as an unknown modifier across the e2e tests. Pin to 1.6.20. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent dff109c commit 93ec04c

25 files changed

Lines changed: 2106 additions & 2248 deletions

File tree

apps/backend/package.json

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@
3333
"@argos/schemas": "workspace:*",
3434
"@argos/util": "workspace:*",
3535
"@as-integrations/express5": "^1.1.2",
36-
"@aws-sdk/client-dynamodb": "^3.1073.0",
37-
"@aws-sdk/client-s3": "^3.1073.0",
38-
"@aws-sdk/lib-dynamodb": "^3.1073.0",
36+
"@aws-sdk/client-dynamodb": "^3.1081.0",
37+
"@aws-sdk/client-s3": "^3.1081.0",
38+
"@aws-sdk/lib-dynamodb": "^3.1081.0",
3939
"@aws-sdk/lib-storage": "^3.1073.0",
40-
"@aws-sdk/s3-presigned-post": "^3.1073.0",
41-
"@aws-sdk/s3-request-presigner": "^3.1073.0",
40+
"@aws-sdk/s3-presigned-post": "^3.1081.0",
41+
"@aws-sdk/s3-request-presigner": "^3.1081.0",
4242
"@gitbeaker/rest": "^43.8.0",
43-
"@graphql-tools/schema": "^10.0.33",
43+
"@graphql-tools/schema": "^10.0.35",
4444
"@octokit/auth-app": "^8.2.0",
4545
"@octokit/core": "^7.0.6",
4646
"@octokit/openapi-types": "^27.0.0",
@@ -49,17 +49,17 @@
4949
"@octokit/rest": "^22.0.1",
5050
"@octokit/webhooks": "^14.2.0",
5151
"@octokit/webhooks-types": "^7.6.1",
52-
"@sentry/node": "^10.59.0",
52+
"@sentry/node": "^10.64.0",
5353
"@slack/bolt": "^4.7.3",
54-
"@tiptap/core": "^3.27.1",
55-
"@tiptap/extension-mention": "^3.27.1",
56-
"@tiptap/html": "^3.27.1",
57-
"@tiptap/pm": "^3.27.1",
58-
"@tiptap/starter-kit": "^3.27.1",
54+
"@tiptap/core": "^3.27.3",
55+
"@tiptap/extension-mention": "^3.27.3",
56+
"@tiptap/html": "^3.27.3",
57+
"@tiptap/pm": "^3.27.3",
58+
"@tiptap/starter-kit": "^3.27.3",
5959
"ajv": "^8.20.0",
6060
"amqplib": "^2.0.1",
6161
"auth-header": "^1.0.0",
62-
"axios": "^1.18.0",
62+
"axios": "^1.18.1",
6363
"clsx": "^2.1.1",
6464
"convict": "^6.2.5",
6565
"cookies": "^0.9.1",
@@ -69,24 +69,24 @@
6969
"dotenv": "^17.4.2",
7070
"express": "catalog:",
7171
"express-rate-limit": "^8.5.2",
72-
"google-auth-library": "^10.7.0",
73-
"graphql": "^16.14.2",
72+
"google-auth-library": "^10.9.0",
73+
"graphql": "16.14.2",
7474
"graphql-scalars": "^1.25.0",
7575
"graphql-tag": "^2.12.7",
7676
"graphql-ws": "^6.0.8",
7777
"happy-dom": "^20.10.6",
7878
"helmet": "^8.2.0",
7979
"jsonwebtoken": "^9.0.3",
80-
"knex": "^3.2.10",
80+
"knex": "^3.3.0",
8181
"lodash-es": "catalog:",
82-
"marked": "^15.0.0",
82+
"marked": "^18.0.5",
8383
"mime": "^4.1.0",
8484
"minimatch": "catalog:",
8585
"moment": "^2.30.1",
86-
"node-cron": "^4.4.1",
86+
"node-cron": "^4.6.0",
8787
"objection": "^3.1.5",
8888
"odiff-bin": "^4.3.8",
89-
"ora": "^9.4.0",
89+
"ora": "^9.4.1",
9090
"p-memoize": "^8.0.0",
9191
"p-retry": "^8.0.0",
9292
"p-timeout": "^7.0.1",
@@ -96,17 +96,17 @@
9696
"pino-http": "^11.0.0",
9797
"rate-limit-redis": "^5.0.0",
9898
"react": "catalog:",
99-
"react-email": "^6.6.3",
100-
"redis": "^6.0.0",
101-
"resend": "^6.14.0",
99+
"react-email": "^6.6.8",
100+
"redis": "^6.1.0",
101+
"resend": "^6.17.1",
102102
"samlify": "^2.13.1",
103103
"semver": "^7.8.5",
104-
"sharp": "^0.35.2",
104+
"sharp": "^0.35.3",
105105
"sqids": "^0.3.0",
106-
"stripe": "^22.2.2",
106+
"stripe": "^22.3.0",
107107
"tmp": "^0.2.7",
108108
"undici": "catalog:",
109-
"ws": "^8.21.0",
109+
"ws": "^8.20.1",
110110
"yaml": "^2.9.0",
111111
"zod": "catalog:",
112112
"zod-openapi": "^6.0.0"
@@ -133,7 +133,7 @@
133133
"eslint": "catalog:",
134134
"factory-girl-ts": "^2.3.1",
135135
"moment": "^2.30.1",
136-
"msw": "^2.14.6",
136+
"msw": "^2.14.7",
137137
"pino-pretty": "^13.1.3",
138138
"supertest": "^7.2.2"
139139
},

apps/backend/src/api/handlers/createDeployment.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,7 @@ async function writeDeploymentFiles(
202202

203203
requests =
204204
(result.UnprocessedItems?.[tableName] as
205-
| typeof requests
206-
| undefined) ?? [];
205+
typeof requests | undefined) ?? [];
207206
if (requests.length > 0) {
208207
throw new Error(
209208
`DynamoDB returned ${requests.length} unprocessed deployment files`,

apps/backend/src/api/handlers/finalizeDeployment.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ async function getDeploymentFileHashes(
6363
);
6464
}
6565
exclusiveStartKey = result.LastEvaluatedKey as
66-
| Record<string, unknown>
67-
| undefined;
66+
Record<string, unknown> | undefined;
6867
} while (exclusiveStartKey);
6968

7069
return items;
@@ -117,8 +116,7 @@ async function registerFileHashes(
117116

118117
requests =
119118
(result.UnprocessedItems?.[tableName] as
120-
| typeof requests
121-
| undefined) ?? [];
119+
typeof requests | undefined) ?? [];
122120
if (requests.length > 0) {
123121
throw new Error(
124122
`DynamoDB returned ${requests.length} unprocessed file hashes`,

apps/backend/src/build/baselineEligibility.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,7 @@ import type { Build } from "@/database/models";
99
* against, so they cannot be evaluated for a build in isolation.
1010
*/
1111
export type BuildBaselineIneligibilityReason =
12-
| "build-incomplete"
13-
| "tests-failed"
14-
| "subset"
15-
| "rejected"
16-
| "not-approved";
12+
"build-incomplete" | "tests-failed" | "subset" | "rejected" | "not-approved";
1713

1814
export type BuildBaselineEligibility = {
1915
eligible: boolean;

apps/backend/src/database/models/Account.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ export type AccountAvatar = {
2626
};
2727

2828
export type AccountSubscriptionStatus =
29-
| Subscription["status"]
30-
| "trial_expired";
29+
Subscription["status"] | "trial_expired";
3130

3231
type AccountSubscriptionManager = {
3332
getActiveSubscription(): Promise<Subscription | null>;

apps/backend/src/database/models/Project.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@ import { TeamUser } from "./TeamUser";
2323
import type { User } from "./User";
2424

2525
type ProjectPermission =
26-
| "admin"
27-
| "review"
28-
| "review_dismiss"
29-
| "view_settings"
30-
| "view";
26+
"admin" | "review" | "review_dismiss" | "view_settings" | "view";
3127
export type DeploymentAuth = "public" | "domain-private" | "private";
3228

3329
/**

apps/backend/src/database/services/account.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,8 +302,7 @@ async function getOrCreateUserAccountFromThirdParty<
302302
getName: (model: TModel) => string | null;
303303
getPotentialEmails: (model: TModel) => string[];
304304
thirdPartyKey:
305-
| { user: "gitlabUserId" | "googleUserId" }
306-
| { account: "githubAccountId" };
305+
{ user: "gitlabUserId" | "googleUserId" } | { account: "githubAccountId" };
307306
errorCodes: {
308307
alreadyAttachedToArgosAccount: ErrorCode;
309308
alreadyAttachedToThirdPartyAccount: ErrorCode;

apps/backend/src/graphql/definitions/Comment.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -405,9 +405,7 @@ export const resolvers: IResolvers = {
405405
// `side` differs nominally (model string-union vs generated enum), so cast.
406406
anchor: (comment) =>
407407
(comment.anchor ?? null) as
408-
| ICommentPointAnchor
409-
| ICommentLinesAnchor
410-
| null,
408+
ICommentPointAnchor | ICommentLinesAnchor | null,
411409
threadSubscribed: async (comment, _args, ctx) => {
412410
if (!ctx.auth) {
413411
return false;

apps/backend/src/notification/workflow-types.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,7 @@ type HandlerContext = {
1818
* notifications they want to receive.
1919
*/
2020
export type NotificationCategory =
21-
| "account"
22-
| "security"
23-
| "review"
24-
| "billing"
25-
| "project"
26-
| "integration";
21+
"account" | "security" | "review" | "billing" | "project" | "integration";
2722

2823
export type NotificationHandler<TType extends string = string, TData = any> = {
2924
type: TType;

apps/backend/src/storage/download.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
44
import { promisify } from "node:util";
55
import { S3Client } from "@aws-sdk/client-s3";
66
import { dirSync } from "tmp";
7-
import { beforeAll, beforeEach, describe, expect, it } from "vitest";
7+
import { afterAll, beforeAll, beforeEach, describe, expect, it } from "vitest";
88

99
import config from "@/config";
1010

@@ -33,6 +33,10 @@ describe("#download", () => {
3333
tmpDirectory = dirSync().name;
3434
});
3535

36+
afterAll(() => {
37+
s3.destroy();
38+
});
39+
3640
it("should download a file from S3", async () => {
3741
const outputPath = join(tmpDirectory, "hello.txt");
3842
const result = await get({

0 commit comments

Comments
 (0)