Prasad P. Pawar created ATLAS-5316:
--------------------------------------

             Summary: ATLAS UI: Dependency version uplift for Atlas React 
dashboard and documentation site
                 Key: ATLAS-5316
                 URL: https://issues.apache.org/jira/browse/ATLAS-5316
             Project: Atlas
          Issue Type: Bug
          Components: atlas-webui
    Affects Versions: 3.0.0
            Reporter: Prasad P. Pawar
            Assignee: Prasad P. Pawar


This work updates direct and transitive npm dependencies in 
{{dashboard/package.json}} and {{docs/package.json}} (including {{overrides}} 
and lockfiles) to align with upstream recommended releases. The goal is 
improved dependency hygiene, consistent transitive resolution, and alignment 
with current library maintenance guidance—without changing application source 
code.
----
h3. Scope
||Module||Files updated||
|React Dashboard|{{{}dashboard/package.json{}}}, 
{{dashboard/package-lock.json}}|
|Documentation site|{{{}docs/package.json{}}}, {{docs/package-lock.json}}|
|Existing docz patches 
(unchanged)|{{{}docs/patches/html-minifier+4.0.0.patch{}}}, 
{{docs/patches/http-proxy-middleware+0.19.1.patch}}|
----
h3. Dependency change matrix
||Package||Module||Previous version||Updated version||Change type||Why this 
change||Where used in Atlas||Version difference (high level)||Project impact||
|axios|dashboard|1.15.2|1.16.0|Direct dependency + {{overrides}}|Align HTTP 
client with latest stable 1.x release; improves proxy/redirect handling and 
adapter consistency|{{dashboard/src/api/apiMethods/fetchApi.ts}} (main API 
calls); type imports in {{{}QuickSearch.tsx{}}}, {{{}Labels.tsx{}}}, 
{{FormAutocomplete.tsx}}|Improved redirect header handling, proxy credential 
handling, IPv6 hostname normalization in proxy rules; no public API renames|Low 
— browser XHR adapter unchanged for normal UI flows; build and 38 fetchApi unit 
tests pass|
|axios|docs|1.15.2|1.16.0|devDependency + {{overrides}}|Same HTTP client 
alignment for docs tooling|{{docs/theme/components/shared/TeamList/index.js}} 
({{{}axios.get{}}} for team list fetch)|Same as dashboard row|Low — simple GET 
usage only|
|handlebars|dashboard|4.7.8 (transitive via ts-jest)|4.7.9|{{overrides}} 
only|Pin transitive template engine to latest 4.7.x patch|Not used in app 
source — only {{ts-jest}} CLI ({{{}config:init{}}} Jest config template 
generation)|Internal compiler/runtime hardening; stricter AST handling; no 
method renames|None — no imports in dashboard source|
|@babel/preset-env|dashboard|7.28.5|7.29.5|devDependency|Brings updated Babel 
preset used by Jest test pipeline|Jest/Babel test compilation (no runtime UI 
usage)|Updated preset bundle; pulls patched systemjs transform plugin|None — 
tests compile as before|
|@babel/plugin-transform-modules-systemjs|dashboard|7.28.5 
(transitive)|7.29.4|{{overrides}}|Align transitive Babel plugin with preset-env 
7.29.5|Transitive via {{{}@babel/preset-env{}}}; dashboard does not use 
{{modules: "systemjs"}}|Safer handling of untrusted module input during 
compile|None — trusted test/build code only|
|shell-quote|docs|1.7.3|1.8.4|{{overrides}}|Replace previously pinned older 
transitive version with current stable release|Transitive via {{docz}} → 
{{react-dev-utils}} → {{shell-quote.parse()}} on {{REACT_EDITOR}} env var (docz 
dev tooling only)|{{quote()}} validates object-token shapes strictly; 
{{parse()}} behavior unchanged for string inputs|None — not imported in docs 
source|
|html-minifier|docs|3.5.21 / 4.0.0 (mixed transitive)|4.0.0 (unified) + 
existing patch|{{overrides}} + {{patch-package}}|Consolidate to single version; 
apply existing local patch for regex performance hardening|Transitive via 
{{docz}} / {{docz-core}} (docs site build/minification only)|Override removes 
nested 3.5.21; patch limits regex repetition in minifier|Low — docs build-time 
only; patch already applied on postinstall|
|http-proxy-middleware|docs|0.19.1|0.19.1 (unchanged version)|Existing 
{{patch-package}} patch|docz/webpack-dev-server requires 0.19.x; no compatible 
major upgrade without replacing docz|Transitive via {{docz}} → 
{{webpack-dev-server}} (docs dev server only)|Patch wraps micromatch calls to 
avoid unhandled rejection during dev|None for dashboard; docs dev server only|
|tmp|docs|0.0.33 (transitive via patch-package)|0.2.6|{{overrides}}|Align 
temp-file helper to maintained release|Transitive via {{patch-package}} 
postinstall (docs tooling)|Improved path handling in temp file creation 
APIs|None — patch-package uses fixed trusted prefixes|
 
----
h3. package.json changes detail
h4. dashboard/package.json
||Section||Field||Before||After||
|dependencies|{{axios}}|1.15.2|1.16.0|
|devDependencies|{{@babel/preset-env}}|7.28.5|7.29.5|
|overrides|{{handlebars}}|(not set)|4.7.9|
|overrides|{{axios}}|(not set)|1.16.0|
|overrides|{{@babel/plugin-transform-modules-systemjs}}|(not set)|7.29.4|
h4. docs/package.json
||Section||Field||Before||After||
|devDependencies|{{axios}}|1.15.2|1.16.0|
|overrides|{{shell-quote}}|1.7.3|1.8.4|
|overrides|{{axios}}|1.15.2|1.16.0|
|overrides|{{html-minifier}}|(not set)|4.0.0|
|overrides|{{tmp}}|(not set)|0.2.6|
----
h3. Application code impact assessment
||Area||Code changes required?||Notes||
|Dashboard UI / API layer|No|axios public API unchanged ({{{}get{}}}, 
{{{}post{}}}, {{{}isAxiosError{}}}, {{{}AxiosRequestConfig{}}})|
|Dashboard unit tests|No|Jest/Babel pipeline updated; all fetchApi tests pass|
|Docs site theme|No|TeamList axios usage unchanged|
|Docs build / dev server|No|Existing patch-package patches continue to apply on 
{{npm install}}|
|Classic UI (dashboardv2)|Out of scope|Bundled Handlebars 4.7.8 in 
{{dashboardv2/public/js/external_lib/}} is separate from npm overrides|
----
h3. Verification completed
||Check||Result||
|{{dashboard}} production build|Passed|
|{{fetchApi}} unit tests (38)|Passed|
|ESLint|No new errors from dependency changes (4 pre-existing errors in 
untracked cypress files)|
|Resolved versions ({{{}npm ls{}}})|axios 1.16.0, handlebars 4.7.9, shell-quote 
1.8.4, tmp 0.2.6, html-minifier 4.0.0|
----
h3. Out of scope / follow-up
||Item||Reason||
|Replace docz / webpack-dev-server stack|Required for native 
{{http-proxy-middleware}} 2.x upgrade; current 0.19.1 patch mitigates 
dev-server behavior|
|Upgrade dashboardv2 bundled Handlebars|Separate legacy UI bundle, not managed 
by dashboard npm lockfile|
----
h3. Acceptance criteria
 *  {{dashboard/package.json}} and {{dashboard/package-lock.json}} updated as 
per table above
 *  {{docs/package.json}} and {{docs/package-lock.json}} updated as per table 
above
 *  Dashboard build succeeds
 *  Dashboard fetchApi tests pass
 *  Docs {{npm install}} applies existing patches successfully
 *  No application source code changes required



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to