@equinor/fusion-framework-cli 11.4.0 → 12.0.2
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 +69 -0
- package/bin/build/bin.mjs +1 -1
- package/bin/build/cli.mjs +3 -3
- package/dist/esm/lib/app/schemas.js +3 -3
- package/dist/esm/lib/app/schemas.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-manifest.js +1 -1
- package/dist/esm/lib/portal/portal-manifest.schema.js +16 -63
- package/dist/esm/lib/portal/portal-manifest.schema.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/bin/helpers/project-templates.schema.d.ts +17 -209
- package/dist/types/bin/portal-build.d.ts +5 -5
- package/dist/types/bin/portal-manifest.d.ts +5 -5
- package/dist/types/bin/portal-pack.d.ts +5 -5
- package/dist/types/cli/commands/app/publish.d.ts +3 -2
- package/dist/types/cli/commands/portal/publish.d.ts +2 -5
- package/dist/types/lib/app/schemas.d.ts +3 -21
- package/dist/types/lib/portal/portal-manifest.schema.d.ts +5 -93
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +7 -3
- package/docs/portal.md +40 -0
- package/package.json +10 -10
|
@@ -18,36 +18,10 @@ export declare const PortalManifestBuildSchema: z.ZodObject<{
|
|
|
18
18
|
commitSha: z.ZodString;
|
|
19
19
|
annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
20
20
|
projectPage: z.ZodOptional<z.ZodString>;
|
|
21
|
-
allowedExtensions: z.ZodArray<z.ZodString
|
|
21
|
+
allowedExtensions: z.ZodArray<z.ZodString>;
|
|
22
22
|
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
23
23
|
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
24
|
-
},
|
|
25
|
-
version: string;
|
|
26
|
-
timestamp: string;
|
|
27
|
-
commitSha: string;
|
|
28
|
-
allowedExtensions: string[];
|
|
29
|
-
templateEntry: string;
|
|
30
|
-
schemaEntry: string;
|
|
31
|
-
assetPath?: string | undefined;
|
|
32
|
-
githubRepo?: string | undefined;
|
|
33
|
-
projectPage?: string | undefined;
|
|
34
|
-
annotations?: Record<string, string> | undefined;
|
|
35
|
-
config?: Record<string, unknown> | undefined;
|
|
36
|
-
schema?: Record<string, unknown> | undefined;
|
|
37
|
-
}, {
|
|
38
|
-
version: string;
|
|
39
|
-
timestamp: string;
|
|
40
|
-
commitSha: string;
|
|
41
|
-
allowedExtensions: string[];
|
|
42
|
-
templateEntry: string;
|
|
43
|
-
schemaEntry: string;
|
|
44
|
-
assetPath?: string | undefined;
|
|
45
|
-
githubRepo?: string | undefined;
|
|
46
|
-
projectPage?: string | undefined;
|
|
47
|
-
annotations?: Record<string, string> | undefined;
|
|
48
|
-
config?: Record<string, unknown> | undefined;
|
|
49
|
-
schema?: Record<string, unknown> | undefined;
|
|
50
|
-
}>;
|
|
24
|
+
}, z.core.$strip>;
|
|
51
25
|
/**
|
|
52
26
|
* Zod schema for validating the PortalManifest object.
|
|
53
27
|
*
|
|
@@ -72,73 +46,11 @@ export declare const PortalManifestSchema: z.ZodObject<{
|
|
|
72
46
|
commitSha: z.ZodString;
|
|
73
47
|
annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
74
48
|
projectPage: z.ZodOptional<z.ZodString>;
|
|
75
|
-
allowedExtensions: z.ZodArray<z.ZodString
|
|
49
|
+
allowedExtensions: z.ZodArray<z.ZodString>;
|
|
76
50
|
schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
77
51
|
config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
timestamp: string;
|
|
81
|
-
commitSha: string;
|
|
82
|
-
allowedExtensions: string[];
|
|
83
|
-
templateEntry: string;
|
|
84
|
-
schemaEntry: string;
|
|
85
|
-
assetPath?: string | undefined;
|
|
86
|
-
githubRepo?: string | undefined;
|
|
87
|
-
projectPage?: string | undefined;
|
|
88
|
-
annotations?: Record<string, string> | undefined;
|
|
89
|
-
config?: Record<string, unknown> | undefined;
|
|
90
|
-
schema?: Record<string, unknown> | undefined;
|
|
91
|
-
}, {
|
|
92
|
-
version: string;
|
|
93
|
-
timestamp: string;
|
|
94
|
-
commitSha: string;
|
|
95
|
-
allowedExtensions: string[];
|
|
96
|
-
templateEntry: string;
|
|
97
|
-
schemaEntry: string;
|
|
98
|
-
assetPath?: string | undefined;
|
|
99
|
-
githubRepo?: string | undefined;
|
|
100
|
-
projectPage?: string | undefined;
|
|
101
|
-
annotations?: Record<string, string> | undefined;
|
|
102
|
-
config?: Record<string, unknown> | undefined;
|
|
103
|
-
schema?: Record<string, unknown> | undefined;
|
|
104
|
-
}>;
|
|
105
|
-
}, "strip", z.ZodTypeAny, {
|
|
106
|
-
build: {
|
|
107
|
-
version: string;
|
|
108
|
-
timestamp: string;
|
|
109
|
-
commitSha: string;
|
|
110
|
-
allowedExtensions: string[];
|
|
111
|
-
templateEntry: string;
|
|
112
|
-
schemaEntry: string;
|
|
113
|
-
assetPath?: string | undefined;
|
|
114
|
-
githubRepo?: string | undefined;
|
|
115
|
-
projectPage?: string | undefined;
|
|
116
|
-
annotations?: Record<string, string> | undefined;
|
|
117
|
-
config?: Record<string, unknown> | undefined;
|
|
118
|
-
schema?: Record<string, unknown> | undefined;
|
|
119
|
-
};
|
|
120
|
-
name: string;
|
|
121
|
-
displayName?: string | undefined;
|
|
122
|
-
description?: string | undefined;
|
|
123
|
-
}, {
|
|
124
|
-
build: {
|
|
125
|
-
version: string;
|
|
126
|
-
timestamp: string;
|
|
127
|
-
commitSha: string;
|
|
128
|
-
allowedExtensions: string[];
|
|
129
|
-
templateEntry: string;
|
|
130
|
-
schemaEntry: string;
|
|
131
|
-
assetPath?: string | undefined;
|
|
132
|
-
githubRepo?: string | undefined;
|
|
133
|
-
projectPage?: string | undefined;
|
|
134
|
-
annotations?: Record<string, string> | undefined;
|
|
135
|
-
config?: Record<string, unknown> | undefined;
|
|
136
|
-
schema?: Record<string, unknown> | undefined;
|
|
137
|
-
};
|
|
138
|
-
name: string;
|
|
139
|
-
displayName?: string | undefined;
|
|
140
|
-
description?: string | undefined;
|
|
141
|
-
}>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
}, z.core.$strip>;
|
|
142
54
|
/**
|
|
143
55
|
* Type representing the validated PortalManifest configuration.
|
|
144
56
|
*
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "12.0.2";
|
package/docs/application.md
CHANGED
|
@@ -338,7 +338,7 @@ pnpm fusion-framework-cli dev --manifest ./app.manifest.local.ts --config ./app.
|
|
|
338
338
|
|
|
339
339
|
Publish your application to the Fusion app store (registry) for deployment.
|
|
340
340
|
|
|
341
|
-
|
|
341
|
+
This command uploads and tags your app for deployment. If no bundle is provided, it will build your app first before uploading and tagging.
|
|
342
342
|
|
|
343
343
|
| Option/Argument | Description | Default / Example |
|
|
344
344
|
| ------------------ | --------------------------------------------------------------------------------------------------- | ----------------- |
|
|
@@ -363,8 +363,12 @@ pnpm fusion-framework-cli publish --env prod --manifest app.manifest.prod.ts
|
|
|
363
363
|
pnpm fusion-framework-cli publish --tag latest app-bundle.zip
|
|
364
364
|
```
|
|
365
365
|
|
|
366
|
-
> [!
|
|
367
|
-
>
|
|
366
|
+
> [!IMPORTANT]
|
|
367
|
+
> **Building Behavior**: The publish command behaves differently based on whether you provide a bundle:
|
|
368
|
+
> - **With bundle**: Uploads and tags the provided bundle (no building)
|
|
369
|
+
> - **Without bundle**: Builds, uploads, and tags your app
|
|
370
|
+
>
|
|
371
|
+
> **Additional Notes**:
|
|
368
372
|
> - The `--tag` option lets you mark the published version (e.g., as `latest` or `preview`) for easier deployment targeting.
|
|
369
373
|
> - Authentication options (`--token`, `--tenantId`, `--clientId`) can be set via CLI flags or environment variables.
|
|
370
374
|
> - If any step fails (build, upload, or tagging), an error will be logged and the process will exit with a non-zero code.
|
package/docs/portal.md
CHANGED
|
@@ -49,6 +49,7 @@ The Fusion Framework CLI provides a suite of commands to support the full portal
|
|
|
49
49
|
- [Dev](#dev) — Start the portal development server for local development and testing.
|
|
50
50
|
- [Build](#build) — Build your portal template using Vite.
|
|
51
51
|
- [Pack](#pack) — Bundle your portal into a distributable archive for deployment.
|
|
52
|
+
- [Publish](#publish) — Build, upload, and tag your portal template for deployment.
|
|
52
53
|
- [Upload](#upload) — Upload your portal bundle to the Fusion portal registry.
|
|
53
54
|
- [Tag](#tag) — Tag a published portal template version in the Fusion portal registry.
|
|
54
55
|
- [Manifest](#manifest) — Resolve and print the portal manifest for inspection or debugging.
|
|
@@ -125,6 +126,45 @@ pnpm fusion-framework-cli portal pack --archive my-portal.zip --schema ./portal.
|
|
|
125
126
|
|
|
126
127
|
---
|
|
127
128
|
|
|
129
|
+
### Publish
|
|
130
|
+
|
|
131
|
+
Build, upload, and tag your portal template for deployment to the Fusion portal registry.
|
|
132
|
+
|
|
133
|
+
This command builds your portal template, uploads it to the Fusion portal registry, and applies a tag for versioning in a single step.
|
|
134
|
+
|
|
135
|
+
| Option/Argument | Description | Default / Example |
|
|
136
|
+
| ------------------ | --------------------------------------------------------------------------------------------------- | ----------------- |
|
|
137
|
+
| `-e`, `--env` | Target environment for deployment (e.g., `ci`, `fqa`, `fprd`). | |
|
|
138
|
+
| `-m`, `--manifest` | Manifest file to use for bundling (e.g., `portal.manifest.ts`) (optional). | `portal.manifest.ts` |
|
|
139
|
+
| `-s`, `--schema` | Schema file to use for bundling (e.g., `portal.schema.ts`) (optional). | `portal.schema.ts` |
|
|
140
|
+
| `-t`, `--tag` | Tag to apply to the published portal (`latest` \| `preview`). | `latest` |
|
|
141
|
+
| `-d`, `--debug` | Enable debug mode for verbose logging. | `false` |
|
|
142
|
+
| `--token` | Authentication token for Fusion. | |
|
|
143
|
+
| `--tenantId` | Azure tenant ID for authentication. | |
|
|
144
|
+
| `--clientId` | Azure client ID for authentication. | |
|
|
145
|
+
|
|
146
|
+
**Usage:**
|
|
147
|
+
```sh
|
|
148
|
+
pnpm fusion-framework-cli portal publish [options]
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Examples:**
|
|
152
|
+
```sh
|
|
153
|
+
pnpm fusion-framework-cli portal publish
|
|
154
|
+
pnpm fusion-framework-cli portal publish --env prod --manifest portal.manifest.prod.ts
|
|
155
|
+
pnpm fusion-framework-cli portal publish --tag preview --schema portal.schema.ts
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> [!IMPORTANT]
|
|
159
|
+
> **Building Behavior**: Unlike the app publish command—which only builds your app if a pre-built bundle is not provided—the portal publish command always builds your portal template before uploading and tagging. There is no option to provide a pre-built bundle.
|
|
160
|
+
>
|
|
161
|
+
> **Additional Notes**:
|
|
162
|
+
> - The `--tag` option lets you mark the published version (e.g., as `latest` or `preview`) for easier deployment targeting.
|
|
163
|
+
> - Authentication options (`--token`, `--tenantId`, `--clientId`) can be set via CLI flags or environment variables.
|
|
164
|
+
> - If any step fails (build, upload, or tagging), an error will be logged and the process will exit with a non-zero code.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
128
168
|
### Upload
|
|
129
169
|
|
|
130
170
|
Upload your portal bundle to the Fusion portal registry.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/fusion-framework-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.2",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"Fusion",
|
|
6
6
|
"Fusion Framework",
|
|
@@ -105,11 +105,11 @@
|
|
|
105
105
|
"simple-git": "^3.28.0",
|
|
106
106
|
"vite": "^7.1.5",
|
|
107
107
|
"vite-tsconfig-paths": "^5.1.4",
|
|
108
|
-
"zod": "^
|
|
109
|
-
"@equinor/fusion-framework-dev-portal": "^1.1.
|
|
110
|
-
"@equinor/fusion-framework-dev-server": "^1.1.
|
|
111
|
-
"@equinor/fusion-framework-module-msal-node": "^1.0.
|
|
112
|
-
"@equinor/fusion-imports": "^1.1.
|
|
108
|
+
"zod": "^4.1.8",
|
|
109
|
+
"@equinor/fusion-framework-dev-portal": "^1.1.2",
|
|
110
|
+
"@equinor/fusion-framework-dev-server": "^1.1.2",
|
|
111
|
+
"@equinor/fusion-framework-module-msal-node": "^1.0.6",
|
|
112
|
+
"@equinor/fusion-imports": "^1.1.4"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
115
|
"@rollup/plugin-commonjs": "^28.0.3",
|
|
@@ -132,10 +132,10 @@
|
|
|
132
132
|
"type-fest": "^5.0.0",
|
|
133
133
|
"typescript": "^5.8.2",
|
|
134
134
|
"vitest": "^3.2.4",
|
|
135
|
-
"@equinor/fusion-framework-module": "^5.0.
|
|
136
|
-
"@equinor/fusion-framework-module-app": "^
|
|
137
|
-
"@equinor/fusion-framework-module-http": "^
|
|
138
|
-
"@equinor/fusion-framework-module-service-discovery": "^
|
|
135
|
+
"@equinor/fusion-framework-module": "^5.0.2",
|
|
136
|
+
"@equinor/fusion-framework-module-app": "^7.0.1",
|
|
137
|
+
"@equinor/fusion-framework-module-http": "^7.0.1",
|
|
138
|
+
"@equinor/fusion-framework-module-service-discovery": "^9.0.1"
|
|
139
139
|
},
|
|
140
140
|
"peerDependenciesMeta": {
|
|
141
141
|
"typescript": {
|