|
1 | 1 | # @alfalab/scripts-modules |
2 | 2 |
|
| 3 | +## 1.11.0 |
| 4 | + |
| 5 | +### Minor Changes |
| 6 | + |
| 7 | +- [#532](https://github.com/core-ds/arui-scripts/pull/532) [`b82a10c`](https://github.com/core-ds/arui-scripts/commit/b82a10c4e90e625ff538f47528de0869f798d6d4) Thanks [@heymdall-legal](https://github.com/heymdall-legal)! - Добавлены API для монтирования модулей в React Suspense и SSR: |
| 8 | + |
| 9 | + - `createLazyMounter` для клиентского монтирования модулей через `React.Suspense`; |
| 10 | + - `createSsrMounter` из подпути `@alfalab/scripts-modules/ssr` для серверного рендеринга |
| 11 | + mountable-модулей, передачи ресурсов через встроенный payload и последующей клиентской |
| 12 | + гидрации без повторного запроса ресурсов; |
| 13 | + - опциональные методы модулей `hydrate` и `update`, а также настройка доставки SSR-стилей: |
| 14 | + inline по умолчанию или `<link>` через `stylesMode: 'link'`. |
| 15 | + |
| 16 | + Стили module-federation модулей, отрисованные на сервере, переиспользуются на клиенте без |
| 17 | + повторной загрузки и мигания интерфейса. |
| 18 | + |
| 19 | + `AruiAppManifest.css` и `createModuleFetcher` теперь принимают `string | string[]`. |
| 20 | + |
| 21 | + `createServerStateModuleFetcher` теперь использует стандартный `fetch` вместо |
| 22 | + `XMLHttpRequest`, поэтому рантаймам без глобального `fetch` потребуется полифил. |
| 23 | + |
| 24 | + Подробнее: [документация `@alfalab/scripts-modules`](../packages/arui-scripts-modules/README.md#createssrmounter) |
| 25 | + и [SSR-спецификация](../docs/specs/ssr-spec.md). |
| 26 | + |
| 27 | +- [#532](https://github.com/core-ds/arui-scripts/pull/532) [`4fa8be2`](https://github.com/core-ds/arui-scripts/commit/4fa8be235a824df207b4209201d9ff792f925860) Thanks [@heymdall-legal](https://github.com/heymdall-legal)! - Серверный кэш ресурсов в `createSsrMounter` стал per-request: теперь он передаётся через |
| 28 | + React-контекст провайдером `ModuleSsrRequestProvider` (`@alfalab/scripts-modules/ssr`), который |
| 29 | + хост должен обернуть вокруг дерева на сервере с уникальным `requestId` на каждый HTTP-запрос. |
| 30 | + Это исключает случайное переиспользование `moduleState` между одновременными запросами и утечку |
| 31 | + записей кэша от прерванных рендеров. На клиенте провайдер не требуется. |
| 32 | + |
3 | 33 | ## 1.10.3 |
4 | 34 |
|
5 | 35 | ### Patch Changes |
|
0 commit comments