@equinor/fusion-framework-cli 11.1.2 → 11.1.4
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 +82 -0
- package/README.md +3 -2
- package/bin/build/bin.mjs +1 -1
- package/bin/build/cli.mjs +6 -6
- package/dist/esm/lib/utils/resolve-package.js +12 -3
- package/dist/esm/lib/utils/resolve-package.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/cli/commands/app/build.d.ts +1 -1
- package/dist/types/cli/commands/app/check.d.ts +3 -3
- package/dist/types/cli/commands/app/config.d.ts +4 -4
- package/dist/types/cli/commands/app/dev.d.ts +4 -4
- package/dist/types/cli/commands/app/manifest.d.ts +4 -4
- package/dist/types/cli/commands/app/pack.d.ts +3 -3
- package/dist/types/cli/commands/app/publish.d.ts +4 -4
- package/dist/types/cli/commands/app/tag.d.ts +10 -11
- package/dist/types/cli/commands/app/upload.d.ts +4 -4
- package/dist/types/cli/commands/auth/login.d.ts +14 -0
- package/dist/types/cli/commands/auth/logout.d.ts +13 -3
- package/dist/types/cli/commands/auth/token.d.ts +15 -1
- package/dist/types/cli/commands/portal/build.d.ts +25 -0
- package/dist/types/cli/commands/portal/config.d.ts +4 -4
- package/dist/types/cli/commands/portal/dev.d.ts +25 -0
- package/dist/types/cli/commands/portal/manifest.d.ts +28 -0
- package/dist/types/cli/commands/portal/pack.d.ts +24 -0
- package/dist/types/cli/commands/portal/publish.d.ts +29 -0
- package/dist/types/cli/commands/portal/schema.d.ts +27 -0
- package/dist/types/cli/commands/portal/tag.d.ts +29 -0
- package/dist/types/cli/commands/portal/upload.d.ts +25 -0
- package/dist/types/cli/options/auth.d.ts +16 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +5 -6
- package/docs/auth.md +7 -0
- package/docs/portal.md +4 -4
- package/package.json +8 -6
- package/docs/libsecret.md +0 -66
package/docs/auth.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
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.
|
|
2
2
|
|
|
3
|
+
For detailed information about the underlying authentication module, see the [MSAL Node Module documentation](https://equinor.github.io/fusion-framework/modules/auth/msal-node/).
|
|
4
|
+
|
|
3
5
|
## Key features
|
|
4
6
|
- **Multiple authentication modes:**
|
|
5
7
|
- `token_only`: Use a pre-provided token (e.g., for CI/CD and automation).
|
|
@@ -160,4 +162,9 @@ runs:
|
|
|
160
162
|
shell: bash
|
|
161
163
|
run: |
|
|
162
164
|
echo "FUSION_TOKEN=$(az account get-access-token --scope ${{ inputs.scope }} --query accessToken --output tsv)" >> $GITHUB_ENV
|
|
165
|
+
|
|
166
|
+
## Additional Resources
|
|
167
|
+
|
|
168
|
+
- [MSAL Node Module Documentation](https://equinor.github.io/fusion-framework/modules/auth/msal-node/) - Complete reference for the underlying authentication module
|
|
169
|
+
- [libsecret Setup Guide](https://equinor.github.io/fusion-framework/modules/auth/msal-node/docs/libsecret.html) - Platform-specific setup for secure credential storage on Linux systems
|
|
163
170
|
```
|
package/docs/portal.md
CHANGED
|
@@ -157,8 +157,8 @@ Tag a published portal template version in the Fusion portal registry.
|
|
|
157
157
|
| Option/Argument | Description | Default / Example |
|
|
158
158
|
| ----------------- | ------------------------------------- | ----------------- |
|
|
159
159
|
| `<tag>` | Tag to apply (`latest` \| `preview`). | |
|
|
160
|
-
|
|
|
161
|
-
|
|
|
160
|
+
| `-p, --package` | Package to tag in format name@version. | |
|
|
161
|
+
| `-m, --manifest` | Manifest file to use. | `portal.manifest.ts` |
|
|
162
162
|
| `--token` | Authentication token for Fusion. | |
|
|
163
163
|
| `--tenantId` | Azure tenant ID for authentication. | |
|
|
164
164
|
| `--clientId` | Azure client ID for authentication. | |
|
|
@@ -170,8 +170,8 @@ pnpm fusion-framework-cli portal tag <tag> [options]
|
|
|
170
170
|
|
|
171
171
|
**Examples:**
|
|
172
172
|
```sh
|
|
173
|
-
pnpm fusion-framework-cli portal tag latest --
|
|
174
|
-
pnpm fusion-framework-cli portal tag preview --
|
|
173
|
+
pnpm fusion-framework-cli portal tag latest --package my-portal@1.0.0
|
|
174
|
+
pnpm fusion-framework-cli portal tag preview --package my-portal@1.1.0-beta
|
|
175
175
|
```
|
|
176
176
|
|
|
177
177
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/fusion-framework-cli",
|
|
3
|
-
"version": "11.1.
|
|
3
|
+
"version": "11.1.4",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"Fusion",
|
|
6
6
|
"Fusion Framework",
|
|
@@ -101,10 +101,10 @@
|
|
|
101
101
|
"vite": "^6.3.5",
|
|
102
102
|
"vite-tsconfig-paths": "^5.1.4",
|
|
103
103
|
"zod": "^3.25.76",
|
|
104
|
-
"@equinor/fusion-framework-dev-portal": "^1.0.
|
|
105
|
-
"@equinor/fusion-framework-
|
|
106
|
-
"@equinor/fusion-
|
|
107
|
-
"@equinor/fusion-
|
|
104
|
+
"@equinor/fusion-framework-dev-portal": "^1.0.2",
|
|
105
|
+
"@equinor/fusion-framework-dev-server": "^1.0.2",
|
|
106
|
+
"@equinor/fusion-framework-module-msal-node": "^1.0.2",
|
|
107
|
+
"@equinor/fusion-imports": "^1.1.2"
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
110
110
|
"@rollup/plugin-commonjs": "^28.0.3",
|
|
@@ -112,10 +112,12 @@
|
|
|
112
112
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
113
113
|
"@rollup/plugin-replace": "^6.0.2",
|
|
114
114
|
"@types/adm-zip": "^0.5.0",
|
|
115
|
+
"@types/normalize-package-data": "^2.4.4",
|
|
115
116
|
"adm-zip": "^0.5.10",
|
|
116
117
|
"ajv": "^8.17.1",
|
|
117
118
|
"chalk": "^5.6.0",
|
|
118
119
|
"is-ci": "^4.1.0",
|
|
120
|
+
"normalize-package-data": "^8.0.0",
|
|
119
121
|
"open": "^10.1.1",
|
|
120
122
|
"pretty-bytes": "^7.0.0",
|
|
121
123
|
"rollup": "^4.46.3",
|
|
@@ -124,7 +126,7 @@
|
|
|
124
126
|
"type-fest": "^4.40.0",
|
|
125
127
|
"typescript": "^5.8.2",
|
|
126
128
|
"@equinor/fusion-framework-module": "^5.0.0",
|
|
127
|
-
"@equinor/fusion-framework-module-app": "^6.1.
|
|
129
|
+
"@equinor/fusion-framework-module-app": "^6.1.18",
|
|
128
130
|
"@equinor/fusion-framework-module-http": "^6.3.4",
|
|
129
131
|
"@equinor/fusion-framework-module-service-discovery": "^8.0.18"
|
|
130
132
|
},
|
package/docs/libsecret.md
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
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.
|
|
2
|
-
|
|
3
|
-
> **What is `libsecret`?**
|
|
4
|
-
> [`libsecret`](https://wiki.gnome.org/Projects/Libsecret) is a library for storing and retrieving passwords and secrets. On Linux, `keytar` depends on `libsecret` to access the system keyring.
|
|
5
|
-
|
|
6
|
-
## Platform Requirements
|
|
7
|
-
|
|
8
|
-
- **Windows:** No additional dependencies. `keytar` uses the Windows Credential Manager.
|
|
9
|
-
- **macOS:** No additional dependencies. `keytar` uses the macOS Keychain. If you encounter unusual issues (rare), you can optionally try installing `libsecret`:
|
|
10
|
-
```bash
|
|
11
|
-
brew install libsecret
|
|
12
|
-
```
|
|
13
|
-
- **Linux:** You must install `libsecret` for secure credential storage. See below for instructions.
|
|
14
|
-
|
|
15
|
-
## Linux Installation
|
|
16
|
-
Install the `libsecret` library based on your distribution:
|
|
17
|
-
|
|
18
|
-
- **Ubuntu/Debian**:
|
|
19
|
-
```bash
|
|
20
|
-
sudo apt-get update
|
|
21
|
-
sudo apt-get install -y libsecret-1-0 libsecret-1-dev
|
|
22
|
-
```
|
|
23
|
-
> Both runtime and development packages are required for building native modules.
|
|
24
|
-
- **Fedora**:
|
|
25
|
-
```bash
|
|
26
|
-
sudo dnf install -y libsecret libsecret-devel
|
|
27
|
-
```
|
|
28
|
-
> Install both runtime and development packages if you plan to build native modules.
|
|
29
|
-
- **Arch Linux**:
|
|
30
|
-
```bash
|
|
31
|
-
sudo pacman -S --noconfirm libsecret
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Verifying Installation
|
|
35
|
-
After installing `libsecret`, rebuild `keytar` to ensure it links correctly:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npm rebuild keytar
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
You can verify that `keytar` is working by running your CLI and checking for credential storage warnings. Alternatively, you can test with a simple script:
|
|
42
|
-
|
|
43
|
-
```js
|
|
44
|
-
const keytar = require('keytar');
|
|
45
|
-
keytar.setPassword('test-service', 'test-account', 'test-password')
|
|
46
|
-
.then(() => keytar.getPassword('test-service', 'test-account'))
|
|
47
|
-
.then(console.log)
|
|
48
|
-
.catch(console.error);
|
|
49
|
-
```
|
|
50
|
-
If you see errors related to `keytar` or `libsecret`, see troubleshooting below.
|
|
51
|
-
|
|
52
|
-
## Troubleshooting
|
|
53
|
-
- **Missing `libsecret` errors:** Ensure you have installed both the runtime and development packages (e.g., `libsecret-1-0` and `libsecret-1-dev` on Ubuntu/Debian).
|
|
54
|
-
- **Rebuild keytar:**
|
|
55
|
-
```bash
|
|
56
|
-
npm rebuild keytar
|
|
57
|
-
```
|
|
58
|
-
- **Still having issues?**
|
|
59
|
-
- Ensure your system keyring (e.g., GNOME Keyring or KWallet) is running and unlocked. On some headless or minimal Linux environments, you may need to start or configure the keyring daemon manually.
|
|
60
|
-
- See the [`keytar` troubleshooting guide](https://github.com/atom/node-keytar#troubleshooting).
|
|
61
|
-
- Consult your distribution's documentation for keyring setup.
|
|
62
|
-
|
|
63
|
-
## Resources
|
|
64
|
-
- [`keytar` documentation](https://github.com/atom/node-keytar)
|
|
65
|
-
- [`libsecret` project page](https://wiki.gnome.org/Projects/Libsecret)
|
|
66
|
-
- [@azure/msal-node](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-node)
|