Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions .changeset/scripts-modules.md

This file was deleted.

18 changes: 0 additions & 18 deletions .changeset/scripts-server.md

This file was deleted.

11 changes: 0 additions & 11 deletions .changeset/scripts.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/ssr-per-request-cache.md

This file was deleted.

30 changes: 30 additions & 0 deletions packages/arui-scripts-modules/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# @alfalab/scripts-modules

## 1.11.0

### Minor Changes

- [#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:

- `createLazyMounter` для клиентского монтирования модулей через `React.Suspense`;
- `createSsrMounter` из подпути `@alfalab/scripts-modules/ssr` для серверного рендеринга
mountable-модулей, передачи ресурсов через встроенный payload и последующей клиентской
гидрации без повторного запроса ресурсов;
- опциональные методы модулей `hydrate` и `update`, а также настройка доставки SSR-стилей:
inline по умолчанию или `<link>` через `stylesMode: 'link'`.

Стили module-federation модулей, отрисованные на сервере, переиспользуются на клиенте без
повторной загрузки и мигания интерфейса.

`AruiAppManifest.css` и `createModuleFetcher` теперь принимают `string | string[]`.

`createServerStateModuleFetcher` теперь использует стандартный `fetch` вместо
`XMLHttpRequest`, поэтому рантаймам без глобального `fetch` потребуется полифил.

Подробнее: [документация `@alfalab/scripts-modules`](../packages/arui-scripts-modules/README.md#createssrmounter)
и [SSR-спецификация](../docs/specs/ssr-spec.md).

- [#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: теперь он передаётся через
React-контекст провайдером `ModuleSsrRequestProvider` (`@alfalab/scripts-modules/ssr`), который
хост должен обернуть вокруг дерева на сервере с уникальным `requestId` на каждый HTTP-запрос.
Это исключает случайное переиспользование `moduleState` между одновременными запросами и утечку
записей кэша от прерванных рендеров. На клиенте провайдер не требуется.

## 1.10.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/arui-scripts-modules/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@alfalab/scripts-modules",
"version": "1.10.3",
"version": "1.11.0",
"main": "./build/index.js",
"module": "./build/esm/index.js",
"typings": "./build/index.d.ts",
Expand Down
19 changes: 19 additions & 0 deletions packages/arui-scripts-server/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# @alfalab/scripts-server

## 1.4.0

### Minor Changes

- [#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)! - Добавлена поддержка серверного рендера модулей в `createGetModulesMethod`:

- `ModuleDescriptor` теперь может принимать метод `renderToHtml`, который возвращает HTML
модуля для SSR-запросов;
- в ответ ресурсов модуля может попадать поле `html`, которое используется
`createSsrMounter` из `@alfalab/scripts-modules/ssr`;
- для SSR-запросов в ответ добавляются `styles` module-federation модулей, что позволяет
хост-серверу встроить стили при серверном рендере и избежать мигания интерфейса; для
обычных (не-SSR) запросов ответ остаётся прежним;
- экспортированы типы `RenderModuleToHtmlParams`, `SsrErrorMode` и
`CreateGetModulesMethodOptions`, включая настройку обработки ошибок SSR через
`ssrErrorMode`.

Подробнее: [SSR-спецификация модулей](../docs/specs/ssr-spec.md).

## 1.3.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/arui-scripts-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@alfalab/scripts-server",
"version": "1.3.1",
"version": "1.4.0",
"main": "./build/index.js",
"typings": "./build/index.d.ts",
"license": "MPL-2.0",
Expand Down
12 changes: 12 additions & 0 deletions packages/arui-scripts/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# arui-scripts

## 23.6.0

### Minor Changes

- [#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)! - CSS module-federation модулей теперь попадает в манифест сборки на уровне каждого модуля.
Раньше стили модуля не были привязаны к его записи в манифесте, из-за чего хост-сервер не мог
отдать их при серверном рендере, и модуль отрисовывался без стилей до загрузки на клиенте.
Теперь стили доступны в записи модуля и могут быть встроены при SSR. Изменение аддитивно: для
сборок без модулей и для не-SSR потребления манифест остаётся прежним.

Подробнее: [SSR-спецификация модулей, раздел 10](../docs/specs/ssr-spec.md#10-addendum-css-delivery-for-module-federation-modules)..

## 23.5.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/arui-scripts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "arui-scripts",
"version": "23.5.1",
"version": "23.6.0",
"main": "./build/index.js",
"typings": "./build/index.d.ts",
"exports": {
Expand Down
Loading