Skip to content

Commit 98d5479

Browse files
committed
chore(FR-2892): bump @cloudscape-design/board-components 3.0.60 -> 3.0.176 and regenerate local patch (#7410)
Resolves #7408([FR-2892](https://lablup.atlassian.net/browse/FR-2892)) ## Summary Bumps `@cloudscape-design/board-components` from **3.0.60** to **3.0.176** and regenerates the local patch against the new sources. Also adds `@cloudscape-design/components` (`^3.0.1280`) as a direct dependency, because 3.0.176 introduced a runtime import that the bare peer-dep declaration no longer satisfies in this repo. 3.0.176 is the latest version that satisfies the repo's 7-day `minimumReleaseAge` quarantine in `pnpm-workspace.yaml` (3.0.178 is newer but still inside the quarantine window). ## Patch decision: kept + regenerated The local patch is **kept** because upstream 3.0.176 still does not: - Expose `className` on `BoardProps` / `BoardItemProps` (used by `BAIBoard.tsx` to style the board wrapper and items). - Provide stable class-name selectors — the CSS-module class hashes rotate on every minor bump. We append stable `bai_board_*` / `bai_grid_item` suffixes so that `BAIBoard.tsx` styling and the E2E suite (`e2e/start/start-page.spec.ts`, `e2e/dashboard/dashboard.spec.ts`, `e2e/utils/classes/common/StartPage.ts`) can locate elements deterministically. The regenerated patch is also cleaner than the 3.0.60 version: fixes a `String → string` type bug, uses the upstream `clsx(...)` pattern instead of hand-rolled string concat, and drops Prettier-formatted noise that bloated the prior diff (264 lines → 196 lines). ## New direct dependency: `@cloudscape-design/components` board-components PR [#362](cloudscape-design/board-components#362) ("UAP directional controls and tooltips", merged 2025-06-24) made the drag/resize handles delegate to `InternalDragHandle` from `@cloudscape-design/components/internal/do-not-use/drag-handle`. Every version from that change onward (3.0.149+) carries the same import. In 3.0.60 we got away with `@cloudscape-design/components` being a bare peer dep — nothing pulled it in at runtime, so pnpm never installed it. With 3.0.176 the import is real, and `pnpm dev` fails at vite pre-bundle with `Missing "./internal/do-not-use/drag-handle" specifier in "@cloudscape-design/components" package`. `scripts/verify.sh` does not catch this (TypeScript doesn't verify external-module subpath existence). Mitigations: - Pinned to `^3.0.1280` — the same minimum-release-age quarantine applies, so pnpm resolves to a stable, ≥7-day-old version. - `@cloudscape-design/components` declares narrow `sideEffects` (CSS + base-component only), so Rollup tree-shaking should keep the production bundle close to "just the drag-handle module + its CSS". Install footprint (~37 MB / 5,558 files in `node_modules`) is the real cost, not bundle weight. ## Side effect: fewer Vite serving-allow-list warnings on dev The dev server used to print recurring warnings like: ``` The request url ".../@cloudscape-design/board-components/3.0.60/.../internal/screenreader-grid-navigation/styles.scoped.css" is outside of Vite serving allow list. ``` caused by absolute paths baked into the published 3.0.60 source maps. 3.0.176 refactored the board internals and removed the `ScreenReaderGridNavigation` module entirely, so the offending sourcemap reference is gone and the warning no longer fires. ## Incidental lockfile changes `pnpm install` reconciled a few unrelated rows: - `vite@6.4.1 → 6.4.2` in the `@vitest/browser` snapshot. - `eslint-plugin-import` re-resolved `@typescript-eslint/parser` between two existing variants — no new packages added. - `@cloudscape-design/design-tokens@3.0.51` removed from the snapshot (upstream dropped it as a peer dep). Verified no direct imports of `@cloudscape-design/design-tokens` exist in `react/src` or `packages/backend.ai-ui/src`, so no action needed. ## Follow-up Filing a Jira follow-up to migrate `BAIBoard` styling and E2E selectors away from injected `bai_*` class hooks (use `data-testid` instead). That would reduce future bumps to "just the `className` interface delta" or eliminate the patch entirely if upstream accepts a `className` upstream-PR. ## Test plan - [x] `pnpm install --frozen-lockfile` applies cleanly. - [x] `pnpm dev` boots: `vite` pre-bundle succeeds, `tsc --watch` reports 0 errors, board page reachable at `https://fr-2892.localhost:1356`. - [ ] Open `/start` (and `/dashboard`): drag a board card across slots, resize a card width, reload — layout persists. - [ ] `pnpm exec playwright test e2e/start/start-page.spec.ts e2e/dashboard/dashboard.spec.ts` passes against a real cluster. [FR-2892]: https://lablup.atlassian.net/browse/FR-2892?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1 parent 5da37c3 commit 98d5479

7 files changed

Lines changed: 268 additions & 342 deletions

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"engines": {
99
"pnpm": "^11.0.0"
1010
},
11-
"packageManager": "pnpm@11.1.0",
11+
"packageManager": "pnpm@11.1.1",
1212
"scripts": {
1313
"lint": "eslint src --quiet; exit 0",
1414
"lint-fix": "eslint src --quiet --fix; exit 0",

pnpm-lock.yaml

Lines changed: 26 additions & 49 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pnpm-workspace.yaml

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,28 @@ packages:
33
- packages/*
44

55
catalog:
6-
'@ant-design/icons': ^6.1.1
7-
'@babel/core': ^7.29.0
8-
'@babel/preset-typescript': ^7.28.5
9-
'@eslint/js': ^9.39.4
10-
'@jest/expect': 30.3.0
11-
'@jest/globals': 30.3.0
12-
'@tanstack/react-query': ^5.99.0
13-
'@testing-library/jest-dom': ^6.9.1
14-
'@testing-library/react': ^16.3.2
15-
'@testing-library/user-event': ^14.6.1
16-
'@trivago/prettier-plugin-sort-imports': ^6.0.2
17-
'@types/big.js': ^6.2.2
18-
'@types/jest': ^30.0.0
19-
'@types/lodash': ^4.17.24
20-
'@types/lodash-es': ^4.17.12
21-
'@types/node': ^22.19.17
22-
'@types/react': ^19.2.14
23-
'@types/react-copy-to-clipboard': ^5.0.7
24-
'@types/react-dom': ^19.2.3
25-
'@types/react-relay': ^18.2.1
26-
'@types/relay-runtime': ^19.0.3
27-
'@types/relay-test-utils': ^19.0.0
6+
"@ant-design/icons": ^6.1.1
7+
"@babel/core": ^7.29.0
8+
"@babel/preset-typescript": ^7.28.5
9+
"@eslint/js": ^9.39.4
10+
"@jest/expect": 30.3.0
11+
"@jest/globals": 30.3.0
12+
"@tanstack/react-query": ^5.99.0
13+
"@testing-library/jest-dom": ^6.9.1
14+
"@testing-library/react": ^16.3.2
15+
"@testing-library/user-event": ^14.6.1
16+
"@trivago/prettier-plugin-sort-imports": ^6.0.2
17+
"@types/big.js": ^6.2.2
18+
"@types/jest": ^30.0.0
19+
"@types/lodash": ^4.17.24
20+
"@types/lodash-es": ^4.17.12
21+
"@types/node": ^22.19.17
22+
"@types/react": ^19.2.14
23+
"@types/react-copy-to-clipboard": ^5.0.7
24+
"@types/react-dom": ^19.2.3
25+
"@types/react-relay": ^18.2.1
26+
"@types/relay-runtime": ^19.0.3
27+
"@types/relay-test-utils": ^19.0.0
2828
ahooks: ^3.9.7
2929
antd: ^6.3.5
3030
antd-style: ^3.7.1
@@ -81,7 +81,8 @@ minimumReleaseAgeExclude:
8181
# Remove this entry once 4.2.4 ages past 7 days.
8282
- langium@4.2.4
8383

84-
minimumReleaseAgeIgnoreMissingTime: true
84+
minimumReleaseAgeIgnoreMissingTime: false
85+
resolutionMode: time-based
8586

8687
allowBuilds:
8788
bufferutil: true
@@ -96,7 +97,7 @@ allowBuilds:
9697

9798
overrides:
9899
tar-fs@2: 2.1.4
99-
node-forge: '>=1.3.2'
100+
node-forge: ">=1.3.2"
100101
# langium is pulled transitively via @ant-design/x and @lobehub/ui →
101102
# mermaid → @mermaid-js/parser. 4.2.1–4.2.3 import vscode-languageserver-
102103
# {types,protocol}, vscode-jsonrpc and @chevrotain/regexp-to-ast without
@@ -105,7 +106,7 @@ overrides:
105106
langium: ^4.2.4
106107

107108
patchedDependencies:
108-
'@cloudscape-design/board-components@3.0.60': react/patches/@cloudscape-design__board-components@3.0.60.patch
109-
'@lobehub/fluent-emoji@2.0.0': react/patches/lobehub__fluent-emoji@2.0.0.patch
110-
'@rc-component/form': react/patches/@rc-component__form.patch
109+
"@cloudscape-design/board-components@3.0.176": react/patches/@cloudscape-design__board-components@3.0.176.patch
110+
"@lobehub/fluent-emoji@2.0.0": react/patches/lobehub__fluent-emoji@2.0.0.patch
111+
"@rc-component/form": react/patches/@rc-component__form.patch
111112
ansi_up@6.0.6: react/patches/ansi_up@6.0.6.patch

react/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"@ant-design/cssinjs": "^2.1.2",
1111
"@ant-design/icons": "catalog:",
1212
"@ant-design/x": "^2.5.0",
13-
"@cloudscape-design/board-components": "3.0.60",
13+
"@cloudscape-design/board-components": "3.0.176",
14+
"@cloudscape-design/components": "^3.0.1280",
1415
"@dicebear/collection": "^9.4.2",
1516
"@dicebear/core": "^9.4.2",
1617
"@dicebear/shapes": "^9.4.2",

0 commit comments

Comments
 (0)