@fluidframework/fluid-runner 2.102.0 → 2.110.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/CHANGELOG.md +34 -0
- package/api-report/fluid-runner.legacy.beta.api.md +21 -0
- package/dist/exportFile.d.ts +33 -5
- package/dist/exportFile.d.ts.map +1 -1
- package/dist/exportFile.js +36 -4
- package/dist/exportFile.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +5 -1
- package/dist/logger/fileLogger.d.ts +11 -3
- package/dist/logger/fileLogger.d.ts.map +1 -1
- package/dist/logger/fileLogger.js.map +1 -1
- package/dist/logger/loggerUtils.d.ts +35 -7
- package/dist/logger/loggerUtils.d.ts.map +1 -1
- package/dist/logger/loggerUtils.js +30 -3
- package/dist/logger/loggerUtils.js.map +1 -1
- package/dist/parseBundleAndExportFile.d.ts +2 -2
- package/dist/parseBundleAndExportFile.d.ts.map +1 -1
- package/dist/parseBundleAndExportFile.js +4 -2
- package/dist/parseBundleAndExportFile.js.map +1 -1
- package/lib/exportFile.d.ts +33 -5
- package/lib/exportFile.d.ts.map +1 -1
- package/lib/exportFile.js +36 -5
- package/lib/exportFile.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +5 -1
- package/lib/logger/fileLogger.d.ts +11 -3
- package/lib/logger/fileLogger.d.ts.map +1 -1
- package/lib/logger/fileLogger.js.map +1 -1
- package/lib/logger/loggerUtils.d.ts +35 -7
- package/lib/logger/loggerUtils.d.ts.map +1 -1
- package/lib/logger/loggerUtils.js +29 -3
- package/lib/logger/loggerUtils.js.map +1 -1
- package/lib/parseBundleAndExportFile.d.ts +2 -2
- package/lib/parseBundleAndExportFile.d.ts.map +1 -1
- package/lib/parseBundleAndExportFile.js +7 -5
- package/lib/parseBundleAndExportFile.js.map +1 -1
- package/package.json +12 -12
- package/src/exportFile.ts +63 -9
- package/src/index.ts +4 -1
- package/src/logger/fileLogger.ts +12 -3
- package/src/logger/loggerUtils.ts +44 -7
- package/src/parseBundleAndExportFile.ts +18 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/fluid-runner",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.110.0",
|
|
4
4
|
"description": "Utility for running various functionality inside a Fluid Framework environment",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -71,26 +71,26 @@
|
|
|
71
71
|
"temp-directory": "nyc/.nyc_output"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@fluidframework/aqueduct": "~2.
|
|
75
|
-
"@fluidframework/container-definitions": "~2.
|
|
76
|
-
"@fluidframework/container-loader": "~2.
|
|
77
|
-
"@fluidframework/core-interfaces": "~2.
|
|
78
|
-
"@fluidframework/driver-definitions": "~2.
|
|
79
|
-
"@fluidframework/odsp-driver": "~2.
|
|
80
|
-
"@fluidframework/odsp-driver-definitions": "~2.
|
|
81
|
-
"@fluidframework/telemetry-utils": "~2.
|
|
74
|
+
"@fluidframework/aqueduct": "~2.110.0",
|
|
75
|
+
"@fluidframework/container-definitions": "~2.110.0",
|
|
76
|
+
"@fluidframework/container-loader": "~2.110.0",
|
|
77
|
+
"@fluidframework/core-interfaces": "~2.110.0",
|
|
78
|
+
"@fluidframework/driver-definitions": "~2.110.0",
|
|
79
|
+
"@fluidframework/odsp-driver": "~2.110.0",
|
|
80
|
+
"@fluidframework/odsp-driver-definitions": "~2.110.0",
|
|
81
|
+
"@fluidframework/telemetry-utils": "~2.110.0",
|
|
82
82
|
"@json2csv/plainjs": "^7.0.6",
|
|
83
83
|
"yargs": "17.7.2"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
87
87
|
"@biomejs/biome": "~2.4.5",
|
|
88
|
-
"@fluid-internal/mocha-test-setup": "~2.
|
|
88
|
+
"@fluid-internal/mocha-test-setup": "~2.110.0",
|
|
89
89
|
"@fluid-tools/build-cli": "^0.65.0",
|
|
90
90
|
"@fluidframework/build-common": "^2.0.3",
|
|
91
91
|
"@fluidframework/build-tools": "^0.65.0",
|
|
92
|
-
"@fluidframework/eslint-config-fluid": "^
|
|
93
|
-
"@fluidframework/fluid-runner-previous": "npm:@fluidframework/fluid-runner@2.
|
|
92
|
+
"@fluidframework/eslint-config-fluid": "^13.0.0",
|
|
93
|
+
"@fluidframework/fluid-runner-previous": "npm:@fluidframework/fluid-runner@2.103.0",
|
|
94
94
|
"@microsoft/api-extractor": "7.58.1",
|
|
95
95
|
"@types/mocha": "^10.0.10",
|
|
96
96
|
"@types/node": "~22.19.17",
|
package/src/exportFile.ts
CHANGED
|
@@ -11,17 +11,22 @@ import {
|
|
|
11
11
|
waitContainerToCatchUp,
|
|
12
12
|
type ILoaderProps,
|
|
13
13
|
} from "@fluidframework/container-loader/internal";
|
|
14
|
+
import type { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
14
15
|
import { createLocalOdspDocumentServiceFactory } from "@fluidframework/odsp-driver/internal";
|
|
15
16
|
import {
|
|
16
|
-
type
|
|
17
|
+
type TelemetryLoggerExt,
|
|
17
18
|
PerformanceEvent,
|
|
19
|
+
createChildLogger,
|
|
18
20
|
} from "@fluidframework/telemetry-utils/internal";
|
|
19
21
|
|
|
20
22
|
import type { IFluidFileConverter } from "./codeLoaderBundle.js";
|
|
21
23
|
import { FakeUrlResolver } from "./fakeUrlResolver.js";
|
|
22
24
|
/* eslint-disable import-x/no-internal-modules */
|
|
23
|
-
import type {
|
|
24
|
-
import {
|
|
25
|
+
import type { IFileLoggerTelemetryOptions } from "./logger/fileLogger.js";
|
|
26
|
+
import {
|
|
27
|
+
createFluidRunnerLogger,
|
|
28
|
+
getTelemetryFileValidationError,
|
|
29
|
+
} from "./logger/loggerUtils.js";
|
|
25
30
|
import { getArgsValidationError, getSnapshotFileContent, timeoutPromise } from "./utils.js";
|
|
26
31
|
/* eslint-enable import-x/no-internal-modules */
|
|
27
32
|
|
|
@@ -50,7 +55,8 @@ export interface IExportFileResponseFailure {
|
|
|
50
55
|
const clientArgsValidationError = "Client_ArgsValidationError";
|
|
51
56
|
|
|
52
57
|
/**
|
|
53
|
-
* Execute code on
|
|
58
|
+
* Execute code on a Fluid {@link @fluidframework/container-definitions#IContainer} loaded from an ODSP snapshot
|
|
59
|
+
* file and write the resulting string to disk.
|
|
54
60
|
* @internal
|
|
55
61
|
*/
|
|
56
62
|
export async function exportFile(
|
|
@@ -59,7 +65,7 @@ export async function exportFile(
|
|
|
59
65
|
outputFile: string,
|
|
60
66
|
telemetryFile: string,
|
|
61
67
|
options?: string,
|
|
62
|
-
telemetryOptions?:
|
|
68
|
+
telemetryOptions?: IFileLoggerTelemetryOptions,
|
|
63
69
|
timeout?: number,
|
|
64
70
|
disableNetworkFetch?: boolean,
|
|
65
71
|
): Promise<IExportFileResponse> {
|
|
@@ -68,7 +74,11 @@ export async function exportFile(
|
|
|
68
74
|
const eventName = clientArgsValidationError;
|
|
69
75
|
return { success: false, eventName, errorMessage: telemetryArgError };
|
|
70
76
|
}
|
|
71
|
-
const { fileLogger, logger } =
|
|
77
|
+
const { fileLogger, logger: baseLogger } = createFluidRunnerLogger(
|
|
78
|
+
telemetryFile,
|
|
79
|
+
telemetryOptions,
|
|
80
|
+
);
|
|
81
|
+
const logger = createChildLogger({ logger: baseLogger });
|
|
72
82
|
|
|
73
83
|
try {
|
|
74
84
|
return await PerformanceEvent.timedExecAsync(
|
|
@@ -84,10 +94,10 @@ export async function exportFile(
|
|
|
84
94
|
|
|
85
95
|
fs.writeFileSync(
|
|
86
96
|
outputFile,
|
|
87
|
-
await
|
|
97
|
+
await createFluidRunnerContainerAndExecute(
|
|
88
98
|
getSnapshotFileContent(inputFile),
|
|
89
99
|
fluidFileConverter,
|
|
90
|
-
|
|
100
|
+
baseLogger,
|
|
91
101
|
options,
|
|
92
102
|
timeout,
|
|
93
103
|
disableNetworkFetch,
|
|
@@ -106,15 +116,59 @@ export async function exportFile(
|
|
|
106
116
|
}
|
|
107
117
|
}
|
|
108
118
|
|
|
119
|
+
/**
|
|
120
|
+
* Create a Fluid {@link @fluidframework/container-definitions#IContainer} from an ODSP snapshot and run
|
|
121
|
+
* caller-provided code against it.
|
|
122
|
+
*
|
|
123
|
+
* @remarks
|
|
124
|
+
* The container is loaded with `opsBeforeReturn: "cached"` and {@link @fluidframework/container-loader#waitContainerToCatchUp}
|
|
125
|
+
* is invoked before {@link IFluidFileConverter.execute} runs. The container is disposed once `execute` resolves
|
|
126
|
+
* (or rejects).
|
|
127
|
+
*
|
|
128
|
+
* @param localOdspSnapshot - The ODSP snapshot to load the container from. May be either the JSON snapshot
|
|
129
|
+
* as a string or the binary snapshot as a `Uint8Array`.
|
|
130
|
+
* @param fluidFileConverter - Caller-provided code loader and execution logic. See {@link IFluidFileConverter}.
|
|
131
|
+
* @param baseLogger - Telemetry logger that will receive events emitted during load and execution. Typically
|
|
132
|
+
* obtained from {@link createFluidRunnerLogger}.
|
|
133
|
+
* @param options - Opaque, caller-defined string passed through to {@link IFluidFileConverter.execute}.
|
|
134
|
+
* @param timeout - Optional timeout in milliseconds. If the operation does not complete within this period
|
|
135
|
+
* the returned promise rejects. When omitted, no timeout is applied.
|
|
136
|
+
* @param disableNetworkFetch - When `true`, replaces `global.fetch` with an implementation that throws,
|
|
137
|
+
* ensuring the container load is fully serviced from the provided snapshot. Defaults to `false`.
|
|
138
|
+
* @returns The string result returned by {@link IFluidFileConverter.execute}.
|
|
139
|
+
*
|
|
140
|
+
* @legacy
|
|
141
|
+
* @beta
|
|
142
|
+
*/
|
|
143
|
+
export async function createFluidRunnerContainerAndExecute(
|
|
144
|
+
localOdspSnapshot: string | Uint8Array,
|
|
145
|
+
fluidFileConverter: IFluidFileConverter,
|
|
146
|
+
baseLogger: ITelemetryBaseLogger,
|
|
147
|
+
options?: string,
|
|
148
|
+
timeout?: number,
|
|
149
|
+
disableNetworkFetch?: boolean,
|
|
150
|
+
): Promise<string> {
|
|
151
|
+
const logger = createChildLogger({ logger: baseLogger });
|
|
152
|
+
return createContainerAndExecute(
|
|
153
|
+
localOdspSnapshot,
|
|
154
|
+
fluidFileConverter,
|
|
155
|
+
logger,
|
|
156
|
+
options,
|
|
157
|
+
timeout,
|
|
158
|
+
disableNetworkFetch,
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
|
|
109
162
|
/**
|
|
110
163
|
* Create the container based on an ODSP snapshot and execute code on it
|
|
111
164
|
* @returns result of execution
|
|
165
|
+
* @deprecated Use {@link createFluidRunnerContainerAndExecute}.
|
|
112
166
|
* @internal
|
|
113
167
|
*/
|
|
114
168
|
export async function createContainerAndExecute(
|
|
115
169
|
localOdspSnapshot: string | Uint8Array,
|
|
116
170
|
fluidFileConverter: IFluidFileConverter,
|
|
117
|
-
logger:
|
|
171
|
+
logger: TelemetryLoggerExt,
|
|
118
172
|
options?: string,
|
|
119
173
|
timeout?: number,
|
|
120
174
|
disableNetworkFetch: boolean = false,
|
package/src/index.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
export type { ICodeLoaderBundle, IFluidFileConverter } from "./codeLoaderBundle.js";
|
|
8
8
|
export {
|
|
9
9
|
createContainerAndExecute,
|
|
10
|
+
createFluidRunnerContainerAndExecute,
|
|
10
11
|
exportFile,
|
|
11
12
|
type IExportFileResponse,
|
|
12
13
|
type IExportFileResponseSuccess,
|
|
@@ -15,10 +16,12 @@ export {
|
|
|
15
16
|
export { fluidRunner } from "./fluidRunner.js";
|
|
16
17
|
export {
|
|
17
18
|
OutputFormat,
|
|
18
|
-
type
|
|
19
|
+
type IFileLoggerTelemetryOptions,
|
|
19
20
|
type IFileLogger,
|
|
21
|
+
type ITelemetryOptions,
|
|
20
22
|
} from "./logger/fileLogger.js";
|
|
21
23
|
export {
|
|
24
|
+
createFluidRunnerLogger,
|
|
22
25
|
createLogger,
|
|
23
26
|
getTelemetryFileValidationError,
|
|
24
27
|
validateAndParseTelemetryOptions,
|
package/src/logger/fileLogger.ts
CHANGED
|
@@ -7,7 +7,8 @@ import type { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Contract for logger that writes telemetry to a file
|
|
10
|
-
* @
|
|
10
|
+
* @legacy
|
|
11
|
+
* @beta
|
|
11
12
|
*/
|
|
12
13
|
export interface IFileLogger extends ITelemetryBaseLogger {
|
|
13
14
|
/**
|
|
@@ -27,9 +28,10 @@ export enum OutputFormat {
|
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Options to provide upon creation of IFileLogger
|
|
30
|
-
* @
|
|
31
|
+
* @legacy
|
|
32
|
+
* @beta
|
|
31
33
|
*/
|
|
32
|
-
export interface
|
|
34
|
+
export interface IFileLoggerTelemetryOptions {
|
|
33
35
|
/** Desired output format used to create a specific IFileLogger implementation */
|
|
34
36
|
outputFormat?: OutputFormat;
|
|
35
37
|
|
|
@@ -47,3 +49,10 @@ export interface ITelemetryOptions {
|
|
|
47
49
|
/** Number of telemetry events per flush to telemetry file */
|
|
48
50
|
eventsPerFlush?: number;
|
|
49
51
|
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Options to provide upon creation of IFileLogger
|
|
55
|
+
* @deprecated Use {@link IFileLoggerTelemetryOptions}.
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export type ITelemetryOptions = IFileLoggerTelemetryOptions;
|
|
@@ -5,17 +5,50 @@
|
|
|
5
5
|
|
|
6
6
|
import * as fs from "fs";
|
|
7
7
|
|
|
8
|
+
import type { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
8
9
|
import {
|
|
9
|
-
type
|
|
10
|
+
type TelemetryLoggerExt,
|
|
10
11
|
createChildLogger,
|
|
11
12
|
} from "@fluidframework/telemetry-utils/internal";
|
|
12
13
|
|
|
13
14
|
import { CSVFileLogger } from "./csvFileLogger.js";
|
|
14
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
type IFileLogger,
|
|
17
|
+
type IFileLoggerTelemetryOptions,
|
|
18
|
+
OutputFormat,
|
|
19
|
+
} from "./fileLogger.js";
|
|
15
20
|
import { JSONFileLogger } from "./jsonFileLogger.js";
|
|
16
21
|
|
|
17
22
|
/**
|
|
18
|
-
* Create
|
|
23
|
+
* Create a telemetry logger wrapped around an {@link IFileLogger} that writes to the given file path.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* All telemetry events should be sent through the returned `logger`. The returned `fileLogger` is the
|
|
27
|
+
* underlying sink — its `close()` method must be called at the end of execution to flush any buffered
|
|
28
|
+
* events to disk.
|
|
29
|
+
*
|
|
30
|
+
* If `options.outputFormat` is not supplied, telemetry is written as JSON. Use {@link OutputFormat.CSV}
|
|
31
|
+
* to write CSV instead. See {@link IFileLoggerTelemetryOptions} for supported options including default
|
|
32
|
+
* properties applied to every event and flush batching.
|
|
33
|
+
*
|
|
34
|
+
* @param filePath - Path to the file telemetry will be written to. If the file already exists its
|
|
35
|
+
* contents will be overwritten or corrupted — callers should verify the path is unused before calling.
|
|
36
|
+
* @param options - Optional telemetry configuration. See {@link IFileLoggerTelemetryOptions}.
|
|
37
|
+
* @returns The wrapped telemetry logger to send events through, and the underlying `IFileLogger`
|
|
38
|
+
* which must be closed when telemetry collection is finished.
|
|
39
|
+
*
|
|
40
|
+
* @legacy
|
|
41
|
+
* @beta
|
|
42
|
+
*/
|
|
43
|
+
export function createFluidRunnerLogger(
|
|
44
|
+
filePath: string,
|
|
45
|
+
options?: IFileLoggerTelemetryOptions,
|
|
46
|
+
): { logger: ITelemetryBaseLogger; fileLogger: IFileLogger } {
|
|
47
|
+
return createLogger(filePath, options);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Create an {@link @fluidframework/telemetry-utils#TelemetryLoggerExt} wrapped around provided {@link IFileLogger}.
|
|
19
52
|
*
|
|
20
53
|
* @remarks
|
|
21
54
|
*
|
|
@@ -25,13 +58,15 @@ import { JSONFileLogger } from "./jsonFileLogger.js";
|
|
|
25
58
|
*
|
|
26
59
|
* Note: if an output format is not supplied, default is JSON.
|
|
27
60
|
*
|
|
28
|
-
* @returns Both the `IFileLogger` implementation and `
|
|
61
|
+
* @returns Both the `IFileLogger` implementation and `TelemetryLoggerExt` wrapper to be called.
|
|
62
|
+
*
|
|
63
|
+
* @deprecated Use {@link createFluidRunnerLogger}.
|
|
29
64
|
* @internal
|
|
30
65
|
*/
|
|
31
66
|
export function createLogger(
|
|
32
67
|
filePath: string,
|
|
33
|
-
options?:
|
|
34
|
-
): { logger:
|
|
68
|
+
options?: IFileLoggerTelemetryOptions,
|
|
69
|
+
): { logger: TelemetryLoggerExt; fileLogger: IFileLogger } {
|
|
35
70
|
const fileLogger =
|
|
36
71
|
options?.outputFormat === OutputFormat.CSV
|
|
37
72
|
? new CSVFileLogger(filePath, options?.eventsPerFlush, options?.defaultProps)
|
|
@@ -73,7 +108,9 @@ export function validateAndParseTelemetryOptions(
|
|
|
73
108
|
format?: string,
|
|
74
109
|
props?: (string | number)[],
|
|
75
110
|
eventsPerFlush?: number,
|
|
76
|
-
):
|
|
111
|
+
):
|
|
112
|
+
| { success: false; error: string }
|
|
113
|
+
| { success: true; telemetryOptions: IFileLoggerTelemetryOptions } {
|
|
77
114
|
let outputFormat: OutputFormat | undefined;
|
|
78
115
|
const defaultProps: Record<string, string | number> = {};
|
|
79
116
|
|
|
@@ -6,13 +6,19 @@
|
|
|
6
6
|
import * as fs from "node:fs";
|
|
7
7
|
import * as path from "node:path";
|
|
8
8
|
|
|
9
|
-
import { PerformanceEvent } from "@fluidframework/telemetry-utils/internal";
|
|
9
|
+
import { PerformanceEvent, createChildLogger } from "@fluidframework/telemetry-utils/internal";
|
|
10
10
|
|
|
11
11
|
import { isCodeLoaderBundle, isFluidFileConverter } from "./codeLoaderBundle.js";
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
type IExportFileResponse,
|
|
14
|
+
createFluidRunnerContainerAndExecute,
|
|
15
|
+
} from "./exportFile.js";
|
|
13
16
|
/* eslint-disable import-x/no-internal-modules */
|
|
14
|
-
import type {
|
|
15
|
-
import {
|
|
17
|
+
import type { IFileLoggerTelemetryOptions } from "./logger/fileLogger.js";
|
|
18
|
+
import {
|
|
19
|
+
createFluidRunnerLogger,
|
|
20
|
+
getTelemetryFileValidationError,
|
|
21
|
+
} from "./logger/loggerUtils.js";
|
|
16
22
|
/* eslint-enable import-x/no-internal-modules */
|
|
17
23
|
import { getArgsValidationError, getSnapshotFileContent } from "./utils.js";
|
|
18
24
|
|
|
@@ -29,7 +35,7 @@ export async function parseBundleAndExportFile(
|
|
|
29
35
|
outputFile: string,
|
|
30
36
|
telemetryFile: string,
|
|
31
37
|
options?: string,
|
|
32
|
-
telemetryOptions?:
|
|
38
|
+
telemetryOptions?: IFileLoggerTelemetryOptions,
|
|
33
39
|
timeout?: number,
|
|
34
40
|
disableNetworkFetch?: boolean,
|
|
35
41
|
): Promise<IExportFileResponse> {
|
|
@@ -38,7 +44,11 @@ export async function parseBundleAndExportFile(
|
|
|
38
44
|
const eventName = clientArgsValidationError;
|
|
39
45
|
return { success: false, eventName, errorMessage: telemetryArgError };
|
|
40
46
|
}
|
|
41
|
-
const { fileLogger, logger } =
|
|
47
|
+
const { fileLogger, logger: baseLogger } = createFluidRunnerLogger(
|
|
48
|
+
telemetryFile,
|
|
49
|
+
telemetryOptions,
|
|
50
|
+
);
|
|
51
|
+
const logger = createChildLogger({ logger: baseLogger });
|
|
42
52
|
|
|
43
53
|
try {
|
|
44
54
|
return await PerformanceEvent.timedExecAsync(
|
|
@@ -76,10 +86,10 @@ export async function parseBundleAndExportFile(
|
|
|
76
86
|
|
|
77
87
|
fs.writeFileSync(
|
|
78
88
|
outputFile,
|
|
79
|
-
await
|
|
89
|
+
await createFluidRunnerContainerAndExecute(
|
|
80
90
|
getSnapshotFileContent(inputFile),
|
|
81
91
|
fluidExport,
|
|
82
|
-
|
|
92
|
+
baseLogger, // Pass baseLogger with ITelemetryBaseLogger type
|
|
83
93
|
options,
|
|
84
94
|
timeout,
|
|
85
95
|
disableNetworkFetch,
|