You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After an extended prerelease cycle, the Fusion Framework next release line is returning to the stable channel.
This release promotes a comprehensive testing and mocking platform for Fusion applications, introduces deterministic OpenAPI-driven mock services, and adds reusable test doubles across core framework modules. It includes 90 package releases: 1 major, 23 minor, and 66 patch updates.
π§ͺ Test Fusion applications through their real module pipeline
The new @equinor/fusion-framework-vitest-plugin-react-app@1.0.0 provides Vitest Browser Mode helpers for testing React applications inside the same provider and module structure used in production.
import{renderAppHook}from'@equinor/fusion-framework-vitest-plugin-react-app';import{useAccessToken}from'@equinor/fusion-framework-react-app/msal';const{ result }=awaitrenderAppHook(()=>useAccessToken({scopes: ['User.Read']}),);awaitvi.waitFor(()=>expect(result.current.pending).toBe(false));
Highlights include:
renderAppHook and renderAppComponent for isolated hook and component tests.
testApp with reusable application, framework, render, and configuration fixtures.
defineProject for preconfigured Vitest Browser Mode projects using Playwright and Chromium.
Automatic loading of an application's manifest, environment configuration, and module configurator.
In-memory navigation and feature flags by default, preventing browser state from leaking between tests.
A migration guide for moving from Testing Library with jsdom or happy-dom to Vitest Browser Mode.
The framework and application packages also provide new mock entry points:
These helpers run the real configuration, initialization, and lifecycle pipelines while replacing only boundaries that would otherwise leave the process.
𧬠Deterministic OpenAPI mocks
Two new packages make it possible to generate realistic API responses directly from OpenAPI 3 specifications.
@equinor/fusion-openapi-mock@0.2.0
Generate schema-shaped responses without maintaining hand-written fixtures:
It supports deterministic seeding, operation overrides, custom field fakers, JSON and YAML documents, and Node-based sidecar configuration.
@equinor/fusion-openapi-mock-server@0.1.0
The standalone mock server provides:
The fusion-mock CLI and programmatic createMockServer API.
Local executable .mock.ts service definitions.
Bundled Fusion service presets.
Programmable routes and middleware.
Deterministic server-level seeding.
An HTTP control plane for per-test overrides and resets.
Browser CORS support and service-discovery integration.
The new @equinor/fusion-framework-cli-plugin-mock-server@0.1.0 exposes the server through the Fusion CLI:
ffc mock-server ./mocks --port 4010
ffc app dev and ffc app serve now also accept --mock:
ffc app dev --mock
ffc app serve --mock http://localhost:5010
Mock mode uses isolated local service discovery and in-process authentication, allowing applications to run end-to-end without Entra ID credentials or access to real APIs.
Unlike module replacement or global fetch mocking, this exercises the application's real HTTP clients and configuration while short-circuiting only the network boundary.
β οΈ Context module migration
@equinor/fusion-framework-module-context@9.0.0 contains the release's consumer-facing breaking change.
ContextModuleConfigurator.createConfig now returns an Observable<ContextModuleConfig>. Consumers calling it directly as a Promise should migrate to createConfigAsync:
Normal module registration and application startup do not require migration.
π οΈ Module and runtime improvements
This release also includes several correctness and extensibility improvements:
Multiple named HTTP or service clients can now be registered without earlier registrations being discarded.
HttpClient.abort() correctly cancels the underlying request when middleware is active.
Framework initialization no longer throws in Node or server-rendering environments without window.
MSAL client construction has supported extension points for alternative authentication clients.
The event module gains a builder-based configurator with fluent dispatch and bubbling configuration.
Empty context collections no longer produce misleading warnings.
AG Grid license banners can be suppressed in test environments.
New testing documentation and runnable Vitest and Playwright cookbooks cover unit, integration, browser, and end-to-end testing strategies.
π¦ Package highlights
Package
Version
@equinor/fusion-framework-module-context
9.0.0
@equinor/fusion-framework
8.1.0
@equinor/fusion-framework-app
13.1.0
@equinor/fusion-framework-react-app
14.1.0
@equinor/fusion-framework-cli
15.3.0
@equinor/fusion-framework-vitest-plugin-react-app
1.0.0
@equinor/fusion-openapi-mock
0.2.0
@equinor/fusion-openapi-mock-server
0.1.0
@equinor/fusion-framework-cli-plugin-mock-server
0.1.0
Many additional packages receive stable version normalization after previously being published only through the next channel. These version changes do not necessarily indicate additional breaking behavior.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
After an extended prerelease cycle, the Fusion Framework
nextrelease line is returning to the stable channel.This release promotes a comprehensive testing and mocking platform for Fusion applications, introduces deterministic OpenAPI-driven mock services, and adds reusable test doubles across core framework modules. It includes 90 package releases: 1 major, 23 minor, and 66 patch updates.
π§ͺ Test Fusion applications through their real module pipeline
The new
@equinor/fusion-framework-vitest-plugin-react-app@1.0.0provides Vitest Browser Mode helpers for testing React applications inside the same provider and module structure used in production.Highlights include:
renderAppHookandrenderAppComponentfor isolated hook and component tests.testAppwith reusable application, framework, render, and configuration fixtures.defineProjectfor preconfigured Vitest Browser Mode projects using Playwright and Chromium.The framework and application packages also provide new mock entry points:
These helpers run the real configuration, initialization, and lifecycle pipelines while replacing only boundaries that would otherwise leave the process.
𧬠Deterministic OpenAPI mocks
Two new packages make it possible to generate realistic API responses directly from OpenAPI 3 specifications.
@equinor/fusion-openapi-mock@0.2.0Generate schema-shaped responses without maintaining hand-written fixtures:
It supports deterministic seeding, operation overrides, custom field fakers, JSON and YAML documents, and Node-based sidecar configuration.
@equinor/fusion-openapi-mock-server@0.1.0The standalone mock server provides:
fusion-mockCLI and programmaticcreateMockServerAPI..mock.tsservice definitions.The new
@equinor/fusion-framework-cli-plugin-mock-server@0.1.0exposes the server through the Fusion CLI:ffc app devandffc app servenow also accept--mock:Mock mode uses isolated local service discovery and in-process authentication, allowing applications to run end-to-end without Entra ID credentials or access to real APIs.
π§© Reusable module test doubles
Core modules now expose dedicated
./mockentry points:getItemsandwaitForItem.Example HTTP middleware:
Unlike module replacement or global fetch mocking, this exercises the application's real HTTP clients and configuration while short-circuiting only the network boundary.
@equinor/fusion-framework-module-context@9.0.0contains the release's consumer-facing breaking change.ContextModuleConfigurator.createConfignow returns anObservable<ContextModuleConfig>. Consumers calling it directly as a Promise should migrate tocreateConfigAsync:Normal module registration and application startup do not require migration.
π οΈ Module and runtime improvements
This release also includes several correctness and extensibility improvements:
HttpClient.abort()correctly cancels the underlying request when middleware is active.window.π¦ Package highlights
@equinor/fusion-framework-module-context9.0.0@equinor/fusion-framework8.1.0@equinor/fusion-framework-app13.1.0@equinor/fusion-framework-react-app14.1.0@equinor/fusion-framework-cli15.3.0@equinor/fusion-framework-vitest-plugin-react-app1.0.0@equinor/fusion-openapi-mock0.2.0@equinor/fusion-openapi-mock-server0.1.0@equinor/fusion-framework-cli-plugin-mock-server0.1.0Many additional packages receive stable version normalization after previously being published only through the
nextchannel. These version changes do not necessarily indicate additional breaking behavior.π Key pull requests
nextβ #5397All reactions