Commit Graph

59 Commits

Author SHA1 Message Date
CatsJuice 4011214451 fix(ios): avoid keyboard covering dialog (#11681)
close PD-2540
2025-04-15 04:30:19 +00:00
pengx17 dccd7c20aa feat(core): call real endpoint for audio transcription (#11139)
fix AF-2359
2025-03-28 07:59:35 +00:00
L-Sun 067469aa98 fix(component): prevent auto focus in mobile modal (#9247)
Continue [BS-2169](https://linear.app/affine-design/issue/BS-2169/新的-menu-不支持移动端)
2024-12-23 09:56:58 +00:00
JimmFly 2988dc284e chore: adjust input style (#9217) 2024-12-20 04:18:34 +00:00
CatsJuice 84df2a1d16 fix(mobile): disable navigation gesture for swipe-dialog (#8993) 2024-12-12 06:55:16 +00:00
JimmFly 612310bc26 feat(core): impl team workspace (#8920)
AF-1738 AF-1735 AF-1731 AF-1721 AF-1717 AF-1736 AF-1727 AF-1719 AF-1877
UI for team workspaces :
- add upgrade to team & successful upgrade page ( `/upgrade-to-team` & `/upgrade-success/team`)
- update team plans on pricing page ( settings —> pricing plans )
- update reaching the usage/member limit modal
- update invite member modal
- update member CRUD options
2024-12-10 06:31:36 +00:00
pengx17 af81c95b85 fix(mobile): workaround for tag modal blink (#8985)
workaround for fix AF-1822
2024-12-03 02:08:32 +00:00
CatsJuice 71ab75e30e feat(mobile): mobile experimental feature setting (#8922)
close AF-1802

![CleanShot 2024-11-26 at 10.02.27.gif](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/09d24e35-a524-497d-b5aa-840bf74f128f.gif)
2024-11-28 07:25:06 +00:00
CatsJuice b369ee0cca feat(mobile): disable swipe back gesture when there is no back in header (#8876)
close AF-1663, AF-1756

- new global `ModalConfigContext`
- new logic to judge whether inside modal
- render `✕` for PageHeader back if inside modal
- only enable `NavigationGesture` when there is `<` in PageHeader
2024-11-25 03:12:21 +00:00
CatsJuice 39cb1b7714 chore: bump theme, update mobile home background color (#8799) 2024-11-14 06:57:08 +00:00
pengx17 fa82842cd7 fix(mobile): doc property styles (#8760)
fix AF-1582
fix AF-1671

- mobile doc info dialog styles
- added ConfigModal for editing property values in modal, including:
  - workspace properties: text, number, tags
  - db properties: text, number, label, link
2024-11-12 07:11:00 +00:00
CatsJuice 06591db8d9 fix(mobile): adjust mobile UI (#8719)
- fix(mobile): add close button for login, close AF-1581
- fix(mobile): adjust explorer title font, close AF-1575
- fix(mobile): disable user-select globally, close AF-1626
- fix(mobile): usage loading ui in setting, close AF-1422
- fix(mobile): adjust header height, close AF-1574
2024-11-08 00:48:31 +00:00
EYHN 902635e60f refactor(core): desktop project struct (#8334) 2024-11-05 11:00:33 +08:00
CatsJuice cdaac5602c feat(mobile): manage docs/tags/collections in explorer (#8649)
close AF-1564, AF-1542
2024-11-04 05:28:06 +00:00
Cats Juice c87a392f29 fix(component): confirm modal should not clip content (#8325) 2024-09-20 07:38:15 +00:00
forehalo a387e4ac07 refactor: migrate environment to BUILD_CONFIG (#8206) 2024-09-13 07:58:20 +00:00
CatsJuice 81ab8ac8b3 feat(mobile): pwa and browser theme-color optimization (#8168)
[AF-1325](https://linear.app/affine-design/issue/AF-1325/优化-pwa-体验), [AF-1317](https://linear.app/affine-design/issue/AF-1317/优化:-pwa-的顶部-status-bar-颜色应与背景保持一致), [AF-1318](https://linear.app/affine-design/issue/AF-1318/优化:pwa-的底部应当有符合设备安全高度的padding), [AF-1321](https://linear.app/affine-design/issue/AF-1321/更新一下-fail-的-pwa-icon)

- New `<SafeArea />` ui component
- New `useThemeColorV1` / `useThemeColorV2` hook:
    - to modify `<meta name="theme-color" />` with given theme key
2024-09-11 02:20:59 +00:00
pengx17 fb76fdfca3 fix(core): menu not scrollable when opening in modal (#8179)
fix AF-1360

When menu (with modal = false) is rendered in Modal, the [RemoveScroll utility wrapped by Modal](https://github.com/radix-ui/primitives/blob/660060a765634e9cc7bf4513f41e8dabc9824d74/packages/react/dialog/src/Dialog.tsx#L203) will prevent menu from scrolling.

The reason why menu is scrollable within a dialog is because it is also wrapped a RemoveScroll [when modal is on. ](https://github.com/radix-ui/primitives/blob/660060a765634e9cc7bf4513f41e8dabc9824d74/packages/react/menu/src/Menu.tsx#L305)

In this fix, added a `useWithinModal` utility hook so that menu will automatically assign noportal mode for menu when it is rendered inside of a modal.
2024-09-10 06:09:00 +00:00
CatsJuice 03c2051926 feat(component): startScopedViewTranstion func to support scoped view transition (#8093)
AF-1293
2024-09-05 06:45:29 +00:00
EYHN 2524491bd1 fix(env): is mobile flag (#8005)
only 'mobile' entry has isMobile = true flag
2024-09-04 09:21:36 +00:00
CatsJuice 0d6f468385 fix(component): nested modal view-transition support (#8073)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/b8033923-8f08-4c72-96b6-d790fc0ff703.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/b8033923-8f08-4c72-96b6-d790fc0ff703.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/b8033923-8f08-4c72-96b6-d790fc0ff703.mp4">CleanShot 2024-09-03 at 18.36.17.mp4</video>
2024-09-04 01:29:22 +00:00
pengx17 d00f86c3ce fix(core): handle modal overlay click event correctly (#8063)
1. overlay click + hide is brought back. this is because modal (ormobile menu)'s `onPointerDownOutside` is bound to document.body. Code in https://github.com/toeverything/AFFiNE/blob/e58af08f6325c7c2c6cbd3325e954fd7d2ab6859/packages/frontend/core/src/modules/explorer/views/tree/node.tsx#L353-L356 will stop the event from bubbling to the document element.
2. when Menu's set to modal=true, the parent is set to pointer-events: none as well. changed menu to modal false instead.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/3e50281f-839d-4463-af00-dff2fce8202b.png)
2024-09-03 12:00:00 +00:00
CatsJuice ad110078ac feat(mobile): setting page ui (#8048)
AF-1275
2024-09-03 03:27:18 +00:00
pengx17 697f2c6520 fix(core): remove modal default overlay onclick (#8035)
fix AF-1300

overlay click is already handled in `handlePointerDownOutSide`. adding onclick to overlay will cause issues on closing nested menus.
2024-09-02 02:59:18 +00:00
pengx17 f544e69d02 fix(mobile): modal styles on mobile (#8023)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/92c0cc55-1f75-42b7-a83f-4ffa6cf205ad.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/92c0cc55-1f75-42b7-a83f-4ffa6cf205ad.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/92c0cc55-1f75-42b7-a83f-4ffa6cf205ad.mp4">20240829-1420-07.7370936.mp4</video>
2024-08-29 16:45:23 +00:00
EYHN b96ad57568 feat(core): import template (#8000) 2024-08-29 04:01:35 +00:00
Cats Juice 23b0db36b9 feat(component): mobile menu support (#7892) 2024-08-21 09:05:05 +00:00
CatsJuice 26fd9a4a1c feat(component): add autoFocusConfirmButton for confirm-modal (#7801)
close #5813

<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/aff35b76-9f73-4d15-b2cb-c25b03e2e2c3.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/aff35b76-9f73-4d15-b2cb-c25b03e2e2c3.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/aff35b76-9f73-4d15-b2cb-c25b03e2e2c3.mp4">CleanShot 2024-08-09 at 11.25.46.mp4</video>
2024-08-09 05:50:22 +00:00
CatsJuice 3d855647c7 refactor(component): refactor the implementation of Button and IconButton (#7716)
## Button
- Remove props withoutHoverStyle
   refactor hover impl with independent layer, so that hover-color won't affect the background even if is overridden outside
- Update `type` (renamed to `variant`):
  - remove `processing` and `warning`
  - rename `default` with `secondary`
- Remove `shape` props
- Remove `icon` and `iconPosition`, replaced with `prefix: ReactNode` and `suffix: ReactNode`
- Integrate tooltip for more convenient usage
- New Storybook document
- Focus style

## IconButton
- A Wrapper base on `<Button />`
- Override Button size and variant
  - size: `'12' | '14' | '16' | '20' | '24' | number`
     These presets size are referenced from the design system.
  - variant:  `'plain' | 'solid' | 'danger' | 'custom'`
- Inset icon via Button 's prefix

## Fix
- fix some button related issues
- close AF-1159, AF-1160, AF-1161, AF-1162, AF-1163, AF-1158, AF-1157

## Storybook

![CleanShot 2024-08-03 at 14.57.20@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/LakojjjzZNf6ogjOVwKE/f5a76110-35d0-4082-a940-efc12bed87b0.png)
2024-08-05 02:57:23 +00:00
EYHN bb767a6cdc fix(component): modal overlap issue (#7691) 2024-08-01 08:03:21 +00:00
EYHN 6bc5337307 refactor(core): adjust modal animation (#7606)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/g3jz87HxbjOJpXV3FPT7/529d6c3f-4b23-43ac-84cc-171713d3dc72.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/g3jz87HxbjOJpXV3FPT7/529d6c3f-4b23-43ac-84cc-171713d3dc72.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/529d6c3f-4b23-43ac-84cc-171713d3dc72.mp4">CleanShot 2024-07-25 at 20.04.01.mp4</video>

When a modal is closed, sometimes its components are completely unmounted from the component tree, making it difficult to animate. This pr defining a custom element as the container of ReactDOM.portal, rewriting the `removeChild` function, and use `startViewTransition` when ReactDOM calls it to implement the animation.

# Save Input

Some inputs use blur event to save data, but when they are unmounted, blur event will not be triggered at all. This pr changes blur event to native addEventListener, which will be called after the DOM element is unmounted, so as to save data in time.
2024-07-26 08:39:34 +00:00
EYHN 54da85ec62 feat(core): init organize (#7456) 2024-07-26 04:35:32 +00:00
EYHN 98281a6394 refactor(component): adjust confirm modal api (#7589) 2024-07-24 08:18:33 +00:00
JimmFly 55db9f9719 feat(component): add animations to modal (#7474)
Add opening and closing animations to modal.

The usage of conditional rendering as shown below is not recommended:
```
open ? (
      <Modal
        open={open}
        ...
      />
    ) : null,
```

When the modal is closed, it gets removed from the DOM instantly without running any exit animations that might be defined in the Modal component.
2024-07-22 03:22:42 +00:00
CatsJuice d6ad7d566f chore(core): adjust ai onboarding dismiss logic, persist dialog and dismiss once closed (#7417) 2024-07-04 07:00:17 +00:00
Cats Juice fa2305b0e2 feat(core): replace all radio-button-group usage (#7352) 2024-06-27 17:54:30 +08:00
JimmFly 6b47c6beda fix(core): unexpected text overflow style in dialog (#7345)
close AF-967
before:
<img width="502" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/839096b2-62b1-4ca3-b410-99c478eeac53">

after:
<img width="496" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/9f02c305-e122-4c6c-a3c6-32647fa9e4c5">
2024-06-26 13:21:28 +00:00
forehalo 7b3673ae82 chore: assign todos (#7297) 2024-06-21 07:54:14 +00:00
L-Sun 09201d42a0 chore: bump up @blocksuite/icons version (#7233) 2024-06-18 17:07:11 +08:00
pengx17 7095ca1be6 fix: cleanup usePromptModal (#7157) 2024-06-06 06:29:47 +00:00
pengx17 fa4e4c738a chore: bump blocksuite (#7152)
## Features
- https://github.com/toeverything/BlockSuite/pull/7208 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7207 @pengx17
- https://github.com/toeverything/BlockSuite/pull/7206 @regischen
- https://github.com/toeverything/BlockSuite/pull/7194 @akumatus
- https://github.com/toeverything/BlockSuite/pull/7209 @Saul-Mirone

## Bugfix
- https://github.com/toeverything/BlockSuite/pull/7205 @fundon
- https://github.com/toeverything/BlockSuite/pull/7211 @L-Sun
- https://github.com/toeverything/BlockSuite/pull/7210 @fundon

## Refactor

## Misc
- https://github.com/toeverything/BlockSuite/pull/7203 @fundon

Also added prompt implementation to fix type change issue

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/2c0efce1-c50f-4a8f-892c-bf8e2d99bef2.png)
2024-06-05 09:33:18 +00:00
pengx17 2ca77d9170 refactor: find in page (#7086)
- refactor rxjs data flow
- use canvas text to mitigate searchable search box input text issue
2024-05-28 06:19:53 +00:00
pengx17 88d4351c28 feat: provide notification to bs (#7002)
upstream https://github.com/toeverything/blocksuite/pull/7101
fix AFF-1120
2024-05-24 10:36:50 +00:00
pengx17 5e1528b50b fix: export then add test case (#7024) 2024-05-24 04:49:08 +00:00
EYHN 764da784ae feat(core): add enable cloud failed notify (#6741) 2024-04-30 04:46:09 +00:00
renovate 313952c45d chore: bump up all non-major dependencies (#6235)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.537.0` -> `3.552.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.537.0/3.552.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.552.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.552.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.537.0/3.552.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.537.0/3.552.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@electron-forge/maker-base](https://togithub.com/electron/forge) | [`7.3.0` -> `7.3.1`](https://renovatebot.com/diffs/npm/@electron-forge%2fmaker-base/7.3.0/7.3.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@electron-forge%2fmaker-base/7.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@electron-forge%2fmaker-base/7.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@electron-forge%2fmaker-base/7.3.0/7.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@electron-forge%2fmaker-base/7.3.0/7.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@napi-rs/cli](https://togithub.com/napi-rs/napi-rs) | [`3.0.0-alpha.43` -> `3.0.0-alpha.46`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.43/3.0.0-alpha.46) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.43/3.0.0-alpha.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.43/3.0.0-alpha.46?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@nx/vite](https://nx.dev) ([source](https://togithub.com/nrwl/nx/tree/HEAD/packages/vite)) | [`18.1.2` -> `18.2.4`](https://renovatebot.com/diffs/npm/@nx%2fvite/18.1.2/18.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@nx%2fvite/18.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nx%2fvite/18.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nx%2fvite/18.1.2/18.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nx%2fvite/18.1.2/18.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/exporter-prometheus](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.49.0` -> `^0.50.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.49.1/0.50.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fexporter-prometheus/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fexporter-prometheus/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fexporter-prometheus/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fexporter-prometheus/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.49.0` -> `^0.50.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.49.1/0.50.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-graphql](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.38.0` -> `^0.39.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.38.0/0.39.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-graphql/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-graphql/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-graphql/0.38.0/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-graphql/0.38.0/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-http](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.49.0` -> `^0.50.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.49.1/0.50.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-http/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-http/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-http/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-http/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-ioredis](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.38.0` -> `^0.39.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0/0.39.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-ioredis/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-ioredis/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-ioredis/0.38.0/0.39.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-nestjs-core](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-nestjs-core#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.35.0` -> `^0.36.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0/0.36.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-nestjs-core/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-nestjs-core/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-nestjs-core/0.35.0/0.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/instrumentation-socket.io](https://togithub.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-socket.io#readme) ([source](https://togithub.com/open-telemetry/opentelemetry-js-contrib)) | [`^0.37.0` -> `^0.38.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0/0.38.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2finstrumentation-socket.io/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2finstrumentation-socket.io/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2finstrumentation-socket.io/0.37.0/0.38.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@opentelemetry/sdk-node](https://togithub.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://togithub.com/open-telemetry/opentelemetry-js)) | [`^0.49.0` -> `^0.50.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.49.1/0.50.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@opentelemetry%2fsdk-node/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@opentelemetry%2fsdk-node/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@opentelemetry%2fsdk-node/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@opentelemetry%2fsdk-node/0.49.1/0.50.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-import-x](https://togithub.com/un-ts/eslint-plugin-import-x) | [`^0.4.1` -> `^0.5.0`](https://renovatebot.com/diffs/npm/eslint-plugin-import-x/0.4.4/0.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-import-x/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-import-x/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-import-x/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-import-x/0.4.4/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-sonarjs](https://togithub.com/SonarSource/eslint-plugin-sonarjs) | [`^0.24.0` -> `^0.25.0`](https://renovatebot.com/diffs/npm/eslint-plugin-sonarjs/0.24.0/0.25.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-sonarjs/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-sonarjs/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-sonarjs/0.24.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-sonarjs/0.24.0/0.25.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [vite-plugin-dts](https://togithub.com/qmhc/vite-plugin-dts) | [`3.7.3` -> `3.8.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/3.7.3/3.8.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/3.7.3/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/3.7.3/3.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.552.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35520-2024-04-09)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.550.0...v3.552.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.550.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35500-2024-04-05)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.549.0...v3.550.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.549.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35490-2024-04-04)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.540.0...v3.549.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://togithub.com/aws-sdk/client-s3)

### [`v3.540.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#35400-2024-03-22)

[Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.537.0...v3.540.0)

##### Bug Fixes

-   **util-endpoints:** augment endpointFunctions inline in endpointResolver functions ([#&#8203;5933](https://togithub.com/aws/aws-sdk-js-v3/issues/5933)) ([42a791d](https://togithub.com/aws/aws-sdk-js-v3/commit/42a791defb20c697fefc985f1f2b22fc9e5be388))

</details>

<details>
<summary>electron/forge (@&#8203;electron-forge/maker-base)</summary>

### [`v7.3.1`](https://togithub.com/electron/forge/releases/tag/v7.3.1)

[Compare Source](https://togithub.com/electron/forge/compare/v7.3.0...v7.3.1)

##### What's Changed

##### Highlighted Feature:

-   build: Bump [@&#8203;electron/windows-sign](https://togithub.com/electron/windows-sign) deps by [@&#8203;felixrieseberg](https://togithub.com/felixrieseberg) in [https://github.com/electron/forge/pull/3524](https://togithub.com/electron/forge/pull/3524)

This change enables advanced code signing with \[[@&#8203;electron/windows-sign](https://togithub.com/electron/windows-sign)]\[[@&#8203;electron/windows-sign](https://togithub.com/electron/windows-sign)], supporting two different ways to codesign your application and the installer:

1.  Modern: By passing a `windowsSign` option, which will be passed to \[[@&#8203;electron/windows-sign](https://togithub.com/electron/windows-sign)]. This method allows full customization of the code-signing process - and supports more complicated scenarios like cloud-hosted EV certificates, custom sign pipelines, and per-file overrides. It also supports all existing "simple" codesigning scenarios, including just passing a certificate file and password. Please see https://github.com/[@&#8203;electron/windows-sign](https://togithub.com/electron/windows-sign) for all possible configuration options.

    When passing `windowsSign`, do not pass any other available parameters at the top level (like `certificateFile`, `certificatePassword`, or `signWithParams`).

2.  Legacy: By passing the top-level settings (`certificateFile`, `certificatePassword`, and `signWithParams`). For simple codesigning scenarios, there's no reason not to use this method - it'll work just as fine as the modern method.

##### Bug Fixes and Improvements

-   fix(publisher-github): don't sanitize asset names before upload by [@&#8203;dsanders11](https://togithub.com/dsanders11) in [https://github.com/electron/forge/pull/3485](https://togithub.com/electron/forge/pull/3485)

-   build: bump memory limit for docs:generate script by [@&#8203;dsanders11](https://togithub.com/dsanders11) in [https://github.com/electron/forge/pull/3500](https://togithub.com/electron/forge/pull/3500)

-   build: fix keyv type resolution warning during dev by [@&#8203;MarshallOfSound](https://togithub.com/MarshallOfSound) in [https://github.com/electron/forge/pull/3507](https://togithub.com/electron/forge/pull/3507)

-   build(deps): bump actions/setup-node from 4.0.1 to 4.0.2 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/electron/forge/pull/3522](https://togithub.com/electron/forge/pull/3522)

-   build(deps): bump follow-redirects from 1.15.4 to 1.15.6 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/electron/forge/pull/3537](https://togithub.com/electron/forge/pull/3537)

-   ci(windows): pin version of wix toolset to v3.14.0 by [@&#8203;erickzhao](https://togithub.com/erickzhao) in [https://github.com/electron/forge/pull/3525](https://togithub.com/electron/forge/pull/3525)

-   docs: update forge create-electron-app template to match tutorial by [@&#8203;alicelovescake](https://togithub.com/alicelovescake) in [https://github.com/electron/forge/pull/3528](https://togithub.com/electron/forge/pull/3528)

##### New Contributors

-   [@&#8203;alicelovescake](https://togithub.com/alicelovescake) made their first contribution in [https://github.com/electron/forge/pull/3528](https://togithub.com/electron/forge/pull/3528)

**Full Changelog**: https://github.com/electron/forge/compare/v7.3.0...v7.3.1

![image](https://togithub.com/electron/forge/assets/33054982/3ebd6e16-0db8-4c66-bdb0-dc4461b8226d)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;napi-rs/cli)</summary>

### [`v3.0.0-alpha.46`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.46)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.45...@napi-rs/cli@3.0.0-alpha.46)

#### What's Changed

-   fix(deps): update dependency emnapi to v1.1.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/2017](https://togithub.com/napi-rs/napi-rs/pull/2017)
-   feat(cli): add support for armv7-unknown-linux-muslebihf by [@&#8203;sapphi-red](https://togithub.com/sapphi-red) in [https://github.com/napi-rs/napi-rs/pull/2019](https://togithub.com/napi-rs/napi-rs/pull/2019)
-   feat(cli): add support for powerpc64le-unknown-linux-gnu by [@&#8203;sapphi-red](https://togithub.com/sapphi-red) in [https://github.com/napi-rs/napi-rs/pull/2023](https://togithub.com/napi-rs/napi-rs/pull/2023)
-   feat(cli): add support for s390x-unknown-linux-gnu by [@&#8203;sapphi-red](https://togithub.com/sapphi-red) in [https://github.com/napi-rs/napi-rs/pull/2028](https://togithub.com/napi-rs/napi-rs/pull/2028)
-   feat(cli): support wasm32-wasipxx targets by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2030](https://togithub.com/napi-rs/napi-rs/pull/2030)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.45...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.46

### [`v3.0.0-alpha.45`](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.44...@napi-rs/cli@3.0.0-alpha.45)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.44...@napi-rs/cli@3.0.0-alpha.45)

### [`v3.0.0-alpha.44`](https://togithub.com/napi-rs/napi-rs/releases/tag/%40napi-rs/cli%403.0.0-alpha.44)

[Compare Source](https://togithub.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.43...@napi-rs/cli@3.0.0-alpha.44)

#### What's Changed

-   fix(cli): cleanup js binding template by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1984](https://togithub.com/napi-rs/napi-rs/pull/1984)
-   chore(deps): lock file maintenance by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1987](https://togithub.com/napi-rs/napi-rs/pull/1987)
-   chore(deps): update yarn to v4.1.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/1989](https://togithub.com/napi-rs/napi-rs/pull/1989)
-   ci: fix arm64 job by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/1998](https://togithub.com/napi-rs/napi-rs/pull/1998)
-   chore(deps): bump follow-redirects from 1.15.5 to 1.15.6 by [@&#8203;dependabot](https://togithub.com/dependabot) in [https://github.com/napi-rs/napi-rs/pull/2004](https://togithub.com/napi-rs/napi-rs/pull/2004)
-   fix(deps): update dependency emnapi to v1.1.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/napi-rs/napi-rs/pull/2006](https://togithub.com/napi-rs/napi-rs/pull/2006)
-   chore(wasm-runtime): upgrade emnapi by [@&#8203;Brooooooklyn](https://togithub.com/Brooooooklyn) in [https://github.com/napi-rs/napi-rs/pull/2008](https://togithub.com/napi-rs/napi-rs/pull/2008)

**Full Changelog**: https://github.com/napi-rs/napi-rs/compare/napi@2.16.0...[@&#8203;napi-rs/cli](https://togithub.com/napi-rs/cli)[@&#8203;3](https://togithub.com/3).0.0-alpha.44

</details>

<details>
<summary>nrwl/nx (@&#8203;nx/vite)</summary>

### [`v18.2.4`](https://togithub.com/nrwl/nx/releases/tag/18.2.4)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.2.3...18.2.4)

##### 18.2.4 (2024-04-09)

##### 🩹 Fixes

-   **angular:** fix dynamic module federation generation ([#&#8203;22724](https://togithub.com/nrwl/nx/pull/22724))
-   **core:** update pty version to add windows specific flags ([#&#8203;22711](https://togithub.com/nrwl/nx/pull/22711))
-   **nextjs:** Adding tailwind should work when creating an app OOTB ([#&#8203;22709](https://togithub.com/nrwl/nx/pull/22709))

##### ❤️  Thank You

-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v18.2.3`](https://togithub.com/nrwl/nx/releases/tag/18.2.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.2.2...18.2.3)

#### 18.2.3 (2024-04-05)

##### 🚀 Features

-   **core:** list crystal plugins with nx report ([#&#8203;22649](https://togithub.com/nrwl/nx/pull/22649))

##### 🩹 Fixes

-   **bundling:** print errors from rollup build ([#&#8203;22707](https://togithub.com/nrwl/nx/pull/22707))
-   **core:** write terminal output to cache folder ([#&#8203;22673](https://togithub.com/nrwl/nx/pull/22673))
-   **core:** errors from create dependencies should show properly ([#&#8203;22695](https://togithub.com/nrwl/nx/pull/22695))
-   **core:** not passing props of run-commands to underlying command ([#&#8203;22595](https://togithub.com/nrwl/nx/pull/22595))
-   **js:** update jest snapshot after vite-plugin-dts bump ([#&#8203;22621](https://togithub.com/nrwl/nx/pull/22621))
-   **js:** append target when generating tmp tsconfig to prevent conflicts [#&#8203;21396](https://togithub.com/nrwl/nx/issues/21396) ([#&#8203;22671](https://togithub.com/nrwl/nx/pull/22671), [#&#8203;21396](https://togithub.com/nrwl/nx/issues/21396))
-   **js:** propagate error from child process to [@&#8203;nx/js](https://togithub.com/nx/js):node executor ([#&#8203;22705](https://togithub.com/nrwl/nx/pull/22705))
-   **misc:** fix optional branch tracking on ci pipeline ([#&#8203;22652](https://togithub.com/nrwl/nx/pull/22652))
-   **module-federation:** serve dynamic remotes statically in their own processes ([#&#8203;22688](https://togithub.com/nrwl/nx/pull/22688))
-   **nx-dev:** Update urls that are 404 ([#&#8203;22653](https://togithub.com/nrwl/nx/pull/22653))
-   **release:** respect root .npmrc registry settings for publishing ([9dd97c43a1](https://togithub.com/nrwl/nx/commit/9dd97c43a1))
-   **testing:** fix playwright executor uiPort option schema ([#&#8203;22610](https://togithub.com/nrwl/nx/pull/22610))
-   **testing:** app generators should create correct e2e config at generation time ([#&#8203;22565](https://togithub.com/nrwl/nx/pull/22565))
-   **vite:** ensure cache is created correctly for separate vite and vitest config files [#&#8203;22244](https://togithub.com/nrwl/nx/issues/22244) ([#&#8203;22618](https://togithub.com/nrwl/nx/pull/22618), [#&#8203;22244](https://togithub.com/nrwl/nx/issues/22244))
-   **webpack:** bring back previous SVG and SVGR behavior for React projects ([#&#8203;22628](https://togithub.com/nrwl/nx/pull/22628))
-   **webpack:** support standard webpack config with [@&#8203;nx/webpack](https://togithub.com/nx/webpack):dev-server ([#&#8203;22660](https://togithub.com/nrwl/nx/pull/22660))
-   **webpack:** remove url-loader from dependencies since it is replaced by asset modules ([#&#8203;22698](https://togithub.com/nrwl/nx/pull/22698))

##### ❤️  Thank You

-   Altan Stalker
-   Austin Fahsl [@&#8203;fahslaj](https://togithub.com/fahslaj)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Craigory Coppola [@&#8203;AgentEnder](https://togithub.com/AgentEnder)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v18.2.2`](https://togithub.com/nrwl/nx/releases/tag/18.2.2)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.2.1...18.2.2)

#### 18.2.2 (2024-04-02)

##### 🚀 Features

-   **vite:** migrate to latest vite-plugin-dts ([#&#8203;22614](https://togithub.com/nrwl/nx/pull/22614))

##### 🩹 Fixes

-   **angular:** prevent false positive validation due to option default value in dev-server executor ([#&#8203;22606](https://togithub.com/nrwl/nx/pull/22606))
-   **angular:** respect skipPackageJson correctly in library generator ([#&#8203;22608](https://togithub.com/nrwl/nx/pull/22608))
-   **angular:** fix @&#8203;nx/angular/src/utils entry point ([#&#8203;22609](https://togithub.com/nrwl/nx/pull/22609))
-   **core:** do not assume workspace inputs cause all projects to be af… ([#&#8203;22573](https://togithub.com/nrwl/nx/pull/22573))
-   **react-native:** storybook relative paths ([#&#8203;22031](https://togithub.com/nrwl/nx/pull/22031))

##### ❤️  Thank You

-   arekkubaczkowski [@&#8203;arekkubaczkowski](https://togithub.com/arekkubaczkowski)
-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)

### [`v18.2.1`](https://togithub.com/nrwl/nx/releases/tag/18.2.1)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.2.0...18.2.1)

##### 18.2.1 (2024-03-28)

##### 🩹 Fixes

-   **nuxt:** use loadConfigFile from devkit rather than [@&#8203;nuxt/kit](https://togithub.com/nuxt/kit) ([#&#8203;22571](https://togithub.com/nrwl/nx/pull/22571))

##### ❤️  Thank You

-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)

### [`v18.2.0`](https://togithub.com/nrwl/nx/releases/tag/18.2.0)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.1.3...18.2.0)

##### 18.2.0 (2024-03-28)

##### 🚀 Features

-   **angular:** support angular 17.3.0 ([#&#8203;22202](https://togithub.com/nrwl/nx/pull/22202))
-   **bundling:** refactor rollup executor to perform single build for all formats ([#&#8203;22436](https://togithub.com/nrwl/nx/pull/22436))
-   **core:** add ability to add metadata to projects ([#&#8203;22299](https://togithub.com/nrwl/nx/pull/22299))
-   **core:** create structured project graph errors with all plugin er… ([#&#8203;22404](https://togithub.com/nrwl/nx/pull/22404))
-   **core:** add ability to scope plugins ([#&#8203;22379](https://togithub.com/nrwl/nx/pull/22379))
-   **gradle:** add gradle init generator ([#&#8203;22245](https://togithub.com/nrwl/nx/pull/22245))
-   **gradle:** make gradle public ([#&#8203;22399](https://togithub.com/nrwl/nx/pull/22399))
-   **gradle:** add gradle init generator ([#&#8203;22245](https://togithub.com/nrwl/nx/pull/22245))
-   **gradle:** add technology ([#&#8203;22528](https://togithub.com/nrwl/nx/pull/22528))
-   **graph:** remove polyfills from graph client ([#&#8203;22494](https://togithub.com/nrwl/nx/pull/22494))
-   **testing:** infer open-cypress task ([#&#8203;22556](https://togithub.com/nrwl/nx/pull/22556))
-   **webpack:** create build log for remotes to help debug errors ([#&#8203;22539](https://togithub.com/nrwl/nx/pull/22539))

##### 🩹 Fixes

-   **angular:** target correct versions of ng-packagr to create stylesheet worker synchronously ([#&#8203;22485](https://togithub.com/nrwl/nx/pull/22485))
-   **angular:** prevent creating stylesheet worker multiple times in ng-packagr executors ([#&#8203;22491](https://togithub.com/nrwl/nx/pull/22491))
-   **bundling:** prevent sensitive keys from being bundled ([#&#8203;22413](https://togithub.com/nrwl/nx/pull/22413))
-   **bundling:** prevent sensitive keys from being bundled ([#&#8203;22413](https://togithub.com/nrwl/nx/pull/22413))
-   **core:** override Path env variable on Windows platform ([#&#8203;22382](https://togithub.com/nrwl/nx/pull/22382))
-   **core:** Should work if extends is a string ([a00f6438b9](https://togithub.com/nrwl/nx/commit/a00f6438b9))
-   **core:** fix no plugins found for nx init without packge.json ([#&#8203;22434](https://togithub.com/nrwl/nx/pull/22434))
-   **core:** exponential backoff retry on cache put fail ([#&#8203;21926](https://togithub.com/nrwl/nx/pull/21926))
-   **core:** override Path env variable on Windows platform ([#&#8203;22382](https://togithub.com/nrwl/nx/pull/22382))
-   **core:** Should work if extends is a string ([66ae83e569](https://togithub.com/nrwl/nx/commit/66ae83e569))
-   **core:** fix no plugins found for nx init without packge.json ([#&#8203;22434](https://togithub.com/nrwl/nx/pull/22434))
-   **core:** exponential backoff retry on cache put fail ([#&#8203;21926](https://togithub.com/nrwl/nx/pull/21926))
-   **core:** cannot read property kind of undefined ([#&#8203;21715](https://togithub.com/nrwl/nx/pull/21715))
-   **core:** rethrow unknown errors during incremental graph calculation ([#&#8203;22522](https://togithub.com/nrwl/nx/pull/22522))
-   **core:** ignore yarn/cache when watching with the daemon ([#&#8203;22516](https://togithub.com/nrwl/nx/pull/22516))
-   **core:** handle undefined properties in schemas with additionalProperties ([#&#8203;22426](https://togithub.com/nrwl/nx/pull/22426))
-   **core:** fix caching outputs which have symlinks ([#&#8203;22548](https://togithub.com/nrwl/nx/pull/22548))
-   **gradle:** fix missing tasks ([#&#8203;22400](https://togithub.com/nrwl/nx/pull/22400))
-   **gradle:** fix gradle plugin path ([#&#8203;22405](https://togithub.com/nrwl/nx/pull/22405))
-   **gradle:** fix missing tasks ([#&#8203;22400](https://togithub.com/nrwl/nx/pull/22400))
-   **gradle:** fix gradle plugin path ([#&#8203;22405](https://togithub.com/nrwl/nx/pull/22405))
-   **gradle:** fix gradle to work on windows ([#&#8203;22470](https://togithub.com/nrwl/nx/pull/22470))
-   **gradle:** fix gradle icon ([#&#8203;22553](https://togithub.com/nrwl/nx/pull/22553))
-   **gradle:** only allow certain types of task to be cached ([#&#8203;22559](https://togithub.com/nrwl/nx/pull/22559))
-   **gradle:** add [@&#8203;nx/gradle](https://togithub.com/nx/gradle) to nx migrations ([#&#8203;22567](https://togithub.com/nrwl/nx/pull/22567))
-   **js:** update babel preset to specify minor version of core-js for better optimization ([#&#8203;22433](https://togithub.com/nrwl/nx/pull/22433))
-   **js:** match core-js version with babel options ([#&#8203;22493](https://togithub.com/nrwl/nx/pull/22493))
-   **js:** migrate core-js to 3.36 for workspaces that use it ([#&#8203;22495](https://togithub.com/nrwl/nx/pull/22495))
-   **js:** handle case where tslib or [@&#8203;swc/helpers](https://togithub.com/swc/helpers) are missing from externalNodes ([#&#8203;22523](https://togithub.com/nrwl/nx/pull/22523))
-   **js:** do not write cached lockfile parsed results when an error is… ([#&#8203;22526](https://togithub.com/nrwl/nx/pull/22526))
-   **linter:** convert parser options to flat config even is parser is missing ([#&#8203;22388](https://togithub.com/nrwl/nx/pull/22388))
-   **linter:** convert parser options to flat config even is parser is missing ([#&#8203;22388](https://togithub.com/nrwl/nx/pull/22388))
-   **misc:** handle cwd correctly when generating artifacts with as-provided ([#&#8203;22411](https://togithub.com/nrwl/nx/pull/22411))
-   **misc:** handle cwd correctly when generating artifacts with as-provided ([#&#8203;22411](https://togithub.com/nrwl/nx/pull/22411))
-   **misc:** align nx init package.json scripts handling when deselecting all plugins ([#&#8203;22490](https://togithub.com/nrwl/nx/pull/22490))
-   **react:** HMR for withModuleFederation [#&#8203;22300](https://togithub.com/nrwl/nx/issues/22300) ([#&#8203;22562](https://togithub.com/nrwl/nx/pull/22562), [#&#8203;22300](https://togithub.com/nrwl/nx/issues/22300))
-   **remix:** generate correct e2e config if Crystal is used ([#&#8203;22558](https://togithub.com/nrwl/nx/pull/22558))
-   **rollup:** remove exports field from @&#8203;nx/rollup/package.json since is a breaking change ([#&#8203;22545](https://togithub.com/nrwl/nx/pull/22545))
-   **storybook:** do not set cacheableOperations if not previously set ([#&#8203;22535](https://togithub.com/nrwl/nx/pull/22535))
-   **testing:** remove root from the cypress ci-e2e group ([#&#8203;22468](https://togithub.com/nrwl/nx/pull/22468))
-   **testing:** name group of e2e ci tasks distinctly from target name ([#&#8203;22525](https://togithub.com/nrwl/nx/pull/22525))
-   **web:** spa flag should correctly define redirect ([#&#8203;22487](https://togithub.com/nrwl/nx/pull/22487))
-   **webpack:** Stylus loader path ([#&#8203;22373](https://togithub.com/nrwl/nx/pull/22373))
-   **webpack:** Stylus loader path ([#&#8203;22373](https://togithub.com/nrwl/nx/pull/22373))
-   **webpack:** pass options from executor to NxWebpackPlugin correctly ([#&#8203;22529](https://togithub.com/nrwl/nx/pull/22529))
-   **webpack:** resolve assets from executor options as relative to workspace root ([#&#8203;22544](https://togithub.com/nrwl/nx/pull/22544))

##### ❤️  Thank You

-   Colum Ferry [@&#8203;Coly010](https://togithub.com/Coly010)
-   Emily Xiong [@&#8203;xiongemi](https://togithub.com/xiongemi)
-   Jack Hsu [@&#8203;jaysoo](https://togithub.com/jaysoo)
-   Jason Jean [@&#8203;FrozenPandaz](https://togithub.com/FrozenPandaz)
-   Joel Pelaez Jorge
-   Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://togithub.com/leosvelperez)
-   Maxence LEFEBVRE
-   MaxKless [@&#8203;MaxKless](https://togithub.com/MaxKless)
-   Mike Pham
-   Miroslav Jonaš [@&#8203;meeroslav](https://togithub.com/meeroslav)
-   Nicholas Cunningham [@&#8203;ndcunningham](https://togithub.com/ndcunningham)

### [`v18.1.3`](https://togithub.com/nrwl/nx/releases/tag/18.1.3)

[Compare Source](https://togithub.com/nrwl/nx/compare/18.1.2...18.1.3)

##### 18.1.3 (2024-03-25)

##### 🚀 Features

-   **gradle:** add gradle init generator ([#&#8203;22245](https://togithub.com/nrwl/nx/pull/22245))

##### 🩹 Fixes

-   **angular:** prevent creating stylesheet worker multiple times in ng-packagr executors ([#&#8203;22491](https://togithub.com/nrwl/nx/pull/22491))
-   **bundling:** prevent sensitive keys from being bundled ([#&#8203;22413](https://togithub.com/nrwl/nx/pull/22413))
-   **core:** override Path env variable on Windows platform ([#&#8203;22382](https://togithub.com/nrwl/nx/pull/22382))
-   **core:** Should work if extends is a string ([66ae83e569](https://togithub.com/nrwl/nx/commit/66ae83e569))
-   **core:** fix no plugins found for nx init without packge.json ([#&#8203;22434](https://togithub.com/nrwl/nx/pull/22434))
-   **core:** exponential backoff retry on cache put fail ([#&#8203;21926](https://togithub.com/nrwl/nx/pull/21926))
-   **gradle:** fix missing tasks ([#&#8203;22400](https://togithub.com/nrwl/nx/pull/22400))
-   **gradle:** fix gradle plugin path ([#&#8203;22405](https://togithub.com/nrwl/nx/pull/22405))
-   **linter:** convert parser options to flat config even is parser is missing ([#&#8203;22388](https://togithub.com/nrwl/nx/pull/22388))
-   **misc:** handle cwd correctly when generating artifacts with as-provided ([#&#8203;22411](https://togithub.com/nrwl/nx/pull/22411))
-   **webpack:** Stylus loader path ([#&#8203;22373](https://togithub.com/nrwl/nx/pull/22373))

##### ❤️  Thank You

-   Emily Xiong
-   Jack Hsu
-   Jason Jean
-   Joel Pelaez Jorge
-   Leosvel Pérez Espinosa
-   Mike Pham
-   Miroslav Jonaš
-   Nicholas Cunningham

</details>

<details>
<summary>open-telemetry/opentelemetry-js (@&#8203;opentelemetry/exporter-prometheus)</summary>

### [`v0.50.0`](https://togithub.com/open-telemetry/opentelemetry-js/compare/3920b158d08daa776280bde68a79e44bafa4e8ea...5231aa255047fbc6ee3d6a299f4423ab2f8a5fbc)

[Compare Source](https://togithub.com/open-telemetry/opentelemetry-js/compare/3920b158d08daa776280bde68a79e44bafa4e8ea...5231aa255047fbc6ee3d6a299f4423ab2f8a5fbc)

</details>

<details>
<summary>open-telemetry/opentelemetry-js-contrib (@&#8203;opentelemetry/instrumentation-graphql)</summary>

### [`v0.39.0`](https://togithub.com/open-telemetry/opentelemetry-js-contrib/compare/9d19ca4103bc72bd42e28979fee19bd08d85b721...17a0bc1da3baa472ba9b867eee3c60730cc130fb)

[Compare Source](https://togithub.com/open-telemetry/opentelemetry-js-contrib/compare/9d19ca4103bc72bd42e28979fee19bd08d85b721...17a0bc1da3baa472ba9b867eee3c60730cc130fb)

### [`v0.38.1`](https://togithub.com/open-telemetry/opentelemetry-js-contrib/compare/32204a362d9dffd4cd69a1300e1f7d245df9df52...39c34df61f0e60a93fc787dcfceca9782341b837)

[Compare Source](https://togithub.com/open-telemetry/opentelemetry-js-contrib/compare/fcea8ca0c83cb1dcd8ac736e5ea4d22ff20dc982...9d19ca4103bc72bd42e28979fee19bd08d85b721)

</details>

<details>
<summary>un-ts/eslint-plugin-import-x (eslint-plugin-import-x)</summary>

### [`v0.5.0`](https://togithub.com/un-ts/eslint-plugin-import-x/blob/HEAD/CHANGELOG.md#050)

[Compare Source](https://togithub.com/un-ts/eslint-plugin-import-x/compare/v0.4.4...v0.5.0)

##### Minor Changes

-   [#&#8203;66](https://togithub.com/un-ts/eslint-plugin-import-x/pull/66) [`49418a0`](https://togithub.com/un-ts/eslint-plugin-import-x/commit/49418a0352e77a88e00c0f4cdb98f87b8d3ab5b1) Thanks [@&#8203;JounQin](https://togithub.com/JounQin)! - chore(dep)!: drop eslint <8.56 support

-   [#&#8203;66](https://togithub.com/un-ts/eslint-plugin-import-x/pull/66) [`49418a0`](https://togithub.com/un-ts/eslint-plugin-import-x/commit/49418a0352e77a88e00c0f4cdb98f87b8d3ab5b1) Thanks [@&#8203;JounQin](https://togithub.com/JounQin)! - feat!: upgrade [@&#8203;typescript-eslint/utils](https://togithub.com/typescript-eslint/utils) to v7

</details>

<details>
<summary>SonarSource/eslint-plugin-sonarjs (eslint-plugin-sonarjs)</summary>

### [`v0.25.1`](https://togithub.com/SonarSource/eslint-plugin-sonarjs/releases/tag/0.25.1)

[Compare Source](https://togithub.com/SonarSource/eslint-plugin-sonarjs/compare/0.25.0...0.25.1)

##### What's Changed

-   Resolve issue [#&#8203;456](https://togithub.com/SonarSource/eslint-plugin-sonarjs/issues/456) - [@&#8203;typescript-eslint/utils](https://togithub.com/typescript-eslint/utils) dependency is missing by [@&#8203;ericmorand-sonarsource](https://togithub.com/ericmorand-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/457](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/457)
-   Bump the project manifest version to 0.25.1 by [@&#8203;ericmorand-sonarsource](https://togithub.com/ericmorand-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/458](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/458)

##### New Contributors

-   [@&#8203;ericmorand-sonarsource](https://togithub.com/ericmorand-sonarsource) made their first contribution in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/457](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/457)

**Full Changelog**: https://github.com/SonarSource/eslint-plugin-sonarjs/compare/0.25.0...0.25.1

### [`v0.25.0`](https://togithub.com/SonarSource/eslint-plugin-sonarjs/releases/tag/0.25.0)

[Compare Source](https://togithub.com/SonarSource/eslint-plugin-sonarjs/compare/0.24.0...0.25.0)

#### What's Changed

-   Prepare for next development iteration by [@&#8203;yassin-kammoun-sonarsource](https://togithub.com/yassin-kammoun-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/446](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/446)
-   Fix FP 3699 (no-use-of-empty-return-values) to handle ambient functions by [@&#8203;zglicz](https://togithub.com/zglicz) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/451](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/451)
-   Make no-unused-collection not trigger if writing to elements of said collection by [@&#8203;zglicz](https://togithub.com/zglicz) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/452](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/452)
-   Replace devDependency `@typescript-eslint/experimental-utils` with `@typescript-eslint/utils` by [@&#8203;yassin-kammoun-sonarsource](https://togithub.com/yassin-kammoun-sonarsource) in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/453](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/453)

#### New Contributors

-   [@&#8203;zglicz](https://togithub.com/zglicz) made their first contribution in [https://github.com/SonarSource/eslint-plugin-sonarjs/pull/451](https://togithub.com/SonarSource/eslint-plugin-sonarjs/pull/451)

**Full Changelog**: https://github.com/SonarSource/eslint-plugin-sonarjs/compare/0.24.0...0.25.0

</details>

<details>
<summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary>

### [`v3.8.1`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#381-2024-03-28)

[Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.8.0...v3.8.1)

##### Bug Fixes

-   correct process property names in imports ([fb320fb](https://togithub.com/qmhc/vite-plugin-dts/commit/fb320fb8140cd7559f4a8c3f8277927720b6936d)), closes [#&#8203;316](https://togithub.com/qmhc/vite-plugin-dts/issues/316)

### [`v3.8.0`](https://togithub.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#380-2024-03-27)

[Compare Source](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.7.3...v3.8.0)

##### Bug Fixes

-   add syntactic and semantic diagnostics ([#&#8203;310](https://togithub.com/qmhc/vite-plugin-dts/issues/310)) ([7c10782](https://togithub.com/qmhc/vite-plugin-dts/commit/7c10782284ebe728ab0d8850269fcc1ecae8310e))

##### Features

-   collect declared modules when rollup types ([39606bd](https://togithub.com/qmhc/vite-plugin-dts/commit/39606bd34534e2783300e351ba8bbed7f70d6d6a)), closes [#&#8203;240](https://togithub.com/qmhc/vite-plugin-dts/issues/240)

#### [3.7.3](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.7.2...v3.7.3) (2024-02-21)

##### Bug Fixes

-   incorrect process for removing pure import ([d0c0c86](https://togithub.com/qmhc/vite-plugin-dts/commit/d0c0c867d614c120e7e02a1727699ff18e2b4570)), closes [#&#8203;301](https://togithub.com/qmhc/vite-plugin-dts/issues/301)

#### [3.7.2](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.7.1...v3.7.2) (2024-01-24)

##### Bug Fixes

-   correct match result for alias form tsconfig ([88469d0](https://togithub.com/qmhc/vite-plugin-dts/commit/88469d0e6a8883a18e93e185da8060b66cf60550)), closes [#&#8203;298](https://togithub.com/qmhc/vite-plugin-dts/issues/298)

#### [3.7.1](https://togithub.com/qmhc/vite-plugin-dts/compare/v3.7.0...v3.7.1) (2024-01-15)

##### Bug Fixes

-   improve aliases replacement logic ([e8827cb](https://togithub.com/qmhc/vite-plugin-dts/commit/e8827cb6c8be1406e4e3a9a24639b7b54ca20d53)), closes [#&#8203;294](https://togithub.com/qmhc/vite-plugin-dts/issues/294)
-   manually collect compiler options for types rollup ([0d0b255](https://togithub.com/qmhc/vite-plugin-dts/commit/0d0b255ad2731746a3ad2b484ee756cd92994651)), closes [#&#8203;297](https://togithub.com/qmhc/vite-plugin-dts/issues/297)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5In0=-->
2024-04-11 10:17:32 +00:00
CatsJuice 381be8a982 fix(component): useConfirmModal can't be closed automatically when 'onConfirm' is non-async (#6439) 2024-04-02 08:23:27 +00:00
CatsJuice 35715ab1d8 feat(core): sidebar local workspace enable cloud directly (#6366)
- Add a new hook `useEnableClould`, remove `<EnableAffineClouldModal />`
- Sidebar local workspace list item support enable AFFiNE Cloud
2024-03-29 02:08:09 +00:00
CatsJuice d412635f6b feat(component): new hook to open confirm modal (#6342)
new exports from `@affine/component`:
```ts
import { ConfirmModalProvider, useConfirmModal } from "@affine/component"
```

Open confirm modal with hook:

```ts
const Component = () => {
  const { openConfirmModal } = useConformModal();

  const open = () => {
    openConfirmModal({
      // props of ConfirmModal
      /**
       * will show loading state when confirm clicked, and close after onConfirm finished
       */
      onConfirm: async () => {
        await new Promise((r) => setTimeout(r, 2000));
      },
    });
  }
  return <Button onClick={open}>Open</Button>
}
```
2024-03-27 13:30:30 +00:00
EYHN f2adbdaba4 style: enable import-x/no-duplicates (#6279) 2024-03-25 03:55:33 +00:00