@equinor/fusion-framework-dev-portal 1.2.5-next.0 → 1.2.5
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 +89 -2
- package/dist/main.js +42961 -44999
- package/package.json +17 -17
- package/src/AppLoader.tsx +17 -0
- package/src/version.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,97 @@
|
|
|
1
1
|
# @equinor/fusion-framework-dev-portal
|
|
2
2
|
|
|
3
|
-
## 1.2.5
|
|
3
|
+
## 1.2.5
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
- [`
|
|
7
|
+
- [#3713](https://github.com/equinor/fusion-framework/pull/3713) [`eaa6871`](https://github.com/equinor/fusion-framework/commit/eaa6871edc07054138e88bc706a4137a3fcc261a) Thanks [@Noggling](https://github.com/Noggling)! - # Add app tag/version support for specific app builds
|
|
8
|
+
|
|
9
|
+
This changeset introduces comprehensive support for loading specific app versions using tags, enabling developers to test different app builds and manage version-specific deployments.
|
|
10
|
+
|
|
11
|
+
## New Features
|
|
12
|
+
|
|
13
|
+
### App Tag/Version Support
|
|
14
|
+
|
|
15
|
+
- **App Client**: Added `getAppBuild` method to fetch build manifests by app key and tag
|
|
16
|
+
- **App Module Provider**: Enhanced `getAppManifest` to accept optional tag parameter
|
|
17
|
+
- **App Loading**: Modified `setCurrentApp` to support `AppReference` objects with tag specification
|
|
18
|
+
- **URL Integration**: Added `getAppTagFromUrl` utility to extract app tags from URL parameters
|
|
19
|
+
|
|
20
|
+
### Enhanced Type System
|
|
21
|
+
|
|
22
|
+
- Added `AppReference` type for specifying app key and optional tag
|
|
23
|
+
- Extended `AppBundleState` to include optional `tag` property
|
|
24
|
+
- Updated `AppBuildManifest` type definition for build-specific metadata
|
|
25
|
+
|
|
26
|
+
### API Improvements
|
|
27
|
+
|
|
28
|
+
- **AppClient**: Updated interface to support tag-based manifest and build fetching
|
|
29
|
+
- **App Class**: Added `tag` getter property for accessing current app tag
|
|
30
|
+
- **Action System**: Enhanced `fetchManifest` action to handle tag parameters
|
|
31
|
+
|
|
32
|
+
## Changes by Package
|
|
33
|
+
|
|
34
|
+
### `@equinor/fusion-framework-module-app`
|
|
35
|
+
|
|
36
|
+
- **AppClient.ts**: Added `getAppBuild` method with tag support and updated `getAppManifest` signature
|
|
37
|
+
- **AppModuleProvider.ts**: Enhanced `setCurrentApp` method to handle `AppReference` objects with tags
|
|
38
|
+
- **App.ts**: Added `tag` getter and improved error handling in initialization
|
|
39
|
+
- **types.ts**: Added `AppReference` type and extended `AppBundleState` with tag property
|
|
40
|
+
- **actions.ts**: Updated `fetchManifest` action to accept tag parameter
|
|
41
|
+
- **flows.ts**: Modified manifest fetching flow to handle tag-based requests
|
|
42
|
+
|
|
43
|
+
### `@equinor/fusion-framework-dev-portal`
|
|
44
|
+
|
|
45
|
+
- **AppLoader.tsx**: Added `getAppTagFromUrl` utility function and integrated tag-based app loading
|
|
46
|
+
|
|
47
|
+
## Usage Examples
|
|
48
|
+
|
|
49
|
+
### Loading specific app version by tag
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
// Set current app with specific tag or version
|
|
53
|
+
app.setCurrentApp({ appKey: "my-app", tag: "1.2.3" });
|
|
54
|
+
|
|
55
|
+
app.setCurrentApp({ appKey: "my-app", tag: "preview" });
|
|
56
|
+
|
|
57
|
+
// Extract tag from URL and load app
|
|
58
|
+
const tag = getAppTagFromUrl();
|
|
59
|
+
if (tag) {
|
|
60
|
+
app.setCurrentApp({ appKey: "my-app", tag });
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Fetching app builds
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
// Get build manifest for specific tag
|
|
68
|
+
const buildManifest = await appClient.getAppBuild({
|
|
69
|
+
appKey: "my-app",
|
|
70
|
+
tag: "latest",
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Migration Guide
|
|
75
|
+
|
|
76
|
+
### For App Consumers
|
|
77
|
+
|
|
78
|
+
- No breaking changes - existing code continues to work
|
|
79
|
+
- Optionally use new tag-based loading for version-specific deployments
|
|
80
|
+
|
|
81
|
+
### For App Developers
|
|
82
|
+
|
|
83
|
+
- Consider adding `&tag` URL parameter support for testing different versions
|
|
84
|
+
- Use new `AppReference` type when programmatically setting current apps with tags
|
|
85
|
+
|
|
86
|
+
## Technical Details
|
|
87
|
+
|
|
88
|
+
- **Backward Compatibility**: All changes are backward compatible
|
|
89
|
+
- **Caching**: Tag-based manifests and builds are cached separately
|
|
90
|
+
- **Error Handling**: Enhanced error handling for build and manifest loading failures
|
|
91
|
+
- **Type Safety**: Full TypeScript support for all new features
|
|
92
|
+
|
|
93
|
+
closes: AB#65777
|
|
94
|
+
related to: AB#65452
|
|
8
95
|
|
|
9
96
|
## 1.2.4
|
|
10
97
|
|