Commit Graph

453 Commits

Author SHA1 Message Date
Johan Persson cd0b8a11a3 chore: make jest a peer dependency with v29/v30 support
Move jest from dependencies to peer dependencies, allowing users to
choose between Jest 29 and Jest 30.

The CLI now detects the Jest version at runtime and uses the
appropriate environment:
- Jest 29: Uses standard jest-environment-jsdom
- Jest 30: Uses a custom environment based on @jest/environment-jsdom-abstract
  with fixes for Web API globals (fetch, streams, Error, etc.)

The cross-fetch polyfill is only injected for Jest 29, as with Jest 30+
our patched Jest environment is used. The network request blocker is made
MSW-compatible by checking if fetch was wrapped before blocking.

Jest 30 (with jsdom v27) fixes `Could not parse CSS stylesheet`
warnings/errors when testing components from @backstage/ui or other
packages using CSS `@layer` declarations.

New peer dependencies (install based on your Jest version):
- jest (required, ^29 or ^30)
- Jest 29 requires: jest-environment-jsdom
- Jest 30 requires: @jest/environment-jsdom-abstract, jsdom

Production code changes for jsdom 27 testability:
- AppIdentityProxy: extract navigateToUrl method for spying
- LiveReloadAddon: export utils.reloadPage for spying
- collect.ts: export internal.resolvePackagePath for mocking

MockFetchApi: evaluate global.fetch at call time instead of construction
time, allowing MSW to patch fetch after MockFetchApi is constructed.

Test adaptations for jsdom 27:
- Use RGB values instead of named colors in CSS assertions
- Update error format expectations (hyphenated type names, SyntaxError
  instead of FetchError for JSON parse errors)
- Simplify URL error assertions for cross-version compatibility
- Fix accessible name whitespace handling for external links
- Use history.replaceState for location mocking (non-configurable)
- Use fireEvent.blur for contentEditable elements
- Move async assertions inside waitFor for race conditions
- Remove Blob.prototype.text polyfill (now native)
- Remove test case using credentials in plugin:// URLs

Test adaptations for Jest 30:
- Replace `expect.objectContaining([...])` with direct array equality
- Replace `expect.objectContaining({ length: N })` with
  `expect.any(Array)` + separate `toHaveLength()` assertions
- Use child process for native Node.js module resolution in
  collect.test.ts to work around Jest 30's resolver behavior
- Update snapshot headers for new Jest format

Also removes the jest-haste-map patch which is no longer needed.

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2025-12-11 18:06:55 +01:00
Patrik Oldsberg f85dafa7f2 update API reports for moduleResolution: bundler
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-12-02 22:25:00 +01:00
github-actions[bot] 756986e5e7 Version Packages (next) 2025-11-25 16:21:32 +00:00
github-actions[bot] 792f4d7e3d Version Packages 2025-11-18 12:23:09 +00:00
github-actions[bot] 3738293d26 Version Packages (next) 2025-11-04 15:00:26 +00:00
Ben Lambert 3bdeb378e2 Merge pull request #31277 from Andy2003/feature/provide-icon-for-search-result-icon
Add support for customizable icons in SearchResultListItemBlueprint
2025-11-04 11:21:14 +01:00
github-actions[bot] 807af8ce0e Version Packages (next) 2025-10-21 16:14:43 +00:00
Patrik Oldsberg b436f73803 Merge pull request #31166 from schultzp2020/constructor-parameters
refactor: convert constructor parameter properties for erasableSyntaxOnly compatibility
2025-10-15 18:56:42 +02:00
github-actions[bot] d6ce2db9ca Version Packages 2025-10-14 15:29:54 +00:00
Paul Schultz 42c8a67fb4 run api report
Signed-off-by: Paul Schultz <pschultz@pobox.com>
2025-10-14 08:29:22 -05:00
Paul Schultz 05f60e1e0a refactor: convert constructor parameter properties for erasableSyntaxOnly compatibility
Signed-off-by: Paul Schultz <pschultz@pobox.com>
2025-10-14 08:29:21 -05:00
Andreas Berger 0a4e495019 Merge remote-tracking branch 'origin/master' into feature/provide-icon-for-search-result-icon 2025-10-09 08:50:15 +02:00
Fredrik Adelöw 3ce99627d0 Merge pull request #31246 from backstage/search-abortcontroller
Implement AbortController request cancellation for search.
2025-10-07 23:02:12 +02:00
github-actions[bot] ffb5b44d86 Version Packages (next) 2025-09-30 14:42:12 +00:00
Andreas Berger a521911fbc Add support for customizable icons in SearchResultListItemBlueprint and related components
Signed-off-by: Andreas Berger <andreas@berger-ecommerce.com>
2025-09-25 12:40:31 +02:00
github-actions[bot] c2c60546d2 Version Packages (next) 2025-09-24 12:57:42 +00:00
Sydney Achinger 67a3e1a7a4 Implement AbortController request cancellation for search.
Signed-off-by: Sydney Achinger <sydneynicoleachinger@spotify.com>
2025-09-23 15:46:27 -04:00
github-actions[bot] c73bfa46d4 Version Packages (next) 2025-09-23 15:00:29 +00:00
github-actions[bot] b799a2d07f Version Packages 2025-09-16 13:22:58 +00:00
Paul Schultz 133ac7ad66 fix(repo-tools): resolve knip-reports failure with spaces in workspace paths
Signed-off-by: Paul Schultz <pschultz@pobox.com>
2025-09-15 12:34:26 -05:00
github-actions[bot] ac48eeb3ba Version Packages (next) 2025-09-02 12:17:03 +00:00
github-actions[bot] b93a3471c2 Version Packages 2025-08-19 13:01:39 +00:00
github-actions[bot] 1e8a013c67 Version Packages (next) 2025-08-05 13:45:29 +00:00
Patrik Oldsberg 948de17c19 frontend-plugin-api: avoid forwarding ConfigurableExtensionDataRef
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-05 15:12:13 +02:00
Patrik Oldsberg e4ddf22854 frontend-plugin-api,catalog-react: remove default* prefix from blueprint params
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-04 16:46:55 +02:00
Patrik Oldsberg 3243fa6f64 frontend-plugin-api: remove name option from createExtensionBlueprint
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2025-08-01 10:53:36 +02:00
github-actions[bot] 531a48848c Version Packages (next) 2025-07-29 14:40:44 +00:00
github-actions[bot] 9a7cae26c9 Version Packages 2025-07-15 14:26:41 +00:00
github-actions[bot] 952cefedd8 Version Packages (next) 2025-07-01 11:50:02 +00:00
github-actions[bot] f1e160615c Version Packages (next) 2025-06-24 12:20:36 +00:00
github-actions[bot] 58558ef2c1 Version Packages 2025-06-17 12:45:56 +00:00
github-actions[bot] f628f44cab Version Packages (next) 2025-06-10 14:28:09 +00:00
mario ma 869fa46bd2 feat: SearchBar clear button support i18n
Signed-off-by: mario ma <mario.ma.node@gmail.com>
2025-06-04 16:09:44 +08:00
github-actions[bot] 19f0650b16 Version Packages (next) 2025-05-27 14:48:17 +00:00
github-actions[bot] 389d265b60 Version Packages 2025-05-20 08:25:02 +00:00
github-actions[bot] 1c0cb7be17 Version Packages (next) 2025-05-13 13:52:18 +00:00
Alex Lorenzi 7e0a10caae Merge pull request #29401 from mario-mui/feat/search-plugin-i18n
search plugin support i18n
2025-05-07 12:42:34 -04:00
Fredrik Adelöw a09bf86410 Merge pull request #29836 from sleepingmoro/add-use-memo-to-search-filter-2
Fix: Memoize filterValue in SearchFilter.Autocomplete to Prevent Unintended Resets
2025-05-06 17:29:33 +02:00
github-actions[bot] 35a0c4b598 Version Packages (next) 2025-05-06 13:51:57 +00:00
mario ma d827c84fba fix unit test
Signed-off-by: mario ma <mario.ma.node@gmail.com>
2025-05-06 14:54:41 +08:00
mario ma c20b2285d6 fix report error
Signed-off-by: mario ma <mario.ma.node@gmail.com>
2025-05-06 14:54:41 +08:00
mario ma fa485943e4 search plugin support i18n
Signed-off-by: mario ma <mario.ma.node@gmail.com>
2025-05-06 14:54:39 +08:00
Moro 60100aeb0c prettier fix
Signed-off-by: Moro <sleeping.moro@gmail.com>
2025-05-02 23:13:13 +02:00
Moro 2c7661423c Add useMemo to searchFilter.Autocomplete filterValue
Signed-off-by: Moro <sleeping.moro@gmail.com>
Signed-off-by: Moro <46880495+sleepingmoro@users.noreply.github.com>
2025-05-02 20:53:35 +00:00
github-actions[bot] 125d09682e Version Packages (next) 2025-04-29 14:27:15 +00:00
Vincenzo Scamporlino 7d90adf515 Merge pull request #28782 from grantila/grantila/add-labels-to-search-filters
Add support for providing values and labels to the search filters
2025-04-28 15:36:59 +02:00
github-actions[bot] 2582af906d Version Packages 2025-04-15 15:36:15 +00:00
Gustaf Räntilä 611c941d8e Add support for providing values and labels to the search filters
Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com>
2025-04-09 16:14:35 +02:00
github-actions[bot] c590c4413a Version Packages (next) 2025-04-08 18:12:41 +00:00
Paul Schultz 66d2113abe update api reports
Signed-off-by: Paul Schultz <pschultz@pobox.com>

fix linting

Signed-off-by: Paul Schultz <pschultz@pobox.com>
2025-04-08 07:35:24 -05:00