@equinor/fusion-framework-cli 11.0.0 → 11.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 +22 -0
- package/README.md +15 -76
- package/bin/build/bin.mjs +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +11 -72
- package/docs/auth.md +1 -44
- package/docs/libsecret.md +0 -31
- package/docs/migration-v10-to-v11.md +22 -38
- package/docs/portal.md +4 -38
- package/package.json +6 -6
package/dist/esm/version.js
CHANGED
package/dist/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "11.0.
|
|
1
|
+
export declare const version = "11.0.1";
|
package/docs/application.md
CHANGED
|
@@ -1,71 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Developing Apps with Fusion Framework CLI
|
|
3
|
-
description: >
|
|
4
|
-
In-depth guide to building, configuring, and deploying applications using the Fusion Framework CLI. Includes setup, essential commands, configuration files, CI/CD best practices, troubleshooting, and advanced tips for modern app development.
|
|
5
|
-
category: cli
|
|
6
|
-
related:
|
|
7
|
-
- ./auth.md
|
|
8
|
-
- ./migration-v10-to-v11.md
|
|
9
|
-
tags:
|
|
10
|
-
- getting-started
|
|
11
|
-
- app-development
|
|
12
|
-
- configuration
|
|
13
|
-
- deployment
|
|
14
|
-
- ci-cd
|
|
15
|
-
- commands
|
|
16
|
-
- troubleshooting
|
|
17
|
-
- release-management
|
|
18
|
-
- automation
|
|
19
|
-
- best-practices
|
|
20
|
-
- migration
|
|
21
|
-
keywords:
|
|
22
|
-
- fusion-framework-cli upload
|
|
23
|
-
- fusion-framework-cli publish
|
|
24
|
-
- fusion-framework-cli tag
|
|
25
|
-
- fusion-framework-cli config
|
|
26
|
-
- fusion-framework-cli build
|
|
27
|
-
- fusion-framework-cli pack
|
|
28
|
-
- fusion-framework-cli check
|
|
29
|
-
- fusion-framework-cli manifest
|
|
30
|
-
- fusion-framework-cli troubleshooting
|
|
31
|
-
- fusion-framework-cli deployment
|
|
32
|
-
- fusion-framework-cli ci-cd
|
|
33
|
-
- fusion app upload
|
|
34
|
-
- fusion app publish
|
|
35
|
-
- fusion app tag
|
|
36
|
-
- fusion app config
|
|
37
|
-
- fusion app build
|
|
38
|
-
- fusion app pack
|
|
39
|
-
- fusion app check
|
|
40
|
-
- fusion app manifest
|
|
41
|
-
- fusion app troubleshooting
|
|
42
|
-
- fusion app deployment
|
|
43
|
-
- fusion app ci-cd
|
|
44
|
-
- fusion cli command reference
|
|
45
|
-
- fusion cli options
|
|
46
|
-
- fusion cli arguments
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
# Fusion Framework CLI: Application Development Guide
|
|
50
|
-
|
|
51
|
-
> **Table of Contents**
|
|
52
|
-
> - [Getting Started](#getting-started)
|
|
53
|
-
> - [Prerequisites](#prerequisites)
|
|
54
|
-
> - [Troubleshooting & FAQ](#troubleshooting--faq)
|
|
55
|
-
> - [Configuration](#configuration)
|
|
56
|
-
> - [CI/CD Best Practices](#cicd)
|
|
57
|
-
> - [Command Reference](#commands)
|
|
58
|
-
> - [Migration & Deprecated Commands](#aliases)
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
1
|
The Fusion Framework CLI empowers you to rapidly build, configure, and deploy modern applications with ease. Whether you’re starting a new project or maintaining an existing app, this CLI streamlines your workflow—from local development to production deployment.
|
|
63
2
|
|
|
64
3
|
This guide will help you get set up, understand the most important commands, and follow best practices for configuration and CI/CD. Let’s get started building robust, scalable apps with Fusion Framework!
|
|
65
4
|
|
|
66
5
|
## Getting Started
|
|
67
6
|
|
|
68
|
-
###
|
|
7
|
+
### Install the CLI
|
|
69
8
|
|
|
70
9
|
```sh
|
|
71
10
|
pnpm add -D @equinor/fusion-framework-cli
|
|
@@ -73,7 +12,7 @@ pnpm add -D @equinor/fusion-framework-cli
|
|
|
73
12
|
npm install --save-dev @equinor/fusion-framework-cli
|
|
74
13
|
```
|
|
75
14
|
|
|
76
|
-
###
|
|
15
|
+
### Scaffold a New App (if supported)
|
|
77
16
|
|
|
78
17
|
> **Tip:** If you have a template or starter, clone it. Otherwise, create a new directory and initialize your project as below.
|
|
79
18
|
|
|
@@ -82,7 +21,7 @@ mkdir my-fusion-app && cd my-fusion-app
|
|
|
82
21
|
pnpm init
|
|
83
22
|
```
|
|
84
23
|
|
|
85
|
-
###
|
|
24
|
+
### Create Required Files
|
|
86
25
|
|
|
87
26
|
#### Minimal `package.json` Example
|
|
88
27
|
|
|
@@ -140,13 +79,13 @@ export default defineAppConfig((env, args) => ({
|
|
|
140
79
|
}));
|
|
141
80
|
```
|
|
142
81
|
|
|
143
|
-
###
|
|
82
|
+
### Start the Development Server
|
|
144
83
|
|
|
145
84
|
```sh
|
|
146
85
|
pnpm fusion-framework-cli dev
|
|
147
86
|
```
|
|
148
87
|
|
|
149
|
-
###
|
|
88
|
+
### Log in to Fusion Framework (if needed)
|
|
150
89
|
|
|
151
90
|
> [!NOTE]
|
|
152
91
|
> __All HTTP requests to Fusion services require an authorized user.__
|
|
@@ -155,7 +94,7 @@ pnpm fusion-framework-cli dev
|
|
|
155
94
|
> [!WARNING]
|
|
156
95
|
> The `fusion-framework-cli auth login` command is only available in interactive environments (such as your local terminal). For CI/CD pipelines or automated deployments, you must provide a valid authentication token using the `FUSION_TOKEN` environment variable.
|
|
157
96
|
>
|
|
158
|
-
> See [Authentication](
|
|
97
|
+
> See [Authentication](auth.md#setting-the-fusion-token-in-github) for details on setting up tokens for CI/CD.
|
|
159
98
|
|
|
160
99
|
```sh
|
|
161
100
|
pnpm fusion-framework-cli auth login
|
|
@@ -317,7 +256,7 @@ jobs:
|
|
|
317
256
|
```
|
|
318
257
|
|
|
319
258
|
> [!TIP]
|
|
320
|
-
> see [setting-the-fusion-token-in-github](
|
|
259
|
+
> see [setting-the-fusion-token-in-github](auth.md#setting-the-fusion-token-in-github) for adding `FUSION_TOKEN` to your environment
|
|
321
260
|
|
|
322
261
|
|
|
323
262
|
### Example: Using Environment Variables in App Config
|
|
@@ -689,11 +628,11 @@ pnpm fusion-framework-cli build-pack
|
|
|
689
628
|
|
|
690
629
|
> [!WARNING]
|
|
691
630
|
> The deprecated commands will be removed in future versions. Please update your scripts and workflows to use the new command names (`pack`, `upload`, `manifest`, `publish`) to ensure compatibility with v11 and beyond.
|
|
692
|
-
> For a full migration guide, see [Migration v10 to v11](
|
|
631
|
+
> For a full migration guide, see [Migration v10 to v11](migration-v10-to-v11.md).
|
|
693
632
|
|
|
694
633
|
---
|
|
695
634
|
|
|
696
635
|
> **Need more examples?**
|
|
697
|
-
> - See the [cookbooks
|
|
698
|
-
> - For migration help, see [Migration v10 to v11](
|
|
699
|
-
> - For advanced configuration, see [Authentication](
|
|
636
|
+
> - See the [cookbooks directory in the GitHub repository](https://github.com/equinor/fusion-framework/tree/main/cookbooks) for real-world app examples.
|
|
637
|
+
> - For migration help, see [Migration v10 to v11](migration-v10-to-v11.md).
|
|
638
|
+
> - For advanced configuration, see [Authentication](auth.md) and [CI/CD](#ci-cd).
|
package/docs/auth.md
CHANGED
|
@@ -1,49 +1,6 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Fusion Framework CLI - Authorization
|
|
3
|
-
description: >
|
|
4
|
-
Comprehensive guide to authentication and authorization in the Fusion Framework CLI, covering Azure AD, MSAL, local development, CI/CD, service principals, and best practices for secure automation and integration.
|
|
5
|
-
category: cli
|
|
6
|
-
related:
|
|
7
|
-
- '@equinor/fusion-framework-module-msal-node/README.md'
|
|
8
|
-
tags:
|
|
9
|
-
- cli
|
|
10
|
-
- fusion-framework
|
|
11
|
-
- msal
|
|
12
|
-
- azure
|
|
13
|
-
- azure-ad
|
|
14
|
-
- authentication
|
|
15
|
-
- authorization
|
|
16
|
-
- service-principal
|
|
17
|
-
- github-actions
|
|
18
|
-
- ci
|
|
19
|
-
- cd
|
|
20
|
-
- devops
|
|
21
|
-
- security
|
|
22
|
-
keywords:
|
|
23
|
-
- azure ad
|
|
24
|
-
- msal
|
|
25
|
-
- access token
|
|
26
|
-
- authentication flow
|
|
27
|
-
- interactive login
|
|
28
|
-
- silent authentication
|
|
29
|
-
- token caching
|
|
30
|
-
- secure storage
|
|
31
|
-
- app registration
|
|
32
|
-
- tenant id
|
|
33
|
-
- client id
|
|
34
|
-
- scopes
|
|
35
|
-
- api permissions
|
|
36
|
-
- oidc
|
|
37
|
-
- sso
|
|
38
|
-
- cloud identity
|
|
39
|
-
- developer experience
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
# Authentication with Fusion Framework CLI
|
|
43
|
-
|
|
44
1
|
The Fusion Framework CLI provides secure, robust authentication for both automation and interactive development scenarios by leveraging Microsoft's MSAL (Microsoft Authentication Library) and Azure Active Directory (Azure AD). Authentication is handled through the Fusion Framework for Node.js, using the `@equinor/fusion-framework-module-msal-node` package, which is built on top of Microsoft's official `msal-node` library. This ensures standards-compliant, up-to-date authentication flows and seamless integration across Fusion Framework applications and tools.
|
|
45
2
|
|
|
46
|
-
Key features
|
|
3
|
+
## Key features
|
|
47
4
|
- **Multiple authentication modes:**
|
|
48
5
|
- `token_only`: Use a pre-provided token (e.g., for CI/CD and automation).
|
|
49
6
|
- `silent`: Acquire tokens silently using cached or refresh tokens (background services, scripts).
|
package/docs/libsecret.md
CHANGED
|
@@ -1,34 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Enabling Secure Credential Storage with libsecret
|
|
3
|
-
description: Instructions for installing libsecret on Linux to enable secure credential storage for your CLI.
|
|
4
|
-
tags:
|
|
5
|
-
- cli
|
|
6
|
-
- authentication
|
|
7
|
-
- keytar
|
|
8
|
-
- libsecret
|
|
9
|
-
- linux
|
|
10
|
-
- security
|
|
11
|
-
- credentials
|
|
12
|
-
- msal
|
|
13
|
-
- nodejs
|
|
14
|
-
- keychain
|
|
15
|
-
keywords:
|
|
16
|
-
- secure credential storage
|
|
17
|
-
- keychain
|
|
18
|
-
- linux
|
|
19
|
-
- node.js
|
|
20
|
-
- password manager
|
|
21
|
-
- system keyring
|
|
22
|
-
- msal-node
|
|
23
|
-
- credential storage
|
|
24
|
-
- cross-platform
|
|
25
|
-
- token caching
|
|
26
|
-
- npm
|
|
27
|
-
- secrets
|
|
28
|
-
- cli authentication
|
|
29
|
-
- keytar troubleshooting
|
|
30
|
-
---
|
|
31
|
-
|
|
32
1
|
This CLI enables secure authentication and persistent token caching by storing credentials in your system's keychain. It uses [`@azure/msal-node`](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-node) for authentication, which relies on the [`keytar`](https://github.com/atom/node-keytar) module for secure credential storage.
|
|
33
2
|
|
|
34
3
|
> **What is `libsecret`?**
|
|
@@ -1,31 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Migration Guide - v10 to v11 CLI Command Changes
|
|
3
|
-
description: >
|
|
4
|
-
Comprehensive guide to migrating CLI commands from v10 to v11 of the Fusion Framework, including deprecated commands, new command names, authentication changes, and best practices for updating scripts and pipelines.
|
|
5
|
-
category: cli
|
|
6
|
-
related:
|
|
7
|
-
- ./auth.md
|
|
8
|
-
- ./application.md
|
|
9
|
-
tags:
|
|
10
|
-
- cli
|
|
11
|
-
- fusion-framework
|
|
12
|
-
- migration
|
|
13
|
-
- breaking-changes
|
|
14
|
-
- upgrade
|
|
15
|
-
keywords:
|
|
16
|
-
- fusion framework
|
|
17
|
-
- cli commands
|
|
18
|
-
- v10 to v11 migration
|
|
19
|
-
- deprecated commands
|
|
20
|
-
- authentication changes
|
|
21
|
-
- service discovery
|
|
22
|
-
- environment configuration
|
|
23
|
-
- upgrade guide
|
|
24
|
-
- best practices
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# Migration Guide: v10 to v11 CLI Command Changes
|
|
28
|
-
|
|
29
1
|
With v11, we switched to using the Fusion Framework itself for CLI operations. This change was made to reduce maintenance and improve consistency by reusing the same framework modules (such as service-discovery, authentication, and HTTP) in both Node.js and browser environments. By leveraging the Fusion Framework directly, CLI features and integrations stay up-to-date and benefit from shared improvements across the ecosystem.
|
|
30
2
|
|
|
31
3
|
## Why This Matters
|
|
@@ -33,7 +5,19 @@ With v11, we switched to using the Fusion Framework itself for CLI operations. T
|
|
|
33
5
|
- **Reduced duplication:** By reusing core modules, bug fixes and new features are shared between CLI and Framework code.
|
|
34
6
|
- **Performance:** The framework is now initialized only when needed (e.g., for HTTP calls or authentication), improving startup time and resource usage.
|
|
35
7
|
|
|
36
|
-
##
|
|
8
|
+
## Package Changes
|
|
9
|
+
|
|
10
|
+
- The CLI will now resolve source entrypoint by default from `src/(index.tsx|ts)|(main.tsx|ts)` (unless configured otherwise).
|
|
11
|
+
- The CLI will resolve the output entrypoint by `main`|`module` in `package.json`.
|
|
12
|
+
- This is to enable serving the application in preview mode (`import.meta.resolve('PACKAGE_NAME')`).
|
|
13
|
+
|
|
14
|
+
> [!IMPORTANT]
|
|
15
|
+
> Ensure your application is compatible with these changes before upgrading.
|
|
16
|
+
> ```json
|
|
17
|
+
> {
|
|
18
|
+
> "main": "dist/index.js",
|
|
19
|
+
> }
|
|
20
|
+
> ```
|
|
37
21
|
|
|
38
22
|
### Deprecated App Command Aliases
|
|
39
23
|
|
|
@@ -67,15 +51,15 @@ Authentication behavior has been updated to improve security and consistency:
|
|
|
67
51
|
|
|
68
52
|
When upgrading from v10 to v11, ensure you:
|
|
69
53
|
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
54
|
+
- **Update command names** in all scripts and CI/CD pipelines:
|
|
55
|
+
- `build-pack` → `pack`
|
|
56
|
+
- `build-upload` → `upload`
|
|
57
|
+
- `build-manifest` → `manifest`
|
|
58
|
+
- `build-publish` → `publish`
|
|
59
|
+
- **Replace `--service` with `--env`** for environment selection
|
|
60
|
+
- **Update local development workflow** to use `fusion-framework-cli auth login`
|
|
61
|
+
- **Review custom integrations** that may depend on CLI startup behavior (now on-demand)
|
|
62
|
+
- **Update documentation** and team guidelines with new command syntax
|
|
79
63
|
|
|
80
64
|
## Getting Help
|
|
81
65
|
|
package/docs/portal.md
CHANGED
|
@@ -1,37 +1,3 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Developing Portals with Fusion Framework CLI
|
|
3
|
-
description: >
|
|
4
|
-
Guide to building, configuring, and deploying portal templates using the Fusion Framework CLI. Includes setup, essential commands, configuration, troubleshooting, and best practices for portal development.
|
|
5
|
-
category: cli
|
|
6
|
-
related:
|
|
7
|
-
- ./auth.md
|
|
8
|
-
tags:
|
|
9
|
-
- portal-development
|
|
10
|
-
- configuration
|
|
11
|
-
- deployment
|
|
12
|
-
- commands
|
|
13
|
-
- troubleshooting
|
|
14
|
-
- best-practices
|
|
15
|
-
keywords:
|
|
16
|
-
- fusion-framework-cli portal
|
|
17
|
-
- fusion portal dev
|
|
18
|
-
- fusion portal build
|
|
19
|
-
- fusion portal pack
|
|
20
|
-
- fusion portal upload
|
|
21
|
-
- fusion portal tag
|
|
22
|
-
- fusion portal manifest
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# Fusion Framework CLI: Portal Template Development Guide
|
|
26
|
-
|
|
27
|
-
> **Table of Contents**
|
|
28
|
-
> - [Getting Started](#getting-started)
|
|
29
|
-
> - [Portal Manifest](#portal-manifest)
|
|
30
|
-
> - [Commands](#commands)
|
|
31
|
-
> - [Troubleshooting & FAQ](#troubleshooting--faq)
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
1
|
The Fusion Framework CLI enables you to build, configure, and deploy **portal templates** for the Fusion ecosystem. These commands are specifically for creating, building, and managing portal templates—not for managing actual portals.
|
|
36
2
|
|
|
37
3
|
> **What is a Portal Template?**
|
|
@@ -44,7 +10,7 @@ This guide covers the essential commands and best practices for developing and m
|
|
|
44
10
|
|
|
45
11
|
## Getting Started
|
|
46
12
|
|
|
47
|
-
###
|
|
13
|
+
### Install the CLI
|
|
48
14
|
|
|
49
15
|
```sh
|
|
50
16
|
pnpm add -D @equinor/fusion-framework-cli
|
|
@@ -52,7 +18,7 @@ pnpm add -D @equinor/fusion-framework-cli
|
|
|
52
18
|
npm install --save-dev @equinor/fusion-framework-cli
|
|
53
19
|
```
|
|
54
20
|
|
|
55
|
-
###
|
|
21
|
+
### Scaffold a New Portal
|
|
56
22
|
|
|
57
23
|
Create a new directory for your portal and initialize your project:
|
|
58
24
|
|
|
@@ -61,7 +27,7 @@ mkdir my-fusion-portal && cd my-fusion-portal
|
|
|
61
27
|
pnpm init
|
|
62
28
|
```
|
|
63
29
|
|
|
64
|
-
###
|
|
30
|
+
### Create Required Files
|
|
65
31
|
|
|
66
32
|
- `portal.manifest.ts`: Defines your portal's metadata and configuration.
|
|
67
33
|
- `portal.schema.ts` (optional): Defines the schema for portal configuration.
|
|
@@ -275,4 +241,4 @@ pnpm fusion-framework-cli portal schema portal.schema.prod.ts --debug
|
|
|
275
241
|
|
|
276
242
|
---
|
|
277
243
|
|
|
278
|
-
For advanced configuration and authentication, see [Authentication](
|
|
244
|
+
For advanced configuration and authentication, see [Authentication](auth.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/fusion-framework-cli",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.1",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"Fusion",
|
|
6
6
|
"Fusion Framework",
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"read-package-up": "^11.0.0",
|
|
101
101
|
"vite": "^6.3.5",
|
|
102
102
|
"zod": "^3.25.76",
|
|
103
|
-
"@equinor/fusion-framework-dev-portal": "^1.0.
|
|
103
|
+
"@equinor/fusion-framework-dev-portal": "^1.0.1",
|
|
104
104
|
"@equinor/fusion-framework-dev-server": "^1.0.0",
|
|
105
|
-
"@equinor/fusion-
|
|
106
|
-
"@equinor/fusion-
|
|
105
|
+
"@equinor/fusion-imports": "^1.1.1",
|
|
106
|
+
"@equinor/fusion-framework-module-msal-node": "^1.0.1"
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
109
|
"@rollup/plugin-commonjs": "^28.0.3",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"@types/adm-zip": "^0.5.0",
|
|
114
114
|
"adm-zip": "^0.5.10",
|
|
115
115
|
"ajv": "^8.17.1",
|
|
116
|
-
"chalk": "^5.
|
|
116
|
+
"chalk": "^5.6.0",
|
|
117
117
|
"is-ci": "^4.1.0",
|
|
118
118
|
"open": "^10.1.1",
|
|
119
119
|
"pretty-bytes": "^7.0.0",
|
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
"rxjs": "^7.8.1",
|
|
123
123
|
"type-fest": "^4.40.0",
|
|
124
124
|
"typescript": "^5.8.2",
|
|
125
|
-
"@equinor/fusion-framework-module-app": "^6.1.17",
|
|
126
125
|
"@equinor/fusion-framework-module": "^5.0.0",
|
|
126
|
+
"@equinor/fusion-framework-module-app": "^6.1.17",
|
|
127
127
|
"@equinor/fusion-framework-module-http": "^6.3.4",
|
|
128
128
|
"@equinor/fusion-framework-module-service-discovery": "^8.0.18"
|
|
129
129
|
},
|