@equinor/fusion-framework-cli 12.5.0-next.0 → 12.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../../../src/lib/app/app-manifest.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"app-manifest.js","sourceRoot":"","sources":["../../../../src/lib/app/app-manifest.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAiB,EAAE,EAAE,CAAC,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- export { defineAppManifest, } from './app-manifest.js';
1
+ export { defineAppManifest } from './app-manifest.js';
2
2
  export { createAppManifestFromPackage } from './create-app-manifest.js';
3
3
  export { mergeAppManifests } from './merge-app-manifest.js';
4
4
  export { loadAppManifest } from './load-app-manifest.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAIlB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA0B,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAoC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAqB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwC,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAA0B,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAoC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAwB,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAqB,MAAM,cAAc,CAAC"}
@@ -43,11 +43,10 @@ export const loadAppManifest = async (env, options) => {
43
43
  // If the module's default export is a function, invoke it with the environment and base manifest
44
44
  if (typeof module.default === 'function') {
45
45
  const result = await module.default(env, { base });
46
- // Cast result to RecursivePartial<AppManifest> to handle RouteNode routes that will be serialized later
47
- return mergeAppManifests(base, (result ?? {}));
46
+ return mergeAppManifests(base, result ?? {}); // Merge and cast to Record<string, unknown>
48
47
  }
49
48
  // If the module's default export is not a function, treat it as a manifest object
50
- return mergeAppManifests(base, (module.default ?? {}));
49
+ return mergeAppManifests(base, module.default ?? {});
51
50
  },
52
51
  },
53
52
  });
@@ -1 +1 @@
1
- {"version":3,"file":"load-app-manifest.js","sourceRoot":"","sources":["../../../../src/lib/app/load-app-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAyCxD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,GAAe,EACf,OAAgC,EACA,EAAE;IAClC,gDAAgD;IAChD,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,IAAI;QACnC,gBAAgB,GAAG,CAAC,WAAW,EAAE;QACjC,cAAc;QACd,qBAAqB;KACtB,CAAC;IACF,kEAAkE;IAClE,MAAM,YAAY,GAAG,MAAM,YAAY,CACrC,WAAW,EACX;QACE,OAAO,EAAE,GAAG,CAAC,IAAI;QACjB,UAAU,EAAE,OAAO,EAAE,UAAU;QAC/B,MAAM,EAAE;YACN;;;;;;;;;eASG;YACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,MAAM,IAAI,GAAgB,OAAO,EAAE,IAAI,IAAK,EAAkB,CAAC,CAAC,gDAAgD;gBAChH,iGAAiG;gBACjG,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,wGAAwG;oBACxG,OAAO,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAkC,CAAC,CAAC;gBAClF,CAAC;gBACD,kFAAkF;gBAClF,OAAO,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAkC,CAAC,CAAC;YAC1F,CAAC;SACF;KACF,CACF,CAAC;IACF,uEAAuE;IACvE,6GAA6G;IAC7G,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,MAAM;QAC7B,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"load-app-manifest.js","sourceRoot":"","sources":["../../../../src/lib/app/load-app-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAyCxD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,GAAe,EACf,OAAgC,EACA,EAAE;IAClC,gDAAgD;IAChD,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,IAAI;QACnC,gBAAgB,GAAG,CAAC,WAAW,EAAE;QACjC,cAAc;QACd,qBAAqB;KACtB,CAAC;IACF,kEAAkE;IAClE,MAAM,YAAY,GAAG,MAAM,YAAY,CACrC,WAAW,EACX;QACE,OAAO,EAAE,GAAG,CAAC,IAAI;QACjB,UAAU,EAAE,OAAO,EAAE,UAAU;QAC/B,MAAM,EAAE;YACN;;;;;;;;;eASG;YACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,MAAM,IAAI,GAAgB,OAAO,EAAE,IAAI,IAAK,EAAkB,CAAC,CAAC,gDAAgD;gBAChH,iGAAiG;gBACjG,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnD,OAAO,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,4CAA4C;gBAC5F,CAAC;gBACD,kFAAkF;gBAClF,OAAO,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;SACF;KACF,CACF,CAAC;IACF,uEAAuE;IACvE,6GAA6G;IAC7G,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,MAAM;QAC7B,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { processServices } from '@equinor/fusion-framework-dev-server';
1
2
  export { loadDevServerConfig, defineDevServerConfig, } from './load-dev-server-config.js';
2
3
  export { mergeDevServerConfig } from './merge-dev-server-config.js';
3
4
  //# sourceMappingURL=dev-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../../src/lib/dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAGtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../../src/lib/dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAGtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '12.5.0-next.0';
2
+ export const version = '12.5.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -3,7 +3,6 @@ export { bundleApp } from './app-pack.js';
3
3
  export { generateApplicationConfig } from './app-config.js';
4
4
  export { publishAppConfig } from './app-config-publish.js';
5
5
  export { startAppDevServer } from './app-dev.js';
6
- export { serveApplication, type ServeApplicationOptions } from './app-serve.js';
7
6
  export { checkApp } from './app-check.js';
8
7
  export { loadAppManifest } from './app-manifest.js';
9
8
  export { uploadApplication } from './app-upload.js';
@@ -1,40 +1,28 @@
1
- import type { AppManifest, RouteSchemaEntry } from '@equinor/fusion-framework-module-app';
1
+ import type { AppManifest } from '@equinor/fusion-framework-module-app';
2
2
  import type { RuntimeEnv } from '@equinor/fusion-framework-cli/lib';
3
- import type { RecursivePartial } from '../utils/types.js';
4
3
  /**
5
4
  * Type representing the application manifest structure used by the Fusion Framework.
6
5
  * Imported from the '@equinor/fusion-framework-module-app' package for consistency across modules.
7
6
  */
8
7
  export type { AppManifest } from '@equinor/fusion-framework-module-app';
9
- /**
10
- * Extended manifest type that allows routes to be RouteNode objects (for TypeScript definitions)
11
- * or RouteSchemaEntry arrays (for JSON serialization).
12
- *
13
- * This type is used in manifest definition files where RouteNode objects can be passed directly.
14
- * The CLI will serialize RouteNode objects to RouteSchemaEntry arrays when generating the final manifest.
15
- */
16
- export type AppManifestWithRoutes = Omit<AppManifest, 'routes'> & {
17
- routes?: RouteSchemaEntry[] | unknown;
18
- };
19
8
  /**
20
9
  * Function type for loading or modifying an application manifest.
21
10
  *
22
- * @template T - A type extending AppManifest or AppManifestWithRoutes, defaults to AppManifestWithRoutes.
11
+ * @template T - A type extending Partial<AppManifest>, defaults to Partial<AppManifest>.
23
12
  * @param env - The runtime environment (see '../types').
24
13
  * @param args - Object containing the base manifest (`base`) of type T.
25
- * @returns A partial manifest that will be merged with the base, void if no changes, or a promise resolving to either.
14
+ * @returns The modified manifest of type T, a promise resolving to T, or void if no changes are made.
26
15
  *
27
16
  * Usage: Implement this type to create functions that dynamically adjust the manifest based on environment or other factors.
28
17
  *
29
18
  * Inline notes:
30
- * - This type accepts partial manifests that will be merged with the base manifest.
19
+ * - This type is generic to allow for partial or full manifest overrides.
31
20
  * - Returning void allows for side-effect-only functions, but returning the manifest is preferred for clarity.
32
- * - Routes can be RouteNode | RouteNode[] (from router package) or RouteSchemaEntry[] (serialized format).
33
21
  */
34
- export type AppManifestFn<T extends AppManifest | AppManifestWithRoutes = AppManifestWithRoutes> = (env: RuntimeEnv, // The runtime environment, e.g., 'development', 'production', etc.
22
+ export type AppManifestFn<T extends AppManifest = AppManifest> = (env: RuntimeEnv, // The runtime environment, e.g., 'development', 'production', etc.
35
23
  args: {
36
24
  base: T;
37
- }) => RecursivePartial<T> | undefined | Promise<RecursivePartial<T> | undefined>;
25
+ }) => T | void | Promise<T | void>;
38
26
  /**
39
27
  * Utility to define an application manifest in a type-safe and organized manner.
40
28
  *
@@ -48,4 +36,4 @@ args: {
48
36
  * - It does not invoke the function immediately; it simply returns it for later use.
49
37
  * - Helps with static analysis and RAG-based documentation extraction.
50
38
  */
51
- export declare const defineAppManifest: (fn: AppManifestFn) => AppManifestFn<AppManifestWithRoutes>;
39
+ export declare const defineAppManifest: (fn: AppManifestFn) => AppManifestFn<AppManifest>;
@@ -1,5 +1,4 @@
1
- export { defineAppManifest, type AppManifestFn, type AppManifest, type AppManifestWithRoutes, } from './app-manifest.js';
2
- export type { RouteSchemaEntry } from '@equinor/fusion-framework-module-app';
1
+ export { defineAppManifest, type AppManifestFn, type AppManifest } from './app-manifest.js';
3
2
  export { createAppManifestFromPackage } from './create-app-manifest.js';
4
3
  export { mergeAppManifests } from './merge-app-manifest.js';
5
4
  export { loadAppManifest, type AppManifestExport } from './load-app-manifest.js';
@@ -1,2 +1,3 @@
1
+ export { processServices } from '@equinor/fusion-framework-dev-server';
1
2
  export { loadDevServerConfig, defineDevServerConfig, type DevServerConfigFn, type DevServerConfigExport, } from './load-dev-server-config.js';
2
3
  export { mergeDevServerConfig } from './merge-dev-server-config.js';
@@ -21,4 +21,4 @@ export declare const defineAppConfig: (...args: Parameters<typeof _defineConfig>
21
21
  *
22
22
  * @param args - Arguments passed to the new defineAppManifest function.
23
23
  */
24
- export declare const defineAppManifest: (...args: Parameters<typeof _defineManifest>) => import("./app/app-manifest.js").AppManifestFn<import("./app/app-manifest.js").AppManifestWithRoutes>;
24
+ export declare const defineAppManifest: (...args: Parameters<typeof _defineManifest>) => import("./app/app-manifest.js").AppManifestFn<import("node_modules/@equinor/fusion-framework-module-app/dist/types/types.js").AppManifest>;
@@ -1 +1 @@
1
- export declare const version = "12.5.0-next.0";
1
+ export declare const version = "12.5.1";
@@ -297,7 +297,6 @@ The Fusion Framework CLI provides a suite of commands to support the full applic
297
297
 
298
298
  - [Create](#create) — Create new Fusion applications from templates.
299
299
  - [Dev](#dev) — Start the development server with hot reloading.
300
- - [Serve](#serve) — Serve a built application with the dev-portal.
301
300
  - [Publish](#publish) — Build, upload, and tag your app for deployment.
302
301
  - [Config](#config) — Generate or upload your app configuration.
303
302
  - [Build](#build) — Build your application and generate deployment artifacts.
@@ -387,41 +386,6 @@ pnpm fusion-framework-cli dev --manifest ./app.manifest.local.ts --config ./app.
387
386
 
388
387
  > **Tip:** Use `--debug` to get detailed logs for troubleshooting during development.
389
388
 
390
- ### Serve
391
-
392
- Serve a built application using the dev-portal, providing a production-like preview environment.
393
-
394
- The `serve` command serves your built application through the dev-portal, similar to the `dev` command but using production-built files. This is useful for testing your built application locally before deployment.
395
-
396
- | Option | Description | Default / Example |
397
- | ------------------- | ------------------------------------------------------------------- | ----------------- |
398
- | `--port <port>` | Port for the preview server. | `4173` |
399
- | `--host <host>` | Host for the preview server. | `localhost` |
400
- | `--dir <directory>` | Directory to serve (default: detected from build config). | |
401
- | `--manifest <path>` | Path to the app manifest file (`app.manifest[.env]?.[ts,js,json]`). | `app.manifest.ts` |
402
- | `--config <path>` | Path to the app config file (`app.config[.env]?.[ts,js,json]`). | `app.config.ts` |
403
- | `-d`, `--debug` | Enable debug mode for verbose logging. | `false` |
404
-
405
- **Usage:**
406
- ```sh
407
- pnpm fusion-framework-cli app serve [options]
408
- ```
409
-
410
- **Examples:**
411
- ```sh
412
- pnpm fusion-framework-cli app serve
413
- pnpm fusion-framework-cli app serve --port 5000
414
- pnpm fusion-framework-cli app serve --dir ./dist --host 0.0.0.0
415
- pnpm fusion-framework-cli app serve --manifest app.manifest.prod.ts --config app.config.prod.ts
416
- ```
417
-
418
- > [!IMPORTANT]
419
- > **Prerequisites**: The application must be built first using `ffc app build` or `pnpm fusion-framework-cli app build`. The serve command will check if the build directory exists and provide an error message if it doesn't.
420
- >
421
- > **Build Directory Detection**: The build directory is automatically detected from your Vite configuration. If you need to serve a different directory, use the `--dir` option.
422
- >
423
- > **Preview Environment**: The serve command uses production mode and marks the environment as preview, so the manifest uses the compiled entry point from your build output.
424
-
425
389
  ### Publish
426
390
 
427
391
  Publish your application to the Fusion app store (registry) for deployment.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-cli",
3
- "version": "12.5.0-next.0",
3
+ "version": "12.5.1",
4
4
  "keywords": [
5
5
  "Fusion",
6
6
  "Fusion Framework",
@@ -107,11 +107,10 @@
107
107
  "vite": "^7.1.12",
108
108
  "vite-tsconfig-paths": "^5.1.4",
109
109
  "zod": "^4.1.8",
110
- "@equinor/fusion-framework-dev-portal": "2.0.0-next.0",
111
- "@equinor/fusion-framework-dev-server": "1.1.19-next.0",
112
- "@equinor/fusion-framework-module-msal-node": "2.0.2-next.0",
113
- "@equinor/fusion-imports": "1.2.0-next.0",
114
- "@equinor/fusion-framework-vite-plugin-raw-imports": "1.1.0-next.0"
110
+ "@equinor/fusion-framework-dev-portal": "1.2.6",
111
+ "@equinor/fusion-framework-dev-server": "1.1.18",
112
+ "@equinor/fusion-framework-module-msal-node": "2.0.1",
113
+ "@equinor/fusion-imports": "1.1.8"
115
114
  },
116
115
  "devDependencies": {
117
116
  "@rollup/plugin-commonjs": "^29.0.0",
@@ -134,11 +133,10 @@
134
133
  "type-fest": "^5.0.0",
135
134
  "typescript": "^5.8.2",
136
135
  "vitest": "^3.2.4",
137
- "@equinor/fusion-framework-react-router": "1.0.0-next.0",
138
- "@equinor/fusion-framework-module": "5.0.6-next.0",
139
- "@equinor/fusion-framework-module-http": "7.0.6-next.0",
140
- "@equinor/fusion-framework-module-service-discovery": "9.0.5-next.0",
141
- "@equinor/fusion-framework-module-app": "7.2.0-next.0"
136
+ "@equinor/fusion-framework-module-app": "7.2.1",
137
+ "@equinor/fusion-framework-module": "5.0.5",
138
+ "@equinor/fusion-framework-module-http": "7.0.5",
139
+ "@equinor/fusion-framework-module-service-discovery": "9.0.4"
142
140
  },
143
141
  "peerDependenciesMeta": {
144
142
  "typescript": {
@@ -1,49 +0,0 @@
1
- import type { ConsoleLogger } from './utils/index.js';
2
- /**
3
- * Options for serving a built application.
4
- * @public
5
- */
6
- export interface ServeApplicationOptions {
7
- /**
8
- * Path to the application manifest file.
9
- */
10
- manifest?: string;
11
- /**
12
- * Path to the application config file.
13
- */
14
- config?: string;
15
- /**
16
- * Directory to serve (optional, will detect from build config if not provided).
17
- */
18
- dir?: string;
19
- /**
20
- * Port for the preview server (optional, defaults to 4173).
21
- */
22
- port?: number;
23
- /**
24
- * Host for the preview server (optional, defaults to 'localhost').
25
- */
26
- host?: string;
27
- /**
28
- * Logger instance for outputting progress and debug information (optional).
29
- */
30
- log?: ConsoleLogger | null;
31
- /**
32
- * Enable debug mode for verbose logging.
33
- */
34
- debug?: boolean;
35
- }
36
- /**
37
- * Serves a built application using the dev-portal.
38
- *
39
- * This function loads the application manifest and Vite configuration to determine
40
- * the build output directory, then starts a dev server with the portal to serve
41
- * the built files in a production-like environment.
42
- *
43
- * @param options - Options for serving the application including port, host, and logger.
44
- * @returns A promise that resolves when the preview server has started.
45
- * @throws Will throw if the build directory doesn't exist or if serving fails.
46
- * @public
47
- */
48
- export declare const serveApplication: (options?: ServeApplicationOptions) => Promise<import("vite").ViteDevServer>;
49
- export default serveApplication;
@@ -1,34 +0,0 @@
1
- /**
2
- * CLI command: `serve`
3
- *
4
- * Serves a built application using the dev-portal.
5
- *
6
- * Features:
7
- * - Serves the built application through the dev-portal (similar to dev command).
8
- * - Automatically detects the build directory from Vite configuration.
9
- * - Supports custom port, host, directory, manifest, and config options.
10
- * - Provides a debug mode for verbose logging.
11
- *
12
- * Usage:
13
- * $ ffc app serve
14
- * $ ffc app serve --port 5000
15
- * $ ffc app serve --dir ./dist --host 0.0.0.0
16
- *
17
- * Options:
18
- * --port <port> Port for the preview server (default: 4173)
19
- * --host <host> Host for the preview server (default: localhost)
20
- * --dir <directory> Directory to serve (default: detected from build config)
21
- * --manifest <path> Path to the app manifest file
22
- * --config <path> Path to the app config file
23
- * -d, --debug Enable debug mode for verbose logging
24
- *
25
- * Example:
26
- * $ ffc app serve
27
- * $ ffc app serve --port 5000 --host 0.0.0.0
28
- * $ ffc app serve --dir ./dist
29
- * $ ffc app serve --manifest app.manifest.prod.ts --config app.config.prod.ts
30
- *
31
- * @see serveApplication for implementation details
32
- */
33
- export declare const command: import("commander").Command;
34
- export default command;