Skip to content

Commit 732e2cc

Browse files
renovate[bot]kkedziak-splunkclaude
authored
chore(deps): update npm (#1901)
## Summary Renovatebot npm dependency updates with manual fixes for broken packages. ### Updates included Non-Splunk dependency bumps from the original renovatebot PR (babel, typescript, storybook, vite, msw, zod, etc.) ### Packages reverted due to breakage | Package | Reverted from | Reverted to | Reason | |---|---|---|---| | `@splunk/react-ui` | `^5.9.0` | `5.2.0` (pinned via resolution) | `querySelector('undefined')` error in jsdom — breaks 55 unit tests | | `@splunk/dashboard-*` | `29.5.0` | `29.4.0` | Transitive dep on broken `@splunk/react-ui ^5.7+` | | Other `@splunk/*` packages | various | develop versions | Kept in sync with dashboard packages | | `vite-plugin-dts` | `4.5.4` | `4.5.3` | `Unable to find package.json` error during `rollupTypes` in lib build | | `@storybook/test-runner` | `^0.24.3` | `^0.23.0` | `Must use import to load ES Module` error loading `.ts` config | ### Additional fixes - **Export `DatePickerComponentProps`** in `DatePickerComponent.tsx` — fixes TS4023 declaration emit error (`cannot be named`) - **Update expected UI file list** in smoke test — Vite chunking changed (removed `ArrowBroadUnderbarDown.js`, `ChevronUp.js`; `Search.js` now split into two chunks) ### Known pre-existing CVEs (not addressed here) - `brace-expansion@5.0.4` / `2.0.2` (CVE-2026-33750) — fix requires major version bump, breaks `eslint-plugin-import` - `picomatch@2.3.1` (CVE-2026-33671/33672) — fix requires major version bump (v2→v4) - `crypto-js@3.3.0` (CVE-2023-46233) — transitive dep of `@splunk` packages ## Test plan - [x] `vitest run` — 486 tests pass (54 files) - [x] `vite build --config vite.lib.config.ts` — lib build succeeds - [x] `vite build --config vite.config.ts` — app build succeeds - [x] Smoke test expected file list updated --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: kkedziak-splunk <kkedziak@splunk.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 463d485 commit 732e2cc

File tree

5 files changed

+997
-818
lines changed

5 files changed

+997
-818
lines changed

tests/smoke/test_ucc_build.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -787,9 +787,7 @@ def remove_hash(filename):
787787
normalized_files = [remove_hash(f) for f in cleaned_files]
788788

789789
expected_js_files_list = [
790-
"ArrowBroadUnderbarDown.js",
791790
"assets",
792-
"ChevronUp.js",
793791
"ConfigurationPage.js",
794792
"Dashboard.consts.js",
795793
"Dashboard.Custom.js",
@@ -810,6 +808,7 @@ def remove_hash(filename):
810808
"purify.es.js",
811809
"redirect_page.js",
812810
"Search.js",
811+
"Search.js",
813812
"usePlatform.js",
814813
]
815814
assert sorted(normalized_files) == sorted(expected_js_files_list)

ui/package.json

Lines changed: 58 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -40,129 +40,130 @@
4040
"@splunk/react-icons": "^5.2.0",
4141
"@splunk/react-page": "^8.0.0",
4242
"@splunk/react-toast-notifications": "^0.12.0",
43-
"@splunk/react-ui": "^5.1.0",
43+
"@splunk/react-ui": "5.2.0",
4444
"@splunk/search-job": "^3.1.0",
4545
"@splunk/splunk-utils": "^3.2.0",
4646
"@splunk/themes": "^1.2.0",
4747
"@splunk/ui-utils": "^1.10.0",
4848
"@splunk/visualization-context": "^28.4.0",
49-
"@storybook/test": "^8.6.14",
50-
"@testing-library/jest-dom": "^6.6.3",
51-
"@testing-library/react": "^15.0.6",
49+
"@storybook/test": "^8.6.15",
50+
"@testing-library/jest-dom": "^6.9.1",
51+
"@testing-library/react": "^15.0.7",
5252
"@vitejs/plugin-react": "^4.7.0",
5353
"@vitest/coverage-istanbul": "^3.2.4",
5454
"glob": "^13.0.6",
5555
"immutability-helper": "^3.1.1",
5656
"js-yaml": "^4.1.1",
57-
"lodash": "^4.17.21",
57+
"lodash": "^4.17.23",
5858
"prop-types": "^15.8.1",
59-
"react": "18",
60-
"react-dom": "18",
59+
"react": "18.3.1",
60+
"react-dom": "18.3.1",
6161
"react-is": "^16.13.1",
6262
"react-router-dom": "6.30.3",
6363
"styled-components": "^5.3.11",
6464
"uuid": "^11.1.0",
65-
"vite": "^7.1.12",
66-
"vite-plugin-checker": "^0.10.2",
65+
"vite": "^7.3.1",
66+
"vite-plugin-checker": "^0.12.0",
6767
"vitest": "^3.2.4",
68-
"zod": "^4.0.17"
68+
"zod": "^4.3.6"
6969
},
7070
"devDependencies": {
71-
"@babel/core": "^7.28.3",
72-
"@babel/eslint-parser": "^7.28.0",
73-
"@babel/helper-plugin-utils": "^7.27.1",
74-
"@babel/plugin-transform-runtime": "^7.28.3",
75-
"@babel/preset-env": "^7.28.3",
76-
"@babel/preset-react": "^7.27.1",
71+
"@babel/core": "^7.29.0",
72+
"@babel/eslint-parser": "^7.28.6",
73+
"@babel/helper-plugin-utils": "^7.28.6",
74+
"@babel/plugin-transform-runtime": "^7.29.0",
75+
"@babel/preset-env": "^7.29.2",
76+
"@babel/preset-react": "^7.28.5",
7777
"@kickstartds/core": "^4.1.0",
7878
"@kickstartds/storybook-addon-jsonschema": "^4.0.0",
79-
"@rollup/plugin-commonjs": "^28.0.6",
79+
"@rollup/plugin-commonjs": "^28.0.9",
8080
"@splunk/babel-preset": "^4.0.0",
8181
"@splunk/eslint-config": "^5.0.0",
82-
"@storybook/addon-a11y": "^8.6.14",
82+
"@storybook/addon-a11y": "^8.6.18",
8383
"@storybook/addon-essentials": "^8.6.14",
8484
"@storybook/addon-interactions": "^8.6.14",
85-
"@storybook/addon-links": "^8.6.14",
85+
"@storybook/addon-links": "^8.6.18",
8686
"@storybook/blocks": "^8.6.14",
87-
"@storybook/builder-vite": "^8.6.14",
88-
"@storybook/react": "^8.6.14",
89-
"@storybook/react-vite": "^8.6.14",
87+
"@storybook/builder-vite": "^8.6.18",
88+
"@storybook/react": "^8.6.18",
89+
"@storybook/react-vite": "^8.6.18",
9090
"@storybook/test-runner": "^0.23.0",
91-
"@testing-library/dom": "^10.4.0",
92-
"@testing-library/jest-dom": "^6.6.3",
93-
"@testing-library/react": "^15.0.6",
91+
"@testing-library/dom": "^10.4.1",
92+
"@testing-library/jest-dom": "^6.9.1",
93+
"@testing-library/react": "^15.0.7",
9494
"@testing-library/user-event": "^14.6.1",
95-
"@types/jest-image-snapshot": "^6.4.0",
95+
"@types/jest-image-snapshot": "^6.4.1",
9696
"@types/js-yaml": "^4.0.9",
97-
"@types/lodash": "^4.17.20",
97+
"@types/lodash": "^4.17.24",
9898
"@types/node": "^20.17.24",
99-
"@types/react": "^18.2.41",
100-
"@types/react-dom": "^18.2.17",
101-
"@types/styled-components": "^5.1.34",
99+
"@types/react": "^18.3.28",
100+
"@types/react-dom": "^18.3.7",
101+
"@types/styled-components": "^5.1.36",
102102
"@typescript-eslint/eslint-plugin": "^7.18.0",
103103
"@typescript-eslint/parser": "^7.18.0",
104104
"babel-eslint": "^10.1.0",
105-
"babel-jest": "^30.0.5",
105+
"babel-jest": "^30.3.0",
106106
"babel-loader": "^8.4.1",
107-
"babel-plugin-module-resolver": "^5.0.2",
108-
"cross-env": "^10.0.0",
109-
"css-loader": "^7.1.2",
110-
"esbuild-loader": "^4.3.0",
107+
"babel-plugin-module-resolver": "^5.0.3",
108+
"cross-env": "^10.1.0",
109+
"css-loader": "^7.1.4",
110+
"esbuild-loader": "^4.4.2",
111111
"eslint": "^8.57.1",
112112
"eslint-config-airbnb": "^19.0.4",
113113
"eslint-config-prettier": "^7.2.0",
114114
"eslint-import-resolver-typescript": "^4.4.4",
115115
"eslint-plugin-import": "^2.32.0",
116-
"eslint-plugin-jest": "^29.0.1",
116+
"eslint-plugin-jest": "^29.15.1",
117117
"eslint-plugin-jsx-a11y": "^6.10.2",
118118
"eslint-plugin-prettier": "^4.2.5",
119119
"eslint-plugin-react": "^7.37.5",
120120
"eslint-plugin-react-hooks": "^4.6.2",
121121
"eslint-plugin-storybook": "^0.12.0 ",
122-
"eslint-plugin-testing-library": "^7.6.6",
123-
"jest": "^30.0.5",
124-
"jest-environment-jsdom": "^30.0.5",
125-
"jest-fixed-jsdom": "^0.0.9",
126-
"jest-image-snapshot": "^6.5.1",
122+
"eslint-plugin-testing-library": "^7.16.2",
123+
"jest": "^30.3.0",
124+
"jest-environment-jsdom": "^30.3.0",
125+
"jest-fixed-jsdom": "^0.0.11",
126+
"jest-image-snapshot": "^6.5.2",
127127
"jsdom": "^26.1.0",
128-
"msw": "^2.10.5",
129-
"msw-storybook-addon": "^2.0.5",
128+
"msw": "^2.12.14",
129+
"msw-storybook-addon": "^2.0.6",
130130
"prettier": "^2.8.8",
131131
"querystring-es3": "^0.2.1",
132-
"rollup-plugin-license": "^3.6.0",
133-
"storybook": "^8.6.14",
132+
"rollup-plugin-license": "^3.7.0",
133+
"storybook": "^8.6.18",
134134
"style-loader": "^4.0.0",
135135
"stylelint": "^14.16.1",
136136
"ts-node": "^10.9.2",
137-
"typescript": "^5.9.2",
137+
"typescript": "^5.9.3",
138138
"undici": "^5.29.0",
139139
"url": "^0.11.4",
140140
"vite-plugin-dts": "4.5.3",
141-
"vite-plugin-node-polyfills": "^0.24.0"
141+
"vite-plugin-node-polyfills": "^0.25.0"
142142
},
143143
"peerDependencies": {
144-
"react": "^18.0.0",
145-
"react-dom": "^18.0.0",
146-
"react-is": "^19.1.1",
144+
"react": "^18.3.1",
145+
"react-dom": "^18.3.1",
146+
"react-is": "^19.2.4",
147147
"styled-components": "^5.3.11",
148-
"typescript": "^5.9.2"
148+
"typescript": "^5.9.3"
149149
},
150150
"resolutions": {
151151
"@npmcli/git": "^2.1.0",
152-
"@types/react": "^18.2.41",
152+
"@types/react": "^18.3.28",
153153
"css-what": "^5.1.0",
154154
"d3-color": "^3.1.0",
155155
"d3-interpolate": "^3.0.1",
156156
"glob-parent": "^5.1.2",
157-
"postcss": "^8.5.6",
158-
"semver": "^7.7.2",
157+
"postcss": "^8.5.8",
158+
"semver": "^7.7.4",
159159
"strip-ansi": "^6.0.1",
160160
"string-width": "^4.2.3",
161-
"esbuild": "^0.25.9",
162-
"axios": "^1.12.0",
163-
"jspdf": "^4.0.0",
161+
"esbuild": "^0.27.4",
162+
"axios": "^1.13.6",
163+
"jspdf": "^4.2.1",
164164
"http-proxy-middleware": "^3.0.5",
165165
"js-yaml": "^4.1.1",
166+
"@splunk/react-ui": "5.2.0",
166167
"@splunk/dashboard-event-handlers": "29.4.0",
167168
"@splunk/dashboard-inputs": "29.4.0",
168169
"@splunk/dashboard-search": "29.4.0",

ui/src/components/DatePickerComponent/DatePickerComponent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react';
22
import SUIDate, { DateChangeHandler } from '@splunk/react-ui/Date';
33

4-
interface DatePickerComponentProps {
4+
export interface DatePickerComponentProps {
55
value: string;
66
handleChange: (field: string, value: string) => void;
77
field: string;

ui/src/public/mockServiceWorker.js

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
* - Please do NOT modify this file.
88
*/
99

10-
const PACKAGE_VERSION = '2.11.1'
11-
const INTEGRITY_CHECKSUM = 'f5825c521429caf22a4dd13b66e243af'
10+
const PACKAGE_VERSION = '2.12.14'
11+
const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82'
1212
const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
1313
const activeClientIds = new Set()
1414

@@ -71,11 +71,6 @@ addEventListener('message', async function (event) {
7171
break
7272
}
7373

74-
case 'MOCK_DEACTIVATE': {
75-
activeClientIds.delete(clientId)
76-
break
77-
}
78-
7974
case 'CLIENT_CLOSED': {
8075
activeClientIds.delete(clientId)
8176

@@ -94,6 +89,8 @@ addEventListener('message', async function (event) {
9489
})
9590

9691
addEventListener('fetch', function (event) {
92+
const requestInterceptedAt = Date.now()
93+
9794
// Bypass navigation requests.
9895
if (event.request.mode === 'navigate') {
9996
return
@@ -110,23 +107,29 @@ addEventListener('fetch', function (event) {
110107

111108
// Bypass all requests when there are no active clients.
112109
// Prevents the self-unregistered worked from handling requests
113-
// after it's been deleted (still remains active until the next reload).
110+
// after it's been terminated (still remains active until the next reload).
114111
if (activeClientIds.size === 0) {
115112
return
116113
}
117114

118115
const requestId = crypto.randomUUID()
119-
event.respondWith(handleRequest(event, requestId))
116+
event.respondWith(handleRequest(event, requestId, requestInterceptedAt))
120117
})
121118

122119
/**
123120
* @param {FetchEvent} event
124121
* @param {string} requestId
122+
* @param {number} requestInterceptedAt
125123
*/
126-
async function handleRequest(event, requestId) {
124+
async function handleRequest(event, requestId, requestInterceptedAt) {
127125
const client = await resolveMainClient(event)
128126
const requestCloneForEvents = event.request.clone()
129-
const response = await getResponse(event, client, requestId)
127+
const response = await getResponse(
128+
event,
129+
client,
130+
requestId,
131+
requestInterceptedAt,
132+
)
130133

131134
// Send back the response clone for the "response:*" life-cycle events.
132135
// Ensure MSW is active and ready to handle the message, otherwise
@@ -202,9 +205,10 @@ async function resolveMainClient(event) {
202205
* @param {FetchEvent} event
203206
* @param {Client | undefined} client
204207
* @param {string} requestId
208+
* @param {number} requestInterceptedAt
205209
* @returns {Promise<Response>}
206210
*/
207-
async function getResponse(event, client, requestId) {
211+
async function getResponse(event, client, requestId, requestInterceptedAt) {
208212
// Clone the request because it might've been already used
209213
// (i.e. its body has been read and sent to the client).
210214
const requestClone = event.request.clone()
@@ -255,6 +259,7 @@ async function getResponse(event, client, requestId) {
255259
type: 'REQUEST',
256260
payload: {
257261
id: requestId,
262+
interceptedAt: requestInterceptedAt,
258263
...serializedRequest,
259264
},
260265
},

0 commit comments

Comments
 (0)