@equinor/fusion-framework-cli 9.8.0 → 10.0.0-widget-47330bca

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 (80) hide show
  1. package/CHANGELOG.md +422 -362
  2. package/dist/bin/build-application.js +2 -1
  3. package/dist/bin/build-application.js.map +1 -1
  4. package/dist/bin/bundle-application.js +2 -2
  5. package/dist/bin/bundle-application.js.map +1 -1
  6. package/dist/bin/bundle-widget.js +61 -0
  7. package/dist/bin/bundle-widget.js.map +1 -0
  8. package/dist/bin/create-dev-serve.js +21 -3
  9. package/dist/bin/create-dev-serve.js.map +1 -1
  10. package/dist/bin/create-export-config.js.map +1 -1
  11. package/dist/bin/create-export-manifest-widget.js +68 -0
  12. package/dist/bin/create-export-manifest-widget.js.map +1 -0
  13. package/dist/bin/create-export-manifest.js.map +1 -1
  14. package/dist/bin/dev-portal/AppLoader.js.map +1 -1
  15. package/dist/bin/dev-portal/ContextSelector.js.map +1 -1
  16. package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -1
  17. package/dist/bin/dev-portal/config.js +2 -0
  18. package/dist/bin/dev-portal/config.js.map +1 -1
  19. package/dist/bin/dev-proxy.js +13 -3
  20. package/dist/bin/dev-proxy.js.map +1 -1
  21. package/dist/bin/main.app.js +8 -2
  22. package/dist/bin/main.app.js.map +1 -1
  23. package/dist/bin/main.js +2 -0
  24. package/dist/bin/main.js.map +1 -1
  25. package/dist/bin/main.widget.js +78 -0
  26. package/dist/bin/main.widget.js.map +1 -0
  27. package/dist/bin/public/assets/{index-Wjdyh2CN.js → index-UrNngCGF.js} +1234 -621
  28. package/dist/bin/public/index.html +1 -1
  29. package/dist/bin/utils/format.js.map +1 -1
  30. package/dist/bin/utils/load-app-config.js.map +1 -1
  31. package/dist/bin/utils/load-dev-proxy.js +48 -0
  32. package/dist/bin/utils/load-dev-proxy.js.map +1 -0
  33. package/dist/bin/utils/load-manifest.js.map +1 -1
  34. package/dist/bin/utils/load-vite-config.js.map +1 -1
  35. package/dist/bin/utils/load-widget-manifest.js +35 -0
  36. package/dist/bin/utils/load-widget-manifest.js.map +1 -0
  37. package/dist/bin/utils/load-widget-package.js +24 -0
  38. package/dist/bin/utils/load-widget-package.js.map +1 -0
  39. package/dist/lib/app-config.js.map +1 -1
  40. package/dist/lib/app-manifest.js.map +1 -1
  41. package/dist/lib/app-package.js.map +1 -1
  42. package/dist/lib/dev-config.js +9 -0
  43. package/dist/lib/dev-config.js.map +1 -0
  44. package/dist/lib/index.js +3 -0
  45. package/dist/lib/index.js.map +1 -1
  46. package/dist/lib/utils/assert.js.map +1 -1
  47. package/dist/lib/utils/config.js.map +1 -1
  48. package/dist/lib/utils/file-exists.js.map +1 -1
  49. package/dist/lib/utils/ts-transpile.js.map +1 -1
  50. package/dist/lib/vite-config.js +5 -2
  51. package/dist/lib/vite-config.js.map +1 -1
  52. package/dist/lib/vite-logger.js.map +1 -1
  53. package/dist/lib/widget-config.js +57 -0
  54. package/dist/lib/widget-config.js.map +1 -0
  55. package/dist/lib/widget-manifest.js +73 -0
  56. package/dist/lib/widget-manifest.js.map +1 -0
  57. package/dist/lib/widget-package.js +33 -0
  58. package/dist/lib/widget-package.js.map +1 -0
  59. package/dist/types/bin/build-application.d.ts +1 -0
  60. package/dist/types/bin/bundle-application.d.ts +1 -0
  61. package/dist/types/bin/bundle-widget.d.ts +5 -0
  62. package/dist/types/bin/create-dev-serve.d.ts +3 -0
  63. package/dist/types/bin/create-export-manifest-widget.d.ts +20 -0
  64. package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +1087 -4
  65. package/dist/types/bin/dev-proxy.d.ts +9 -1
  66. package/dist/types/bin/main.widget.d.ts +3 -0
  67. package/dist/types/bin/utils/format.d.ts +0 -1
  68. package/dist/types/bin/utils/load-dev-proxy.d.ts +3 -0
  69. package/dist/types/bin/utils/load-widget-manifest.d.ts +8 -0
  70. package/dist/types/bin/utils/load-widget-package.d.ts +5 -0
  71. package/dist/types/lib/dev-config.d.ts +13 -0
  72. package/dist/types/lib/index.d.ts +3 -0
  73. package/dist/types/lib/utils/assert.d.ts +0 -1
  74. package/dist/types/lib/utils/config.d.ts +3 -0
  75. package/dist/types/lib/widget-config.d.ts +26 -0
  76. package/dist/types/lib/widget-manifest.d.ts +53 -0
  77. package/dist/types/lib/widget-package.d.ts +23 -0
  78. package/dist/types/version.d.ts +1 -1
  79. package/dist/version.js +1 -1
  80. package/package.json +7 -6
@@ -4,6 +4,8 @@ import { type Options as ProxyOptions } from 'http-proxy-middleware';
4
4
  import { type AppManifest } from '../lib/app-manifest.js';
5
5
  import { type IncomingMessage } from 'node:http';
6
6
  import { type AppConfig } from '../lib/app-config.js';
7
+ import { WidgetManifest } from '../lib/widget-manifest.js';
8
+ import { ConfigExecuterEnv } from '../lib/utils/config.js';
7
9
  type ProxyHandlerResult<T> = {
8
10
  response?: T;
9
11
  statusCode?: number;
@@ -18,11 +20,17 @@ export interface ProxyHandler {
18
20
  onConfigResponse(slug: {
19
21
  appKey: string;
20
22
  }, message: IncomingMessage, data?: AppConfig): ProxyHandlerReturn<AppConfig>;
23
+ onWidgetManifestResponse(slug: {
24
+ widgetKey: string;
25
+ }, message: IncomingMessage, data?: WidgetManifest): ProxyHandlerReturn<WidgetManifest>;
21
26
  }
22
27
  export declare const createDevProxy: (handler: ProxyHandler, options: Pick<ProxyOptions, "target"> & {
23
28
  staticAssets?: {
24
29
  path: string;
25
30
  options?: Parameters<typeof express.static>[1];
26
31
  }[] | undefined;
27
- }) => Express;
32
+ }, config?: {
33
+ configurator: (env: ConfigExecuterEnv, app: Express) => Promise<express.Express>;
34
+ env: ConfigExecuterEnv;
35
+ } | undefined) => Promise<Express>;
28
36
  export default createDevProxy;
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ declare const _default: (program: Command) => void;
3
+ export default _default;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { relative } from 'node:path';
3
2
  import chalk from 'chalk';
4
3
  export { chalk };
@@ -0,0 +1,3 @@
1
+ import { type Express } from 'express';
2
+ import { type ConfigExecuterEnv } from '../../lib/utils/config.js';
3
+ export declare const devAppConfig: (env: ConfigExecuterEnv, app: Express) => Promise<Express>;
@@ -0,0 +1,8 @@
1
+ import { type ConfigExecuterEnv } from '../../lib/utils/config.js';
2
+ import { ResolvedWidgetPackage } from '../../lib/widget-package.js';
3
+ export declare const loadWidgetManifest: (env: ConfigExecuterEnv, pkg: ResolvedWidgetPackage, options?: {
4
+ file?: string;
5
+ }) => Promise<{
6
+ manifest: import("../../lib/widget-manifest.js").WidgetManifest;
7
+ path?: string | undefined;
8
+ }>;
@@ -0,0 +1,5 @@
1
+ export declare const loadWidgetPackage: () => Promise<{
2
+ root: string;
3
+ packageJson: import("../../lib/widget-package.js").WidgetPackageJson;
4
+ path: string;
5
+ }>;
@@ -0,0 +1,13 @@
1
+ import { type Express } from 'express';
2
+ import { ConfigExecuterEnv } from './utils/config.js';
3
+ import { WidgetConfig } from './widget-manifest.js';
4
+ export type AppConfig = {
5
+ express?(app: Express): void;
6
+ widgets?: WidgetConfig[];
7
+ };
8
+ export declare const filename = "dev.config.ts";
9
+ export declare const loadAppConfig: (fileName: string) => Promise<import("./utils/config.js").ConfigExecuter<AppConfig, import("./utils/config.js").ConfigExecuterArgs>>;
10
+ export declare const getProxyConfigFilePath: (root?: string) => string;
11
+ export declare const proxyFileExist: (root?: string) => boolean;
12
+ export declare const defineProxyConfig: (fn: (env: ConfigExecuterEnv, app: Express) => void) => (env: ConfigExecuterEnv, app: Express) => void;
13
+ export declare const createDevConfig: (fn: (env: ConfigExecuterEnv) => AppConfig) => (env: ConfigExecuterEnv) => AppConfig;
@@ -1,3 +1,6 @@
1
1
  export { mergeManifests, defineAppManifest, type AppManifest, type AppManifestFn, } from './app-manifest.js';
2
2
  export { mergeAppConfigs, defineAppConfig, type AppConfig, type AppConfigFn, type AppConfigExport, } from './app-config.js';
3
3
  export { defineAppPackage, resolveAppKey, resolveEntryPoint, type AppPackageJson, type ResolvedAppPackage, } from './app-package.js';
4
+ export { mergeWidgetManifests, defineWidgetManifest, createWidgetManifest, type WidgetManifest, type WidgetManifestFn, } from './widget-manifest.js';
5
+ export { mergeWidgetConfigs, defineWidgetConfig, type WidgetConfig, type WidgetConfigFn, type WidgetConfigExport, } from './widget-config.js';
6
+ export { createDevConfig, type AppConfig as ProxyConfig } from './dev-config.js';
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import assert, { AssertionError } from 'node:assert';
3
2
  export { assert, AssertionError };
4
3
  export declare function assertNumber(value: unknown, message?: string): asserts value;
@@ -11,6 +11,9 @@ export type ConfigExecuterEnv = {
11
11
  command: 'serve' | 'build';
12
12
  mode: string;
13
13
  root?: string;
14
+ widget?: boolean;
15
+ port?: number;
16
+ outputFileName?: string;
14
17
  };
15
18
  export type ConfigExecuterArgs = [ConfigExecuterEnv, ...any[]];
16
19
  export type ConfigExecuter<TType = any, TArgs extends ConfigExecuterArgs = ConfigExecuterArgs> = (...args: TArgs) => TType | Promise<TType>;
@@ -0,0 +1,26 @@
1
+ import { type ResolvedConfig, type FindConfigOptions, ConfigExecuterEnv } from './utils/config.js';
2
+ export type WidgetConfig = {
3
+ entry: string;
4
+ dist: string;
5
+ };
6
+ type FindWidgetConfigOptions = FindConfigOptions & {
7
+ file?: string;
8
+ };
9
+ export type WidgetConfigFn = (env: ConfigExecuterEnv, args: {
10
+ base: WidgetConfig;
11
+ }) => WidgetConfig | Promise<WidgetConfig>;
12
+ export type WidgetConfigExport = WidgetConfig | WidgetConfigFn;
13
+ export declare const widgetConfigFilename = "widget.config";
14
+ export declare function assertWidgetConfig(value: WidgetConfig): asserts value;
15
+ export declare const defineWidgetConfig: (fn: WidgetConfigFn) => WidgetConfigFn;
16
+ export declare const mergeWidgetConfigs: (base: Partial<WidgetConfig>, overrides: Partial<WidgetConfig>) => WidgetConfig;
17
+ export declare const loadAppConfig: (filename?: string) => Promise<import("./utils/config.js").ConfigExecuter<WidgetConfig, import("./utils/config.js").ConfigExecuterArgs>>;
18
+ export declare const resolveWidgetConfig: (options?: FindConfigOptions & {
19
+ file?: string;
20
+ }) => Promise<ResolvedConfig<WidgetConfigFn> | void>;
21
+ export declare const createCleanWidgetConfig: () => WidgetConfig;
22
+ export declare const createWidgetConfig: (env: ConfigExecuterEnv, base: WidgetConfig, options?: FindWidgetConfigOptions) => Promise<{
23
+ config: WidgetConfig;
24
+ path?: string;
25
+ }>;
26
+ export {};
@@ -0,0 +1,53 @@
1
+ /// <reference types="node" />
2
+ import { type FindConfigOptions, type ResolvedConfig, ConfigExecuterEnv } from './utils/config.js';
3
+ import { RecursivePartial } from './utils/types.js';
4
+ import { AnyARecord } from 'node:dns';
5
+ import { ResolvedWidgetPackage } from './widget-package.js';
6
+ export type WidgetManifest = {
7
+ id: string;
8
+ name: string;
9
+ version: string;
10
+ description?: string;
11
+ maintainers?: string[];
12
+ entryPoint: string;
13
+ assetPath: string;
14
+ };
15
+ export type WidgetConfig = Omit<WidgetManifest, 'id' | 'description' | 'maintainers' | 'version'>;
16
+ export type WidgetEnv<TProps = unknown> = {
17
+ basename?: string;
18
+ manifest?: WidgetManifest;
19
+ props?: TProps;
20
+ };
21
+ export type WidgetProps = Record<PropertyKey, unknown>;
22
+ type Fusion = AnyARecord;
23
+ export type WidgetRenderArgs<TFusion extends Fusion = Fusion, TEnv = WidgetEnv, TProps extends WidgetProps = WidgetProps> = {
24
+ fusion: TFusion;
25
+ env: TEnv;
26
+ props?: TProps;
27
+ };
28
+ export type WidgetScriptModule<TProps extends WidgetProps = WidgetProps> = {
29
+ default: (el: HTMLElement, args: WidgetRenderArgs, props?: TProps) => VoidFunction;
30
+ renderWidget: (el: HTMLElement, args: WidgetRenderArgs, props?: TProps) => VoidFunction;
31
+ renderIcon: (el: HTMLElement, args: WidgetRenderArgs, props?: TProps) => VoidFunction;
32
+ render: (el: HTMLElement, args: WidgetRenderArgs, props?: TProps) => VoidFunction;
33
+ };
34
+ export type WidgetManifestFn = (env: ConfigExecuterEnv, args: {
35
+ base: WidgetManifest;
36
+ }) => WidgetManifest | Promise<WidgetManifest>;
37
+ type FindManifestOptions = FindConfigOptions & {
38
+ file?: string;
39
+ };
40
+ export declare const manifestConfigFilename = "widget.manifest.config";
41
+ export declare const defineWidgetManifest: (fn: WidgetManifestFn) => WidgetManifestFn;
42
+ export declare function assertWidgetManifest(value: WidgetManifest): asserts value;
43
+ export declare const mergeWidgetManifests: (base: RecursivePartial<WidgetManifest>, overrides: RecursivePartial<WidgetManifest>) => WidgetManifest;
44
+ export declare const loadWidgetManifest: (filename?: string) => Promise<import("./utils/config.js").ConfigExecuter<WidgetManifest, import("./utils/config.js").ConfigExecuterArgs>>;
45
+ export declare const resolveManifest: (options?: FindConfigOptions & {
46
+ file?: string;
47
+ }) => Promise<ResolvedConfig<WidgetManifestFn> | void>;
48
+ export declare const createWidgetManifestFromPackage: (pkg: ResolvedWidgetPackage) => WidgetManifest;
49
+ export declare const createWidgetManifest: (env: ConfigExecuterEnv, base: WidgetManifest, options?: FindManifestOptions) => Promise<{
50
+ manifest: WidgetManifest;
51
+ path?: string;
52
+ }>;
53
+ export {};
@@ -0,0 +1,23 @@
1
+ import { PackageJson, type NormalizeOptions as ResolveAppPackageOptions } from 'read-package-up';
2
+ import { WidgetManifest } from './widget-manifest.js';
3
+ export type WidgetPackageJson = PackageJson & {
4
+ manifest?: WidgetManifest;
5
+ };
6
+ type DefinePackageFn = () => WidgetPackageJson | Promise<WidgetPackageJson>;
7
+ type DefinePackageExporter = WidgetPackageJson | DefinePackageFn;
8
+ export interface defineAppPackage {
9
+ (obj: WidgetPackageJson): WidgetPackageJson;
10
+ }
11
+ export interface defineAppPackage {
12
+ (fn: DefinePackageFn): void;
13
+ }
14
+ export type ResolvedWidgetPackage = {
15
+ packageJson: WidgetPackageJson;
16
+ path: string;
17
+ };
18
+ export declare function defineWidgetPackage(fnOrObject: DefinePackageExporter): DefinePackageExporter;
19
+ export declare const resolveWidgetEntryPoint: (packageJson: Pick<PackageJson, 'main' | 'module'>) => string;
20
+ export declare const resolveWidgetKey: (packageJson: Pick<PackageJson, 'name'>) => string;
21
+ export declare const assertPackage: (_pkg: Partial<WidgetPackageJson>) => void;
22
+ export declare const resolveWidgetPackage: (options?: ResolveAppPackageOptions) => Promise<ResolvedWidgetPackage>;
23
+ export default resolveWidgetPackage;
@@ -1 +1 @@
1
- export declare const version = "9.8.0";
1
+ export declare const version = "9.8.1";
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '9.8.0';
1
+ export const version = '9.8.1';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-cli",
3
- "version": "9.8.0",
3
+ "version": "10.0.0-widget-47330bca",
4
4
  "keywords": [
5
5
  "Fusion",
6
6
  "Fusion Framework",
@@ -27,7 +27,7 @@
27
27
  "@equinor/eds-core-react": "^0.36.0",
28
28
  "@equinor/eds-icons": "^0.21.0",
29
29
  "@equinor/eds-tokens": "^0.9.2",
30
- "@equinor/fusion-wc-person": "^2.4.0",
30
+ "@equinor/fusion-wc-person": "^2.5.1",
31
31
  "@types/adm-zip": "^0.5.0",
32
32
  "@types/semver": "^7.5.0",
33
33
  "@vitejs/plugin-react": "^4.0.4",
@@ -51,7 +51,8 @@
51
51
  "vite-tsconfig-paths": "^4.2.0",
52
52
  "@equinor/fusion-framework-app": "^8.1.1",
53
53
  "@equinor/fusion-framework-module-feature-flag": "^1.0.2",
54
- "@equinor/fusion-framework-react-components-people-provider": "^1.2.0",
54
+ "@equinor/fusion-framework-react-components-people-provider": "^1.2.1",
55
+ "@equinor/fusion-framework-react-widget": "^1.0.1-widget-47330bca",
55
56
  "@equinor/fusion-observable": "^8.1.5"
56
57
  },
57
58
  "devDependencies": {
@@ -61,7 +62,7 @@
61
62
  "@equinor/fusion-react-menu": "^0.3.0",
62
63
  "@equinor/fusion-react-person": "^0.7.0",
63
64
  "@equinor/fusion-react-progress-indicator": "^0.2.1",
64
- "@equinor/fusion-react-side-sheet": "1.2.5",
65
+ "@equinor/fusion-react-side-sheet": "1.3.0",
65
66
  "@equinor/fusion-react-styles": "^0.6.0",
66
67
  "@material-ui/styles": "^4.11.5",
67
68
  "@types/express": "^4.17.17",
@@ -78,11 +79,11 @@
78
79
  "typescript": "^5.1.3",
79
80
  "@equinor/fusion-framework": "^7.0.30",
80
81
  "@equinor/fusion-framework-app": "^8.1.1",
81
- "@equinor/fusion-framework-module-app": "^5.2.13",
82
82
  "@equinor/fusion-framework-module-bookmark": "^1.1.2",
83
+ "@equinor/fusion-framework-module-app": "^5.2.13",
83
84
  "@equinor/fusion-framework-module-context": "^4.0.21",
84
- "@equinor/fusion-framework-module-msal": "^3.0.10",
85
85
  "@equinor/fusion-framework-module-http": "^5.1.6",
86
+ "@equinor/fusion-framework-module-msal": "^3.0.10",
86
87
  "@equinor/fusion-framework-module-navigation": "^3.1.4",
87
88
  "@equinor/fusion-framework-module-services": "^3.2.4",
88
89
  "@equinor/fusion-framework-react": "^6.0.2",