From fece92e266b52259759ac7e73d0d45dca7124c2f Mon Sep 17 00:00:00 2001 From: Xinyuan Lin Date: Thu, 7 May 2026 01:18:36 -0700 Subject: [PATCH 1/2] chore(deps): drop unused content-disposition dependency `download.service.ts` had a top-level `var contentDisposition = require("content-disposition")` that was never read or called. Removed the dead require, then dropped both `content-disposition` and `@types/content-disposition` from package.json (and the bundled-license roll-up). yarn.lock loses the transitive entries for free. Closes #4979. --- frontend/LICENSE-binary | 1 - frontend/package.json | 2 -- .../service/user/download/download.service.ts | 2 -- frontend/yarn.lock | 25 ++++++------------- 4 files changed, 8 insertions(+), 22 deletions(-) diff --git a/frontend/LICENSE-binary b/frontend/LICENSE-binary index bee43c7b6b1..fbde315f7b1 100644 --- a/frontend/LICENSE-binary +++ b/frontend/LICENSE-binary @@ -277,7 +277,6 @@ Angular / npm packages: - base64-js@1.5.1 - brace-expansion@2.1.0 - buffer@5.7.1 - - content-disposition@0.5.4 - css-loader@6.11.0 - dagre@0.8.5 - date-fns@2.30.0 diff --git a/frontend/package.json b/frontend/package.json index c1f0231aec3..3f3b3b3fadb 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -44,7 +44,6 @@ "ai": "5.0.93", "ajv": "8.10.0", "concaveman": "2.0.0", - "content-disposition": "0.5.4", "d3-shape": "2.1.0", "dagre": "0.8.5", "file-saver": "2.0.5", @@ -103,7 +102,6 @@ "@schematics/angular": "21.2.8", "@types/backbone": "1.4.15", "@types/concaveman": "1.1.6", - "@types/content-disposition": "0", "@types/d3-shape": "2.1.2", "@types/dagre": "0.7.47", "@types/file-saver": "2.0.5", diff --git a/frontend/src/app/dashboard/service/user/download/download.service.ts b/frontend/src/app/dashboard/service/user/download/download.service.ts index 0e202e0c26c..811ebe37f47 100644 --- a/frontend/src/app/dashboard/service/user/download/download.service.ts +++ b/frontend/src/app/dashboard/service/user/download/download.service.ts @@ -31,8 +31,6 @@ import { WORKFLOW_EXECUTIONS_API_BASE_URL } from "../workflow-executions/workflo import { DashboardWorkflowComputingUnit } from "../../../../common/type/workflow-computing-unit"; import { TOKEN_KEY } from "../../../../common/service/user/auth.service"; -var contentDisposition = require("content-disposition"); - export const EXPORT_BASE_URL = "result/export"; const IFRAME_TIMEOUT_MS = 10000; export const DOWNLOADABILITY_BASE_URL = "result/downloadability"; diff --git a/frontend/yarn.lock b/frontend/yarn.lock index dca7469bbdd..d2fff7e05cd 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -5908,13 +5908,6 @@ __metadata: languageName: node linkType: hard -"@types/content-disposition@npm:0": - version: 0.5.9 - resolution: "@types/content-disposition@npm:0.5.9" - checksum: 10c0/9fd520dae1a9c7b85909e59f548f905a670a6e2f83642f9734d1b05126f64ac8c8e2c282a663edf27d58bc34fbbacf46a4d4a95d3802b42106174a19a68175c8 - languageName: node - linkType: hard - "@types/d3-path@npm:^2": version: 2.0.4 resolution: "@types/d3-path@npm:2.0.4" @@ -8447,7 +8440,14 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4, content-disposition@npm:~0.5.4": +"content-disposition@npm:^1.0.0": + version: 1.1.0 + resolution: "content-disposition@npm:1.1.0" + checksum: 10c0/94e0aef65873e69330f5f187fbc44ebce593bdcb8013dd8a68b7d0f159ca089bd30db3f8095d829f81c341695b60a6085ee6e15e6d775c4a325b586cc8d91974 + languageName: node + linkType: hard + +"content-disposition@npm:~0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -8456,13 +8456,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:^1.0.0": - version: 1.1.0 - resolution: "content-disposition@npm:1.1.0" - checksum: 10c0/94e0aef65873e69330f5f187fbc44ebce593bdcb8013dd8a68b7d0f159ca089bd30db3f8095d829f81c341695b60a6085ee6e15e6d775c4a325b586cc8d91974 - languageName: node - linkType: hard - "content-type@npm:^1.0.5, content-type@npm:~1.0.4, content-type@npm:~1.0.5": version: 1.0.5 resolution: "content-type@npm:1.0.5" @@ -10865,7 +10858,6 @@ __metadata: "@schematics/angular": "npm:21.2.8" "@types/backbone": "npm:1.4.15" "@types/concaveman": "npm:1.1.6" - "@types/content-disposition": "npm:0" "@types/d3-shape": "npm:2.1.2" "@types/dagre": "npm:0.7.47" "@types/file-saver": "npm:2.0.5" @@ -10887,7 +10879,6 @@ __metadata: ajv: "npm:8.10.0" concaveman: "npm:2.0.0" concurrently: "npm:7.4.0" - content-disposition: "npm:0.5.4" d3-shape: "npm:2.1.0" dagre: "npm:0.8.5" eslint: "npm:8.57.0" From 972c66e3bdc321b31863072b76693b14c3819409 Mon Sep 17 00:00:00 2001 From: Xinyuan Lin Date: Thu, 7 May 2026 01:34:56 -0700 Subject: [PATCH 2/2] chore(deps): drop bundled-license entries for content-disposition transitives The 5 packages flagged by check_binary_deps.py (base64-js, buffer, ieee754, path-browserify, safe-buffer) were only bundled because content-disposition pulled them in transitively. Once content-disposition itself is gone, they fall out of the webpack bundle and the LICENSE-binary entries are stale. --- frontend/LICENSE-binary | 5 ----- 1 file changed, 5 deletions(-) diff --git a/frontend/LICENSE-binary b/frontend/LICENSE-binary index fbde315f7b1..3cfe8bab21f 100644 --- a/frontend/LICENSE-binary +++ b/frontend/LICENSE-binary @@ -274,9 +274,7 @@ Angular / npm packages: - ajv@8.10.0 - backbone@1.4.1 - balanced-match@1.0.2 - - base64-js@1.5.1 - brace-expansion@2.1.0 - - buffer@5.7.1 - css-loader@6.11.0 - dagre@0.8.5 - date-fns@2.30.0 @@ -303,7 +301,6 @@ Angular / npm packages: - ngx-json-viewer@3.2.1 - ngx-markdown@21.2.0 - papaparse@5.4.1 - - path-browserify@1.0.1 - plotly.js-basic-dist-min@2.29.0 - point-in-polygon@1.1.0 - python@1.0.0 @@ -312,7 +309,6 @@ Angular / npm packages: - rbush@4.0.1 - read-excel-file@5.7.1 - ring-buffer-ts@1.0.3 - - safe-buffer@5.2.1 - style-loader@3.3.4 - theme-defaults@1.0.0 - underscore@1.13.8 @@ -337,7 +333,6 @@ Dependencies under the BSD 3-Clause License Angular / npm packages: - d3-shape@2.1.0 - - ieee754@1.2.1 - quill@1.3.7 --------------------------------------------------------------------------------