@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.
Files changed (35) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +3 -2
  3. package/bin/build/bin.mjs +1 -1
  4. package/bin/build/cli.mjs +6 -6
  5. package/dist/esm/lib/utils/resolve-package.js +12 -3
  6. package/dist/esm/lib/utils/resolve-package.js.map +1 -1
  7. package/dist/esm/version.js +1 -1
  8. package/dist/types/cli/commands/app/build.d.ts +1 -1
  9. package/dist/types/cli/commands/app/check.d.ts +3 -3
  10. package/dist/types/cli/commands/app/config.d.ts +4 -4
  11. package/dist/types/cli/commands/app/dev.d.ts +4 -4
  12. package/dist/types/cli/commands/app/manifest.d.ts +4 -4
  13. package/dist/types/cli/commands/app/pack.d.ts +3 -3
  14. package/dist/types/cli/commands/app/publish.d.ts +4 -4
  15. package/dist/types/cli/commands/app/tag.d.ts +10 -11
  16. package/dist/types/cli/commands/app/upload.d.ts +4 -4
  17. package/dist/types/cli/commands/auth/login.d.ts +14 -0
  18. package/dist/types/cli/commands/auth/logout.d.ts +13 -3
  19. package/dist/types/cli/commands/auth/token.d.ts +15 -1
  20. package/dist/types/cli/commands/portal/build.d.ts +25 -0
  21. package/dist/types/cli/commands/portal/config.d.ts +4 -4
  22. package/dist/types/cli/commands/portal/dev.d.ts +25 -0
  23. package/dist/types/cli/commands/portal/manifest.d.ts +28 -0
  24. package/dist/types/cli/commands/portal/pack.d.ts +24 -0
  25. package/dist/types/cli/commands/portal/publish.d.ts +29 -0
  26. package/dist/types/cli/commands/portal/schema.d.ts +27 -0
  27. package/dist/types/cli/commands/portal/tag.d.ts +29 -0
  28. package/dist/types/cli/commands/portal/upload.d.ts +25 -0
  29. package/dist/types/cli/options/auth.d.ts +16 -0
  30. package/dist/types/version.d.ts +1 -1
  31. package/docs/application.md +5 -6
  32. package/docs/auth.md +7 -0
  33. package/docs/portal.md +4 -4
  34. package/package.json +8 -6
  35. 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
- | `--name <name>` | Portal name. | |
161
- | `--version <ver>` | Version to tag. | |
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 --name my-portal --version 1.0.0
174
- pnpm fusion-framework-cli portal tag preview --name my-portal --version 1.1.0-beta
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.2",
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.1",
105
- "@equinor/fusion-framework-module-msal-node": "^1.0.1",
106
- "@equinor/fusion-imports": "^1.1.2",
107
- "@equinor/fusion-framework-dev-server": "^1.0.2"
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.17",
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)