@equinor/fusion-framework-module-app 7.4.2-next.0 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -5
- package/README.md +118 -11
- package/dist/esm/AppClient.js +16 -3
- package/dist/esm/AppClient.js.map +1 -1
- package/dist/esm/AppConfig.js +7 -1
- package/dist/esm/AppConfig.js.map +1 -1
- package/dist/esm/AppConfigurator.js +7 -0
- package/dist/esm/AppConfigurator.js.map +1 -1
- package/dist/esm/AppModuleProvider.js +80 -17
- package/dist/esm/AppModuleProvider.js.map +1 -1
- package/dist/esm/app/App.js +17 -1
- package/dist/esm/app/App.js.map +1 -1
- package/dist/esm/app/actions.js +13 -0
- package/dist/esm/app/actions.js.map +1 -1
- package/dist/esm/app/create-reducer.js +9 -0
- package/dist/esm/app/create-reducer.js.map +1 -1
- package/dist/esm/app/create-state.js +11 -0
- package/dist/esm/app/create-state.js.map +1 -1
- package/dist/esm/app/flows.js +3 -2
- package/dist/esm/app/flows.js.map +1 -1
- package/dist/esm/app/index.js +7 -0
- package/dist/esm/app/index.js.map +1 -1
- package/dist/esm/enable-app-module.js +19 -2
- package/dist/esm/enable-app-module.js.map +1 -1
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/module.js +1 -0
- package/dist/esm/module.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/AppClient.d.ts +52 -10
- package/dist/types/AppConfig.d.ts +8 -0
- package/dist/types/AppConfigurator.d.ts +32 -0
- package/dist/types/AppModuleProvider.d.ts +80 -17
- package/dist/types/app/App.d.ts +28 -3
- package/dist/types/app/actions.d.ts +16 -0
- package/dist/types/app/create-reducer.d.ts +9 -0
- package/dist/types/app/create-state.d.ts +11 -0
- package/dist/types/app/events.d.ts +17 -1
- package/dist/types/app/index.d.ts +7 -0
- package/dist/types/enable-app-module.d.ts +19 -2
- package/dist/types/errors.d.ts +8 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/module.d.ts +6 -0
- package/dist/types/types.d.ts +78 -3
- package/dist/types/version.d.ts +1 -1
- package/package.json +11 -11
- package/src/AppClient.ts +54 -11
- package/src/AppConfig.ts +15 -1
- package/src/AppConfigurator.ts +33 -1
- package/src/AppModuleProvider.ts +80 -17
- package/src/app/App.ts +29 -4
- package/src/app/actions.ts +16 -0
- package/src/app/create-reducer.ts +9 -0
- package/src/app/create-state.ts +11 -0
- package/src/app/events.ts +17 -1
- package/src/app/flows.ts +6 -2
- package/src/app/index.ts +7 -0
- package/src/enable-app-module.ts +19 -2
- package/src/errors.ts +8 -0
- package/src/index.ts +19 -0
- package/src/module.ts +6 -0
- package/src/types.ts +78 -5
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,67 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 8.0.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- a6355fe: Internal: bump `uuid` from `13.0.0` to `14.0.0`.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
## 8.0.0
|
|
10
|
+
|
|
11
|
+
### Major Changes
|
|
12
|
+
|
|
13
|
+
- abffa53: Major version bump for Fusion Framework React 19 release.
|
|
14
|
+
|
|
15
|
+
All packages are bumped to the next major version as part of the React 19 upgrade. This release drops support for React versions below 18 and includes breaking changes across the framework.
|
|
16
|
+
|
|
17
|
+
**Breaking changes:**
|
|
18
|
+
- Peer dependencies now require React 18 or 19 (`^18.0.0 || ^19.0.0`)
|
|
19
|
+
- React Router upgraded from v6 to v7
|
|
20
|
+
- Navigation module refactored with new history API
|
|
21
|
+
- `renderComponent` and `renderApp` now use `createRoot` API
|
|
22
|
+
|
|
23
|
+
**Migration:**
|
|
24
|
+
- Update your React version to 18.0.0 or higher before upgrading
|
|
25
|
+
- Replace `NavigationProvider.createRouter()` with `@equinor/fusion-framework-react-router`
|
|
26
|
+
- See individual package changelogs for package-specific migration steps
|
|
27
|
+
|
|
28
|
+
### Minor Changes
|
|
29
|
+
|
|
30
|
+
- abffa53: Add route schema support to app manifests for documentation and API schema generation.
|
|
31
|
+
|
|
32
|
+
**New Features:**
|
|
33
|
+
- **module-app**: Added `RouteSchemaEntry` type and `routes` field to `AppManifest` interface
|
|
34
|
+
- **cli**: Added `RouteSchemaEntry` type export for app manifest generation
|
|
35
|
+
|
|
36
|
+
Route schemas allow applications to document their routes in app manifests, enabling automatic API documentation and schema generation. The `RouteSchemaEntry` type represents a route with its path, description, and optional parameter/search schemas.
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import type {
|
|
40
|
+
RouteSchemaEntry,
|
|
41
|
+
AppManifest,
|
|
42
|
+
} from "@equinor/fusion-framework-module-app";
|
|
43
|
+
|
|
44
|
+
const manifest: AppManifest = {
|
|
45
|
+
appKey: "my-app",
|
|
46
|
+
displayName: "My App",
|
|
47
|
+
description: "My app description",
|
|
48
|
+
type: "standalone",
|
|
49
|
+
routes: [
|
|
50
|
+
["/", "Home page"],
|
|
51
|
+
["/products", "Products listing page"],
|
|
52
|
+
["/products/:id", "Product detail page", { id: "Product ID" }],
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Patch Changes
|
|
58
|
+
|
|
59
|
+
- Updated dependencies [abffa53]
|
|
60
|
+
- Updated dependencies [abffa53]
|
|
61
|
+
- Updated dependencies [abffa53]
|
|
62
|
+
- Updated dependencies [abffa53]
|
|
63
|
+
- @equinor/fusion-observable@9.0.0
|
|
64
|
+
- @equinor/fusion-query@7.0.0
|
|
12
65
|
|
|
13
66
|
## 7.4.1
|
|
14
67
|
|
package/README.md
CHANGED
|
@@ -1,23 +1,130 @@
|
|
|
1
|
+
# @equinor/fusion-framework-module-app
|
|
1
2
|
|
|
2
|
-
|
|
3
|
+
Framework module for loading, configuring, and managing Fusion applications at runtime.
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
Primarily used by **portal hosts** and other framework initiators that need to discover, load, and switch between applications dynamically. The module handles manifest fetching, build resolution, configuration loading, per-user app settings, and script import of application bundles.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
## When to Use
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
- You are building a portal or shell that hosts multiple Fusion applications.
|
|
10
|
+
- You need to fetch application manifests and configurations from the Fusion app service.
|
|
11
|
+
- You need to dynamically import an application's JavaScript bundle at runtime.
|
|
12
|
+
- You need to read or write per-user application settings.
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
> [!NOTE]
|
|
15
|
+
> By design this module only allows **one active application** at a time (`currentApp`).
|
|
16
|
+
> If you need multiple concurrent app instances, use the Widgets module instead.
|
|
11
17
|
|
|
12
|
-
|
|
13
|
-
> By enabling `Widgets` _(almost the same as app)_, multiple instances can be initiated
|
|
18
|
+
## Quick Start
|
|
14
19
|
|
|
15
|
-
|
|
20
|
+
Enable the module in your framework configurator:
|
|
16
21
|
|
|
17
22
|
```ts
|
|
18
23
|
import { enableAppModule } from '@equinor/fusion-framework-module-app';
|
|
19
24
|
|
|
20
|
-
export const configure = async (
|
|
21
|
-
|
|
25
|
+
export const configure = async (configurator: FrameworkConfigurator) => {
|
|
26
|
+
enableAppModule(configurator);
|
|
22
27
|
};
|
|
23
|
-
```
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Once enabled, the `AppModuleProvider` is available on the framework instance:
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
const appProvider = framework.modules.app;
|
|
34
|
+
|
|
35
|
+
// Set the current application by key
|
|
36
|
+
appProvider.setCurrentApp('my-app');
|
|
37
|
+
|
|
38
|
+
// React to current app changes
|
|
39
|
+
appProvider.current$.subscribe((app) => {
|
|
40
|
+
if (app) {
|
|
41
|
+
console.log('Current app:', app.appKey);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Core Concepts
|
|
47
|
+
|
|
48
|
+
### AppModuleProvider
|
|
49
|
+
|
|
50
|
+
The main runtime entry point. Provides methods to:
|
|
51
|
+
|
|
52
|
+
- **Fetch manifests** – `getAppManifest(appKey)` and `getAppManifests()` return observable streams of `AppManifest` objects.
|
|
53
|
+
- **Fetch configuration** – `getAppConfig(appKey)` returns the app's environment and endpoint configuration.
|
|
54
|
+
- **Manage settings** – `getAppSettings(appKey)` and `updateAppSettings(appKey, settings)` read and write per-user settings.
|
|
55
|
+
- **Set/clear current app** – `setCurrentApp(appKey)` creates an `App` instance and emits it on `current$`. `clearCurrentApp()` disposes the current app.
|
|
56
|
+
|
|
57
|
+
### App
|
|
58
|
+
|
|
59
|
+
Represents a single loaded application. Manages internal state for the manifest, config, settings, and imported script module via a reactive state machine (`FlowSubject`). Key observables:
|
|
60
|
+
|
|
61
|
+
| Observable | Emits |
|
|
62
|
+
|---------------|--------------------------------------|
|
|
63
|
+
| `manifest$` | `AppManifest` when resolved |
|
|
64
|
+
| `config$` | `AppConfig` when resolved |
|
|
65
|
+
| `settings$` | `AppSettings` (fetched on subscribe) |
|
|
66
|
+
| `modules$` | Imported `AppScriptModule` |
|
|
67
|
+
| `instance$` | Initialized `AppModulesInstance` |
|
|
68
|
+
| `status$` | Set of in-progress action types |
|
|
69
|
+
|
|
70
|
+
Call `app.initialize()` to load manifest, config, and script in parallel and receive them as a combined observable.
|
|
71
|
+
|
|
72
|
+
### AppClient
|
|
73
|
+
|
|
74
|
+
Low-level HTTP client that communicates with the Fusion app service API. Handles caching (via `Query`), response parsing (via Zod schemas), and error mapping to typed error classes (`AppManifestError`, `AppConfigError`, `AppBuildError`, `AppSettingsError`).
|
|
75
|
+
|
|
76
|
+
### AppConfig
|
|
77
|
+
|
|
78
|
+
Immutable, deeply frozen configuration object with `environment` (arbitrary key-value data) and `endpoints` (named URLs with OAuth scopes). Use `config.getEndpoint('api')` to retrieve a specific endpoint.
|
|
79
|
+
|
|
80
|
+
### AppConfigurator
|
|
81
|
+
|
|
82
|
+
Configuration builder used during module initialization. Allows overriding the default HTTP client and asset URI:
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
enableAppModule(configurator, (builder) => {
|
|
86
|
+
builder.setClient(async (args) => {
|
|
87
|
+
const http = await args.requireInstance('http');
|
|
88
|
+
return new AppClient(http.createClient('my-custom-apps'));
|
|
89
|
+
});
|
|
90
|
+
builder.setAssetUri('/custom-proxy');
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Events
|
|
95
|
+
|
|
96
|
+
When the `EventModule` is available, the app module dispatches lifecycle events on manifest, config, settings, and script loading. Key events include:
|
|
97
|
+
|
|
98
|
+
- `onCurrentAppChanged` – fired when `setCurrentApp` or `clearCurrentApp` is called
|
|
99
|
+
- `onAppManifestLoad` / `onAppManifestLoaded` / `onAppManifestFailure`
|
|
100
|
+
- `onAppConfigLoad` / `onAppConfigLoaded` / `onAppConfigFailure`
|
|
101
|
+
- `onAppSettingsLoad` / `onAppSettingsLoaded` / `onAppSettingsFailure`
|
|
102
|
+
- `onAppScriptLoad` / `onAppScriptLoaded` / `onAppScriptFailure`
|
|
103
|
+
- `onAppInitialize` / `onAppInitialized` / `onAppInitializeFailure`
|
|
104
|
+
- `onAppDispose`
|
|
105
|
+
|
|
106
|
+
## Error Handling
|
|
107
|
+
|
|
108
|
+
All API requests map HTTP status codes to typed error classes:
|
|
109
|
+
|
|
110
|
+
| Error Class | When Thrown |
|
|
111
|
+
|---------------------|--------------------------------------|
|
|
112
|
+
| `AppManifestError` | Manifest fetch fails (404, 401, 410) |
|
|
113
|
+
| `AppConfigError` | Config fetch fails |
|
|
114
|
+
| `AppBuildError` | Build metadata fetch fails |
|
|
115
|
+
| `AppSettingsError` | Settings fetch or update fails |
|
|
116
|
+
| `AppScriptModuleError` | Script import fails |
|
|
117
|
+
|
|
118
|
+
Each error includes a `type` property (`'not_found'`, `'unauthorized'`, `'deleted'`, or `'unknown'`) for programmatic handling.
|
|
119
|
+
|
|
120
|
+
## Main Exports
|
|
121
|
+
|
|
122
|
+
| Export | Description |
|
|
123
|
+
|----------------------|--------------------------------------------------|
|
|
124
|
+
| `enableAppModule` | Registers the module with a framework configurator |
|
|
125
|
+
| `AppModuleProvider` | Runtime provider with app lifecycle methods |
|
|
126
|
+
| `AppClient` | Low-level HTTP client for the app service |
|
|
127
|
+
| `AppConfigurator` | Configuration builder for module setup |
|
|
128
|
+
| `AppConfig` | Immutable app configuration (env + endpoints) |
|
|
129
|
+
| `App` / `IApp` | Application instance with reactive state |
|
|
130
|
+
| `AppModule` | Module definition for the framework |
|
package/dist/esm/AppClient.js
CHANGED
|
@@ -7,7 +7,8 @@ import { ApiApplicationBuildSchema, ApiApplicationSchema } from './schemas';
|
|
|
7
7
|
import { AppBuildError, AppConfigError, AppManifestError, AppSettingsError } from './errors';
|
|
8
8
|
import { AppConfigSelector } from './AppClient.Selectors';
|
|
9
9
|
/**
|
|
10
|
-
* Transforms
|
|
10
|
+
* Transforms a raw API application response into an {@link AppManifest},
|
|
11
|
+
* adding backwards-compatible `key` and `name` getters.
|
|
11
12
|
*
|
|
12
13
|
* @returns An object conforming to the AppManifest interface.
|
|
13
14
|
*/
|
|
@@ -28,8 +29,20 @@ const ApplicationSchema = ApiApplicationSchema.transform((x) => {
|
|
|
28
29
|
};
|
|
29
30
|
});
|
|
30
31
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
32
|
+
* Default implementation of {@link IAppClient} that communicates with the
|
|
33
|
+
* Fusion app service API over HTTP.
|
|
34
|
+
*
|
|
35
|
+
* Uses {@link Query} internally for request deduplication and caching
|
|
36
|
+
* (1-minute expiry by default). Responses are validated against Zod schemas
|
|
37
|
+
* ({@link ApiApplicationSchema}, {@link ApiApplicationBuildSchema}) and
|
|
38
|
+
* HTTP errors are mapped to typed error classes.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const httpClient = await http.createClient('apps');
|
|
43
|
+
* const appClient = new AppClient(httpClient);
|
|
44
|
+
* appClient.getAppManifest({ appKey: 'my-app' }).subscribe(console.log);
|
|
45
|
+
* ```
|
|
33
46
|
*/
|
|
34
47
|
export class AppClient {
|
|
35
48
|
#manifest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppClient.js","sourceRoot":"","sources":["../../src/AppClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAyC,GAAG,EAAE,MAAM,MAAM,CAAC;AAEnF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAE/E,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAS5E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppClient.js","sourceRoot":"","sources":["../../src/AppClient.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/AppConfig.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Recursively freezes an object and all of its nested properties.
|
|
3
|
+
*
|
|
4
|
+
* @template T - Object type being frozen.
|
|
5
|
+
* @param obj - The object to deep-freeze.
|
|
6
|
+
* @returns The same object, deeply frozen.
|
|
7
|
+
*/
|
|
2
8
|
const deepFreeze = (obj) => {
|
|
3
9
|
for (const property of Object.keys(obj)) {
|
|
4
10
|
if (typeof obj[property] === 'object' &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../src/AppConfig.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../src/AppConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAoC,GAAM,EAAK,EAAE;IAClE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IACE,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ;YACjC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI;YACtB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAC/B,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAA4B,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC;AAiBF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,SAAS;IACpB,UAAU,CAAiC;IAC3C,YAAY,CAAe;IAE3B;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YAAY,MAGX;QACC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAiB,CAAC;QACzE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { BaseConfigBuilder, } from '@equinor/fusion-framework-module';
|
|
2
2
|
import AppClient from './AppClient';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration builder for the app module.
|
|
5
|
+
*
|
|
6
|
+
* Extends {@link BaseConfigBuilder} to assemble an {@link AppModuleConfig} during
|
|
7
|
+
* framework initialization. If no explicit client is set, a default one is created
|
|
8
|
+
* via service discovery. The default `assetUri` is `'/apps-proxy'`.
|
|
9
|
+
*/
|
|
3
10
|
export class AppConfigurator extends BaseConfigBuilder {
|
|
4
11
|
defaultExpireTime = 1 * 60 * 1000;
|
|
5
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppConfigurator.js","sourceRoot":"","sources":["../../src/AppConfigurator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAM1C,OAAO,SAA8B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AppConfigurator.js","sourceRoot":"","sources":["../../src/AppConfigurator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAGlB,MAAM,kCAAkC,CAAC;AAM1C,OAAO,SAA8B,MAAM,aAAa,CAAC;AA0CzD;;;;;;GAMG;AACH,MAAM,OAAO,eACX,SAAQ,iBAAkC;IAG1C,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAElC;;OAEG;IACO,KAAK,CAAC,iBAAiB,CAC/B,IAAmF;QAEnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,CAAC;QAC3B,wDAAwD;QACxD,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAExE,8CAA8C;QAC9C,iDAAiD;QACjD,OAAO,MAAM,gBAAgB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAEM,SAAS,CACd,YAEoD;QAEpD,MAAM,EAAE,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,gEAAgE;IACzD,WAAW,CAAC,UAAkD;QACnE,MAAM,EAAE,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAES,aAAa,CACrB,IAAmF,EACnF,OAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBACxB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC5C,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -2,7 +2,27 @@ import { BehaviorSubject, distinctUntilChanged, from, map, pairwise, Subscriptio
|
|
|
2
2
|
import { App, filterEmpty } from './app/App';
|
|
3
3
|
import { SemanticVersion } from '@equinor/fusion-framework-module';
|
|
4
4
|
import { version } from './version';
|
|
5
|
+
/**
|
|
6
|
+
* Runtime provider for the app module.
|
|
7
|
+
*
|
|
8
|
+
* Exposes methods for fetching application manifests, configurations, and user
|
|
9
|
+
* settings, and for setting or clearing the current active application. When an
|
|
10
|
+
* {@link EventModule} is available, lifecycle events are dispatched as the
|
|
11
|
+
* current app changes.
|
|
12
|
+
*
|
|
13
|
+
* @remarks
|
|
14
|
+
* Only one application can be active (`current`) at a time. Setting a new current
|
|
15
|
+
* app automatically disposes the previous one. Subscribe to {@link current$} for
|
|
16
|
+
* reactive updates.
|
|
17
|
+
*/
|
|
5
18
|
export class AppModuleProvider {
|
|
19
|
+
/**
|
|
20
|
+
* Shallow-compares two app manifests by JSON serialization.
|
|
21
|
+
*
|
|
22
|
+
* @param a - First manifest to compare.
|
|
23
|
+
* @param b - Second manifest to compare.
|
|
24
|
+
* @returns `true` if the serialized manifests are identical.
|
|
25
|
+
*/
|
|
6
26
|
static compareAppManifest(a, b) {
|
|
7
27
|
return JSON.stringify(a) === JSON.stringify(b);
|
|
8
28
|
}
|
|
@@ -18,15 +38,21 @@ export class AppModuleProvider {
|
|
|
18
38
|
return new SemanticVersion(version);
|
|
19
39
|
}
|
|
20
40
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* - null
|
|
25
|
-
* -
|
|
41
|
+
* The current active application instance.
|
|
42
|
+
*
|
|
43
|
+
* - `undefined` – no application has been set yet.
|
|
44
|
+
* - `null` – the current application was explicitly cleared.
|
|
45
|
+
* - `App` – an active application instance.
|
|
26
46
|
*/
|
|
27
47
|
get current() {
|
|
28
48
|
return this.#current$.value;
|
|
29
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Observable that emits when the current application changes.
|
|
52
|
+
*
|
|
53
|
+
* Emits are deduplicated by `appKey`; re-setting the same app does not trigger
|
|
54
|
+
* a new emission.
|
|
55
|
+
*/
|
|
30
56
|
get current$() {
|
|
31
57
|
return this.#current$.pipe(distinctUntilChanged((prev, next) => {
|
|
32
58
|
if (prev && next) {
|
|
@@ -35,6 +61,12 @@ export class AppModuleProvider {
|
|
|
35
61
|
return prev === next;
|
|
36
62
|
}));
|
|
37
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates the app module provider.
|
|
66
|
+
*
|
|
67
|
+
* @param args - Object containing the resolved {@link AppModuleConfig} and an
|
|
68
|
+
* optional {@link EventModule} instance for dispatching lifecycle events.
|
|
69
|
+
*/
|
|
38
70
|
constructor(args) {
|
|
39
71
|
const { event, config } = args;
|
|
40
72
|
this.#appClient = config.client;
|
|
@@ -54,13 +86,22 @@ export class AppModuleProvider {
|
|
|
54
86
|
.subscribe((app) => app.dispose()));
|
|
55
87
|
}
|
|
56
88
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* @param
|
|
89
|
+
* Fetches the manifest for a single application by key.
|
|
90
|
+
*
|
|
91
|
+
* @param appKey - Unique application identifier.
|
|
92
|
+
* @param tag - Optional version tag (defaults to latest).
|
|
93
|
+
* @returns An observable that emits the resolved {@link AppManifest}.
|
|
60
94
|
*/
|
|
61
95
|
getAppManifest(appKey, tag) {
|
|
62
96
|
return from(this.#appClient.getAppManifest({ appKey, tag }));
|
|
63
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Fetches manifests for all registered applications.
|
|
100
|
+
*
|
|
101
|
+
* @param filter - Optional filter; set `filterByCurrentUser` to `true` to scope
|
|
102
|
+
* results to apps accessible by the authenticated user.
|
|
103
|
+
* @returns An observable that emits an array of {@link AppManifest} objects.
|
|
104
|
+
*/
|
|
64
105
|
getAppManifests(filter) {
|
|
65
106
|
return from(this.#appClient.getAppManifests(filter));
|
|
66
107
|
}
|
|
@@ -72,30 +113,42 @@ export class AppModuleProvider {
|
|
|
72
113
|
return this.getAppManifests();
|
|
73
114
|
}
|
|
74
115
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
116
|
+
* Fetches the runtime configuration for an application.
|
|
117
|
+
*
|
|
118
|
+
* @template TType - Shape of the `environment` record in the returned config.
|
|
119
|
+
* @param appKey - Unique application identifier.
|
|
120
|
+
* @param tag - Optional version tag.
|
|
121
|
+
* @returns An observable that emits the resolved {@link AppConfig}.
|
|
77
122
|
*/
|
|
78
123
|
getAppConfig(appKey, tag) {
|
|
79
124
|
return from(this.#appClient.getAppConfig({ appKey, tag }));
|
|
80
125
|
}
|
|
81
126
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
127
|
+
* Fetches per-user settings for an application.
|
|
128
|
+
*
|
|
129
|
+
* @param appKey - Unique application identifier.
|
|
130
|
+
* @returns An observable that emits the {@link AppSettings} record.
|
|
84
131
|
*/
|
|
85
132
|
getAppSettings(appKey) {
|
|
86
133
|
return from(this.#appClient.getAppSettings({ appKey }));
|
|
87
134
|
}
|
|
88
135
|
/**
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* @param
|
|
136
|
+
* Persists updated per-user settings for an application.
|
|
137
|
+
*
|
|
138
|
+
* @param appKey - Unique application identifier.
|
|
139
|
+
* @param settings - The settings record to save.
|
|
140
|
+
* @returns An observable that emits the persisted {@link AppSettings}.
|
|
92
141
|
*/
|
|
93
142
|
updateAppSettings(appKey, settings) {
|
|
94
143
|
return from(this.#appClient.updateAppSettings({ appKey, settings }));
|
|
95
144
|
}
|
|
96
145
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
146
|
+
* Sets the current active application.
|
|
147
|
+
*
|
|
148
|
+
* Accepts an app key string, an {@link IApp} instance, or an {@link AppReference}
|
|
149
|
+
* with both `appKey` and `tag`. Setting a new app disposes the previous one.
|
|
150
|
+
*
|
|
151
|
+
* @param appKeyOrApp - Application key, app reference, or an existing `IApp` instance.
|
|
99
152
|
*/
|
|
100
153
|
setCurrentApp(appKeyOrApp) {
|
|
101
154
|
if (typeof appKeyOrApp === 'string') {
|
|
@@ -110,9 +163,16 @@ export class AppModuleProvider {
|
|
|
110
163
|
}
|
|
111
164
|
this.#current$.next(appKeyOrApp);
|
|
112
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Clears the current application, disposing its resources and emitting `null`
|
|
168
|
+
* on {@link current$}.
|
|
169
|
+
*/
|
|
113
170
|
clearCurrentApp() {
|
|
114
171
|
this.#current$.next(null);
|
|
115
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Base URI used for proxying application script imports.
|
|
175
|
+
*/
|
|
116
176
|
get assetUri() {
|
|
117
177
|
return this.#appBaseUri;
|
|
118
178
|
}
|
|
@@ -124,6 +184,9 @@ export class AppModuleProvider {
|
|
|
124
184
|
console.warn('AppModuleProvider.createApp is deprecated and should not be used.');
|
|
125
185
|
return new App(value, { provider: this, event: this.#event });
|
|
126
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Tears down the provider, unsubscribing from all internal observables.
|
|
189
|
+
*/
|
|
127
190
|
dispose() {
|
|
128
191
|
this.#subscription.unsubscribe();
|
|
129
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppModuleProvider.js","sourceRoot":"","sources":["../../src/AppModuleProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,IAAI,EACJ,GAAG,EAEH,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,MAAM,CAAC;AAcd,OAAO,EAAE,GAAG,EAAE,WAAW,EAAa,MAAM,WAAW,CAAC;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,kBAAkB,CAAwB,CAAK,EAAE,CAAK;QAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAa;IAEvB,WAAW,CAAS;IAEpB,SAAS,CAAqC;IAE9C,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;IAEnC,MAAM,CAA2B;IAEjC;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CACxB,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAClC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,KAAK,IAAI,CAAC;QACvB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,YAAY,IAAkE;QAC5E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAa,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAEzC,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,IAAI,CAAC,QAAQ;aACV,IAAI,CACH,QAAQ,EAAE,EACV,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACzB;aACA,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;YAC9B,KAAK,EAAE,aAAa,CAAC,qBAAqB,EAAE;gBAC1C,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,IAAI,CAAC,SAAS;aACX,IAAI,CACH,QAAQ,EAAE,EACV,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAC7B,WAAW,EAAE,CACd;aACA,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CACrC,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"AppModuleProvider.js","sourceRoot":"","sources":["../../src/AppModuleProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/app/App.js
CHANGED
|
@@ -5,11 +5,27 @@ import { createState } from './create-state';
|
|
|
5
5
|
import { actions } from './actions';
|
|
6
6
|
import isEqual from 'fast-deep-equal';
|
|
7
7
|
import './events';
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* RxJS operator that filters out `null` and `undefined` emissions.
|
|
10
|
+
*
|
|
11
|
+
* @template T - The non-nullable value type.
|
|
12
|
+
* @returns An operator that only passes through non-nullable values.
|
|
13
|
+
*/
|
|
9
14
|
export function filterEmpty() {
|
|
10
15
|
return filter((value) => value !== undefined && value !== null);
|
|
11
16
|
}
|
|
17
|
+
/** Default empty settings object used when no settings have been fetched. */
|
|
12
18
|
const fallbackSettings = {};
|
|
19
|
+
/**
|
|
20
|
+
* Concrete implementation of {@link IApp}.
|
|
21
|
+
*
|
|
22
|
+
* Manages an internal reactive state machine ({@link FlowSubject}) that orchestrates
|
|
23
|
+
* manifest fetching, config loading, settings management, and script import. Dispatches
|
|
24
|
+
* lifecycle events through the {@link EventModule} when available.
|
|
25
|
+
*
|
|
26
|
+
* @template TEnv - Shape of the environment configuration record.
|
|
27
|
+
* @template TModules - Additional framework modules the app depends on.
|
|
28
|
+
*/
|
|
13
29
|
// TODO make streams distinct until changed from state
|
|
14
30
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
31
|
export class App {
|
package/dist/esm/app/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/app/App.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/app/App.ts"],"names":[],"mappings":"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"}
|