@salesforce/metadata-visualizer-web 1.1.0 → 1.3.0
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/README.md +20 -9
- package/dist/WebVisualizationEngine.d.ts +26 -2
- package/dist/WebVisualizationEngine.d.ts.map +1 -1
- package/dist/WebVisualizationEngine.js +40 -9
- package/dist/WebVisualizationEngine.js.map +1 -1
- package/dist/design-system/light-design-system.css +724 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pluginAssets/BundledPluginAssetReader.d.ts +2 -1
- package/dist/pluginAssets/BundledPluginAssetReader.d.ts.map +1 -1
- package/dist/pluginAssets/BundledPluginAssetReader.js +7 -3
- package/dist/pluginAssets/BundledPluginAssetReader.js.map +1 -1
- package/dist/plugins/flow/ui/assets/index-Cb-x8fUq.css +1 -0
- package/dist/plugins/flow/ui/assets/index-DDfQ7eDI.js +48 -0
- package/dist/plugins/flow/ui/index.html +14 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -45,13 +45,13 @@ After implementing `IFileSystem` and constructing the engine via `createWebVisua
|
|
|
45
45
|
|
|
46
46
|
### Core API Methods
|
|
47
47
|
|
|
48
|
-
| Method | Returns | Use Case
|
|
49
|
-
| -------------------------------------------- | ------------------------------------------------------------------- |
|
|
50
|
-
| `getPlugin(metadataFilePath)` | `PluginInfo \| null` | Resolve a metadata file path to its registered plugin (returns `id`, `displayName`, etc.)
|
|
51
|
-
| `visualizeMetadata(pluginId)`
|
|
52
|
-
| `getParsedMetadata(metadataFilePath)` | `VisualizeOutcome` — `{ result, error }` | Parse metadata and return structured data without generating HTML
|
|
53
|
-
| `getUpdatedParsedMetadata(metadataFilePath)` | `{ error, pluginDataUpdateMessage }` | Generate update message for posting to existing plugin iframe (live updates)
|
|
54
|
-
| `dispose()` | `void` | Release all resources (call on shutdown)
|
|
48
|
+
| Method | Returns | Use Case |
|
|
49
|
+
| -------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
50
|
+
| `getPlugin(metadataFilePath)` | `PluginInfo \| null` | Resolve a metadata file path to its registered plugin (returns `id`, `displayName`, etc.) |
|
|
51
|
+
| `visualizeMetadata(pluginId, options?)` | `{ bundle: HttpAsset<string> \| null, error: PluginError \| null }` | Generate a fully self-contained HTML shell for the plugin's UI (no parsing — UI only); `options.theme` selects a design-system theme |
|
|
52
|
+
| `getParsedMetadata(metadataFilePath)` | `VisualizeOutcome` — `{ result, error }` | Parse metadata and return structured data without generating HTML |
|
|
53
|
+
| `getUpdatedParsedMetadata(metadataFilePath)` | `{ error, pluginDataUpdateMessage }` | Generate update message for posting to existing plugin iframe (live updates) |
|
|
54
|
+
| `dispose()` | `void` | Release all resources (call on shutdown) |
|
|
55
55
|
|
|
56
56
|
### Method Details
|
|
57
57
|
|
|
@@ -63,7 +63,7 @@ After implementing `IFileSystem` and constructing the engine via `createWebVisua
|
|
|
63
63
|
- Returns `PluginInfo` (with `id`) on match, `null` otherwise
|
|
64
64
|
- Synchronous and side-effect-free
|
|
65
65
|
|
|
66
|
-
**`visualizeMetadata(pluginId)`** — Generate UI shell:
|
|
66
|
+
**`visualizeMetadata(pluginId, options?)`** — Generate UI shell:
|
|
67
67
|
|
|
68
68
|
- Returns fully self-contained HTML with all assets (JS, CSS, platform styles) inlined
|
|
69
69
|
- **No metadata parsing occurs** — this generates the static plugin UI only
|
|
@@ -71,6 +71,15 @@ After implementing `IFileSystem` and constructing the engine via `createWebVisua
|
|
|
71
71
|
- Perfect for iframe embedding: `<iframe srcdoc="..."></iframe>`
|
|
72
72
|
- The loaded plugin iframe requests its data separately via postMessage
|
|
73
73
|
- Error handling: Check `error` field first, then use `bundle`
|
|
74
|
+
- **Theming:** Pass `{ theme: 'light' }` to inline the light design-system sheet. Omitting `options` (or `options.theme`) yields the default dark-fallback bundle, byte-for-byte identical to the pre-theme behavior. An unknown theme returns a `Validation` error (no silent fallback), reported before any asset read. Valid theme names come from `DESIGN_SYSTEM_THEMES` / `isDesignSystemTheme` (re-exported from `@salesforce/metadata-core-sdk/design-system`).
|
|
75
|
+
- **Caching:** The bundle body varies by `(pluginId, theme)` at a stable URL, so its `cacheControl` is `public, max-age=86400` (no `immutable`). Multi-theme callers should vary their own cache key by theme.
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
// Light theme bundle
|
|
79
|
+
const { bundle, error } = await engine.visualizeMetadata(pluginInfo.id, { theme: 'light' });
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
> **Known limitation:** React Flow chrome elements (canvas dots, minimap, attribution) in plugin UIs remain dark-mode styled. Those elements are rendered by the external `@salesforce/metadata-plugins` package and are not reached by the design-system theme layer. Closing this gap requires a separate plugins-repo change.
|
|
74
83
|
|
|
75
84
|
**`getParsedMetadata(metadataFilePath)`** — Parse metadata only:
|
|
76
85
|
|
|
@@ -250,7 +259,7 @@ Build runs from the workspace root — `@salesforce/metadata-plugins` lives in t
|
|
|
250
259
|
|
|
251
260
|
- `WebVisualizationEngine` — Main class with five methods:
|
|
252
261
|
- `getPlugin(metadataFilePath)` — Resolve a file path to its registered plugin
|
|
253
|
-
- `visualizeMetadata(pluginId)` — Generate the plugin UI shell (HTML bundle, no parsing)
|
|
262
|
+
- `visualizeMetadata(pluginId, options?)` — Generate the plugin UI shell (HTML bundle, no parsing); `options.theme` selects a design-system theme
|
|
254
263
|
- `getParsedMetadata(metadataFilePath)` — Parse metadata only
|
|
255
264
|
- `getUpdatedParsedMetadata(metadataFilePath)` — Generate update message for live updates
|
|
256
265
|
- `dispose()` — Release resources
|
|
@@ -263,6 +272,8 @@ Build runs from the workspace root — `@salesforce/metadata-plugins` lives in t
|
|
|
263
272
|
- `VisualizeOutcome` — Parse result: `{ result, error }`. The `error` field is a `PluginError` from `@salesforce/metadata-core-sdk`.
|
|
264
273
|
- `PluginDataUpdateMessage<T = unknown>` — Update message for postMessage: `{ type: 'PLUGIN_DATA_UPDATE', payload: PluginDataResponse<T> }`. Generic `T` lets plugin code with a known data shape opt into type-safety; consumers can narrow on `message.type` in a discriminated-union switch.
|
|
265
274
|
- `WebAdapterOptions` — Engine constructor options: `{ fileSystem, telemetry? }`
|
|
275
|
+
- `VisualizeMetadataOptions` — `visualizeMetadata` options: `{ theme?: DesignSystemTheme }`
|
|
276
|
+
- `DesignSystemTheme` / `DESIGN_SYSTEM_THEMES` / `isDesignSystemTheme` — Theme catalog re-exported from `@salesforce/metadata-core-sdk/design-system`
|
|
266
277
|
|
|
267
278
|
## License
|
|
268
279
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
6
|
**/
|
|
7
7
|
import type { PluginError } from '@salesforce/metadata-core-sdk';
|
|
8
|
+
import { type DesignSystemTheme } from '@salesforce/metadata-core-sdk/design-system';
|
|
8
9
|
import type { PluginManager, VisualizationEngine } from '@salesforce/metadata-visualizer-core';
|
|
9
10
|
import { BundledPluginAssetReader } from './pluginAssets/BundledPluginAssetReader.js';
|
|
10
11
|
import type { HttpAsset } from './types/HttpAsset.js';
|
|
@@ -22,6 +23,18 @@ export interface WebVisualizationEngineDeps {
|
|
|
22
23
|
pluginManager: PluginManager;
|
|
23
24
|
pluginAssetReader: BundledPluginAssetReader;
|
|
24
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for {@link WebVisualizationEngine.visualizeMetadata}.
|
|
28
|
+
*/
|
|
29
|
+
export interface VisualizeMetadataOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Optional theme name. If omitted, returns the default (dark-fallback)
|
|
32
|
+
* bundle — byte-for-byte identical to the pre-theme behavior. A value that
|
|
33
|
+
* is not a known theme is rejected with a `Validation` error rather than
|
|
34
|
+
* silently falling back.
|
|
35
|
+
*/
|
|
36
|
+
theme?: DesignSystemTheme;
|
|
37
|
+
}
|
|
25
38
|
/**
|
|
26
39
|
* Browser/HTTP platform adapter for the visualization framework.
|
|
27
40
|
* Provides methods to generate self-contained HTML bundles and parse metadata
|
|
@@ -59,20 +72,31 @@ export declare class WebVisualizationEngine {
|
|
|
59
72
|
* ready to be embedded in an iframe. No metadata parsing occurs — this generates the static UI shell.
|
|
60
73
|
*
|
|
61
74
|
* @param pluginId - ID of the registered plugin to generate bundle for
|
|
75
|
+
* @param options - Optional bundle options. `theme` selects a design-system
|
|
76
|
+
* theme (e.g. `'light'`); omitting it yields the default dark-fallback bundle.
|
|
62
77
|
* @returns Object containing the bundle (null if failed) and error (null if successful)
|
|
63
78
|
*
|
|
64
79
|
* @example
|
|
65
80
|
* ```typescript
|
|
81
|
+
* // Default (dark-fallback) bundle
|
|
66
82
|
* const { bundle, error } = await engine.visualizeMetadata('flexipage-visualizer');
|
|
83
|
+
*
|
|
84
|
+
* // Light theme bundle
|
|
85
|
+
* const { bundle, error } = await engine.visualizeMetadata('flexipage-visualizer', { theme: 'light' });
|
|
86
|
+
*
|
|
67
87
|
* if (error) {
|
|
68
88
|
* console.error('Bundle generation failed:', error.message);
|
|
69
|
-
* res
|
|
89
|
+
* res
|
|
90
|
+
* .status(
|
|
91
|
+
* error.category === 'Validation' ? 400 : error.category === 'Configuration' ? 404 : 500
|
|
92
|
+
* )
|
|
93
|
+
* .json({ error: error.message });
|
|
70
94
|
* } else if (bundle) {
|
|
71
95
|
* res.type(bundle.contentType).send(bundle.body);
|
|
72
96
|
* }
|
|
73
97
|
* ```
|
|
74
98
|
*/
|
|
75
|
-
visualizeMetadata(pluginId: string): Promise<{
|
|
99
|
+
visualizeMetadata(pluginId: string, options?: VisualizeMetadataOptions): Promise<{
|
|
76
100
|
bundle: HttpAsset<string> | null;
|
|
77
101
|
error: PluginError | null;
|
|
78
102
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebVisualizationEngine.d.ts","sourceRoot":"","sources":["../src/WebVisualizationEngine.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAEJ,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAI/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,wBAAwB,CAAC;CAC7C;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAS;IACzB,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D;;;;;;;;;;;;;;;;OAgBG;gBACS,IAAI,EAAE,0BAA0B;IAM5C
|
|
1
|
+
{"version":3,"file":"WebVisualizationEngine.d.ts","sourceRoot":"","sources":["../src/WebVisualizationEngine.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAEJ,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAI/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,wBAAwB,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAS;IACzB,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D;;;;;;;;;;;;;;;;OAgBG;gBACS,IAAI,EAAE,0BAA0B;IAM5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC;QACT,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACjC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;KAC3B,CAAC;IA8EF;;;;;;;;;;;;;;;;;OAiBG;IACG,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyC5E;;;;;;;;;;;;;;;;;;OAkBG;IACG,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;QAChE,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;QAC1B,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAC;KACzD,CAAC;IASF;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,IAAI,IAAI;IAUf;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAsB/B;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAKlD;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAI1B,4DAA4D;IAC5D,OAAO,CAAC,iBAAiB;CAK1B"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
6
6
|
**/
|
|
7
7
|
import { WebviewMessageType, ErrorCategory } from '@salesforce/metadata-core-sdk';
|
|
8
|
+
import { isDesignSystemTheme, } from '@salesforce/metadata-core-sdk/design-system';
|
|
8
9
|
import { injectBootstrap } from './internal/htmlPipeline.js';
|
|
9
10
|
import { inlineAssets } from './internal/assetInliner.js';
|
|
10
11
|
import { BROWSER_IFRAME_BOOTSTRAP } from './internal/constants.js';
|
|
@@ -46,20 +47,31 @@ export class WebVisualizationEngine {
|
|
|
46
47
|
* ready to be embedded in an iframe. No metadata parsing occurs — this generates the static UI shell.
|
|
47
48
|
*
|
|
48
49
|
* @param pluginId - ID of the registered plugin to generate bundle for
|
|
50
|
+
* @param options - Optional bundle options. `theme` selects a design-system
|
|
51
|
+
* theme (e.g. `'light'`); omitting it yields the default dark-fallback bundle.
|
|
49
52
|
* @returns Object containing the bundle (null if failed) and error (null if successful)
|
|
50
53
|
*
|
|
51
54
|
* @example
|
|
52
55
|
* ```typescript
|
|
56
|
+
* // Default (dark-fallback) bundle
|
|
53
57
|
* const { bundle, error } = await engine.visualizeMetadata('flexipage-visualizer');
|
|
58
|
+
*
|
|
59
|
+
* // Light theme bundle
|
|
60
|
+
* const { bundle, error } = await engine.visualizeMetadata('flexipage-visualizer', { theme: 'light' });
|
|
61
|
+
*
|
|
54
62
|
* if (error) {
|
|
55
63
|
* console.error('Bundle generation failed:', error.message);
|
|
56
|
-
* res
|
|
64
|
+
* res
|
|
65
|
+
* .status(
|
|
66
|
+
* error.category === 'Validation' ? 400 : error.category === 'Configuration' ? 404 : 500
|
|
67
|
+
* )
|
|
68
|
+
* .json({ error: error.message });
|
|
57
69
|
* } else if (bundle) {
|
|
58
70
|
* res.type(bundle.contentType).send(bundle.body);
|
|
59
71
|
* }
|
|
60
72
|
* ```
|
|
61
73
|
*/
|
|
62
|
-
async visualizeMetadata(pluginId) {
|
|
74
|
+
async visualizeMetadata(pluginId, options) {
|
|
63
75
|
this.assertNotDisposed();
|
|
64
76
|
// Fail fast on invalid plugin IDs to avoid downstream errors
|
|
65
77
|
if (!pluginId || pluginId.trim().length === 0) {
|
|
@@ -71,6 +83,18 @@ export class WebVisualizationEngine {
|
|
|
71
83
|
},
|
|
72
84
|
};
|
|
73
85
|
}
|
|
86
|
+
// Reject an unknown theme up front — before any plugin verification or asset
|
|
87
|
+
// read — so a bad theme never touches the filesystem. No silent fallback:
|
|
88
|
+
// an invalid theme is a caller error, consistent with the error-first boundary.
|
|
89
|
+
if (options?.theme !== undefined && !isDesignSystemTheme(options.theme)) {
|
|
90
|
+
return {
|
|
91
|
+
bundle: null,
|
|
92
|
+
error: {
|
|
93
|
+
message: `Invalid theme: ${options.theme}`,
|
|
94
|
+
category: ErrorCategory.Validation,
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
74
98
|
// Verify plugin is registered before attempting asset read
|
|
75
99
|
if (!this.requireKnownPlugin(pluginId)) {
|
|
76
100
|
return {
|
|
@@ -84,7 +108,7 @@ export class WebVisualizationEngine {
|
|
|
84
108
|
try {
|
|
85
109
|
// Build self-contained HTML bundle: inline all assets to eliminate external requests
|
|
86
110
|
let html = await this.assetReader.readPluginIndexHtml(pluginId);
|
|
87
|
-
const platformCss = await this.assetReader.readDesignSystemCss();
|
|
111
|
+
const platformCss = await this.assetReader.readDesignSystemCss(options?.theme);
|
|
88
112
|
html = await inlineAssets(html, pluginId, this.assetReader, platformCss);
|
|
89
113
|
// Bootstrap script enables host-plugin postMessage communication
|
|
90
114
|
html = injectBootstrap(html, BROWSER_IFRAME_BOOTSTRAP);
|
|
@@ -92,11 +116,16 @@ export class WebVisualizationEngine {
|
|
|
92
116
|
bundle: {
|
|
93
117
|
contentType: 'text/html; charset=utf-8',
|
|
94
118
|
body: html,
|
|
95
|
-
// Bundle is the static plugin UI shell
|
|
96
|
-
// that flows separately via getParsedMetadata + postMessage). The
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
|
|
119
|
+
// Bundle is the static plugin UI shell + themed CSS (no per-user / per-org
|
|
120
|
+
// data — that flows separately via getParsedMetadata + postMessage). The
|
|
121
|
+
// shell is keyed by (pluginId, theme), but the theme is chosen via the
|
|
122
|
+
// options parameter, not the URL — so the same URL can yield different
|
|
123
|
+
// bodies. We therefore drop `immutable`: with it, a client that fetched the
|
|
124
|
+
// default bundle and later requests light for the same plugin would be
|
|
125
|
+
// served the stale cached copy. `public, max-age=86400` still allows a day
|
|
126
|
+
// of caching but lets the client revalidate after that or on hard refresh.
|
|
127
|
+
// Multi-theme callers should vary their own cache key by theme.
|
|
128
|
+
cacheControl: 'public, max-age=86400',
|
|
100
129
|
},
|
|
101
130
|
error: null,
|
|
102
131
|
};
|
|
@@ -108,7 +137,9 @@ export class WebVisualizationEngine {
|
|
|
108
137
|
error: {
|
|
109
138
|
message: err instanceof Error ? err.message : 'Failed to generate bundle',
|
|
110
139
|
category: ErrorCategory.Runtime,
|
|
111
|
-
|
|
140
|
+
// Include the theme so a themed-read failure (e.g. a missing theme
|
|
141
|
+
// sheet) is distinguishable from a default-read failure by context.
|
|
142
|
+
context: { pluginId: pluginId, theme: options?.theme ?? 'default' },
|
|
112
143
|
stackTrace: err instanceof Error ? err.stack : undefined,
|
|
113
144
|
},
|
|
114
145
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebVisualizationEngine.js","sourceRoot":"","sources":["../src/WebVisualizationEngine.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"WebVisualizationEngine.js","sourceRoot":"","sources":["../src/WebVisualizationEngine.ts"],"names":[],"mappings":"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"}
|