@fluidframework/fluid-runner 2.0.0-rc.2.0.1 → 2.0.0-rc.3.0.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/.eslintrc.cjs +16 -1
- package/CHANGELOG.md +23 -0
- package/README.md +1 -1
- package/api-extractor-lint.json +1 -1
- package/api-extractor.json +1 -14
- package/api-report/fluid-runner.api.md +26 -12
- package/bin/fluid-runner.mjs +8 -0
- package/dist/codeLoaderBundle.d.ts +2 -2
- package/dist/codeLoaderBundle.d.ts.map +1 -1
- package/dist/codeLoaderBundle.js.map +1 -1
- package/dist/exportFile.d.ts +10 -5
- package/dist/exportFile.d.ts.map +1 -1
- package/dist/exportFile.js +18 -18
- package/dist/exportFile.js.map +1 -1
- package/dist/fakeUrlResolver.d.ts +1 -1
- package/dist/fakeUrlResolver.d.ts.map +1 -1
- package/dist/fakeUrlResolver.js.map +1 -1
- package/dist/fluidRunner.d.ts +2 -2
- package/dist/fluidRunner.d.ts.map +1 -1
- package/dist/fluidRunner.js +19 -43
- package/dist/fluidRunner.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -15
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +18 -0
- package/dist/logger/baseFileLogger.d.ts +1 -1
- package/dist/logger/baseFileLogger.d.ts.map +1 -1
- package/dist/logger/baseFileLogger.js.map +1 -1
- package/dist/logger/csvFileLogger.d.ts +1 -1
- package/dist/logger/csvFileLogger.d.ts.map +1 -1
- package/dist/logger/csvFileLogger.js +2 -2
- package/dist/logger/csvFileLogger.js.map +1 -1
- package/dist/logger/fileLogger.d.ts.map +1 -1
- package/dist/logger/fileLogger.js +0 -1
- package/dist/logger/fileLogger.js.map +1 -1
- package/dist/logger/jsonFileLogger.d.ts +1 -1
- package/dist/logger/jsonFileLogger.d.ts.map +1 -1
- package/dist/logger/jsonFileLogger.js +2 -2
- package/dist/logger/jsonFileLogger.js.map +1 -1
- package/dist/logger/loggerUtils.d.ts +1 -1
- package/dist/logger/loggerUtils.d.ts.map +1 -1
- package/dist/logger/loggerUtils.js +9 -9
- package/dist/logger/loggerUtils.js.map +1 -1
- package/dist/package.json +3 -0
- package/dist/parseBundleAndExportFile.d.ts +2 -2
- package/dist/parseBundleAndExportFile.d.ts.map +1 -1
- package/dist/parseBundleAndExportFile.js +20 -15
- package/dist/parseBundleAndExportFile.js.map +1 -1
- package/dist/public.d.ts +12 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/internal.d.ts +11 -0
- package/legacy.d.ts +11 -0
- package/lib/codeLoaderBundle.d.ts +46 -0
- package/lib/codeLoaderBundle.d.ts.map +1 -0
- package/lib/codeLoaderBundle.js +20 -0
- package/lib/codeLoaderBundle.js.map +1 -0
- package/lib/exportFile.d.ts +38 -0
- package/lib/exportFile.d.ts.map +1 -0
- package/lib/exportFile.js +92 -0
- package/lib/exportFile.js.map +1 -0
- package/lib/fakeUrlResolver.d.ts +15 -0
- package/lib/fakeUrlResolver.d.ts.map +1 -0
- package/lib/fakeUrlResolver.js +39 -0
- package/lib/fakeUrlResolver.js.map +1 -0
- package/lib/fluidRunner.d.ts +11 -0
- package/lib/fluidRunner.d.ts.map +1 -0
- package/lib/fluidRunner.js +95 -0
- package/lib/fluidRunner.js.map +1 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -0
- package/lib/legacy.d.ts +18 -0
- package/lib/logger/baseFileLogger.d.ts +28 -0
- package/lib/logger/baseFileLogger.d.ts.map +1 -0
- package/lib/logger/baseFileLogger.js +49 -0
- package/lib/logger/baseFileLogger.js.map +1 -0
- package/lib/logger/csvFileLogger.d.ts +18 -0
- package/lib/logger/csvFileLogger.d.ts.map +1 -0
- package/lib/logger/csvFileLogger.js +37 -0
- package/lib/logger/csvFileLogger.js.map +1 -0
- package/lib/logger/fileLogger.d.ts +44 -0
- package/lib/logger/fileLogger.d.ts.map +1 -0
- package/lib/logger/fileLogger.js +14 -0
- package/lib/logger/fileLogger.js.map +1 -0
- package/lib/logger/jsonFileLogger.d.ts +14 -0
- package/lib/logger/jsonFileLogger.d.ts.map +1 -0
- package/lib/logger/jsonFileLogger.js +21 -0
- package/lib/logger/jsonFileLogger.js.map +1 -0
- package/lib/logger/loggerUtils.d.ts +44 -0
- package/lib/logger/loggerUtils.d.ts.map +1 -0
- package/lib/logger/loggerUtils.js +91 -0
- package/lib/logger/loggerUtils.js.map +1 -0
- package/lib/parseBundleAndExportFile.d.ts +13 -0
- package/lib/parseBundleAndExportFile.d.ts.map +1 -0
- package/lib/parseBundleAndExportFile.js +66 -0
- package/lib/parseBundleAndExportFile.js.map +1 -0
- package/lib/public.d.ts +12 -0
- package/lib/utils.d.ts +33 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +76 -0
- package/lib/utils.js.map +1 -0
- package/package.json +67 -60
- package/src/codeLoaderBundle.ts +2 -2
- package/src/exportFile.ts +20 -11
- package/src/fakeUrlResolver.ts +2 -2
- package/src/fluidRunner.ts +16 -16
- package/src/index.ts +13 -7
- package/src/logger/baseFileLogger.ts +3 -1
- package/src/logger/csvFileLogger.ts +4 -2
- package/src/logger/fileLogger.ts +0 -2
- package/src/logger/jsonFileLogger.ts +2 -1
- package/src/logger/loggerUtils.ts +7 -4
- package/src/parseBundleAndExportFile.ts +18 -9
- package/src/utils.ts +2 -1
- package/tsconfig.bin.lint.json +9 -0
- package/tsconfig.cjs.json +7 -0
- package/tsconfig.json +2 -5
- package/bin/fluid-runner +0 -2
- package/dist/fluid-runner-alpha.d.ts +0 -79
- package/dist/fluid-runner-beta.d.ts +0 -52
- package/dist/fluid-runner-public.d.ts +0 -52
- package/dist/fluid-runner-untrimmed.d.ts +0 -175
- /package/{dist → lib}/tsdoc-metadata.json +0 -0
package/.eslintrc.cjs
CHANGED
|
@@ -9,12 +9,27 @@ module.exports = {
|
|
|
9
9
|
"prettier",
|
|
10
10
|
],
|
|
11
11
|
parserOptions: {
|
|
12
|
-
project: [
|
|
12
|
+
project: [
|
|
13
|
+
"./tsconfig.json",
|
|
14
|
+
"./tsconfig.bin.lint.json",
|
|
15
|
+
"./src/test/tsconfig.json",
|
|
16
|
+
"./src/test/tsconfig.cjs.lint.json",
|
|
17
|
+
],
|
|
13
18
|
},
|
|
14
19
|
rules: {
|
|
15
20
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
16
21
|
"@typescript-eslint/no-use-before-define": "off",
|
|
17
22
|
"@typescript-eslint/strict-boolean-expressions": "off",
|
|
18
23
|
"import/no-nodejs-modules": "off",
|
|
24
|
+
"unicorn/filename-case": [
|
|
25
|
+
"error",
|
|
26
|
+
{
|
|
27
|
+
cases: {
|
|
28
|
+
camelCase: true,
|
|
29
|
+
pascalCase: true,
|
|
30
|
+
},
|
|
31
|
+
ignore: ["fluid-runner", "sample-executable"],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
19
34
|
},
|
|
20
35
|
};
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @fluidframework/fluid-runner
|
|
2
2
|
|
|
3
|
+
## 2.0.0-rc.3.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
|
|
8
|
+
|
|
9
|
+
Fluid Framework packages have been updated to use the [package.json "exports"
|
|
10
|
+
field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
|
|
11
|
+
TypeScript types and implementation code.
|
|
12
|
+
|
|
13
|
+
This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
|
|
14
|
+
|
|
15
|
+
- `"moduleResolution": "Node16"` with `"module": "Node16"`
|
|
16
|
+
- `"moduleResolution": "Bundler"` with `"module": "ESNext"`
|
|
17
|
+
|
|
18
|
+
We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
|
|
19
|
+
for use with modern versions of Node.js _and_ Bundlers.
|
|
20
|
+
[See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
|
|
21
|
+
regarding the module and moduleResolution options.
|
|
22
|
+
|
|
23
|
+
**Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
|
|
24
|
+
to distinguish stable APIs from those that are in development.**
|
|
25
|
+
|
|
3
26
|
## 2.0.0-rc.2.0.0
|
|
4
27
|
|
|
5
28
|
Dependency updates only.
|
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ and provide a [`IFluidFileConverter`](./src/codeLoaderBundle.ts) implementation
|
|
|
27
27
|
```typescript
|
|
28
28
|
import { fluidRunner } from "@fluidframework/fluid-runner";
|
|
29
29
|
|
|
30
|
-
fluidRunner({
|
|
30
|
+
await fluidRunner({
|
|
31
31
|
/* IFluidFileConverter implementation here */
|
|
32
32
|
});
|
|
33
33
|
```
|
package/api-extractor-lint.json
CHANGED
package/api-extractor.json
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
|
|
3
|
-
"extends": "../../../common/build/build-common/api-extractor-base.json"
|
|
4
|
-
"messages": {
|
|
5
|
-
"extractorMessageReporting": {
|
|
6
|
-
// TODO: fix violations and remove overrides
|
|
7
|
-
"ae-forgotten-export": {
|
|
8
|
-
"logLevel": "warning",
|
|
9
|
-
"addToApiReportFile": true
|
|
10
|
-
},
|
|
11
|
-
"ae-unresolved-link": {
|
|
12
|
-
"logLevel": "warning",
|
|
13
|
-
"addToApiReportFile": true
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
3
|
+
"extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json"
|
|
17
4
|
}
|
|
@@ -7,16 +7,14 @@
|
|
|
7
7
|
/// <reference types="node" />
|
|
8
8
|
|
|
9
9
|
import { FluidObject } from '@fluidframework/core-interfaces';
|
|
10
|
-
import { ICodeDetailsLoader } from '@fluidframework/container-definitions';
|
|
11
|
-
import { IContainer } from '@fluidframework/container-definitions';
|
|
10
|
+
import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
|
|
11
|
+
import { IContainer } from '@fluidframework/container-definitions/internal';
|
|
12
12
|
import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
|
|
13
13
|
import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
|
|
14
14
|
|
|
15
15
|
// @internal
|
|
16
16
|
export function createContainerAndExecute(localOdspSnapshot: string | Uint8Array, fluidFileConverter: IFluidFileConverter, logger: ITelemetryLoggerExt, options?: string, timeout?: number, disableNetworkFetch?: boolean): Promise<string>;
|
|
17
17
|
|
|
18
|
-
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "@fluidframework/fluid-runner" does not have an export "IFileLogger"
|
|
19
|
-
//
|
|
20
18
|
// @internal
|
|
21
19
|
export function createLogger(filePath: string, options?: ITelemetryOptions): {
|
|
22
20
|
logger: ITelemetryLoggerExt;
|
|
@@ -27,7 +25,7 @@ export function createLogger(filePath: string, options?: ITelemetryOptions): {
|
|
|
27
25
|
export function exportFile(fluidFileConverter: IFluidFileConverter, inputFile: string, outputFile: string, telemetryFile: string, options?: string, telemetryOptions?: ITelemetryOptions, timeout?: number, disableNetworkFetch?: boolean): Promise<IExportFileResponse>;
|
|
28
26
|
|
|
29
27
|
// @internal (undocumented)
|
|
30
|
-
export function fluidRunner(fluidFileConverter?: IFluidFileConverter): void
|
|
28
|
+
export function fluidRunner(fluidFileConverter?: IFluidFileConverter): Promise<void>;
|
|
31
29
|
|
|
32
30
|
// @internal
|
|
33
31
|
export function getSnapshotFileContent(filePath: string): string | Buffer;
|
|
@@ -40,12 +38,32 @@ export interface ICodeLoaderBundle {
|
|
|
40
38
|
fluidExport: Promise<IFluidFileConverter>;
|
|
41
39
|
}
|
|
42
40
|
|
|
43
|
-
// Warning: (ae-forgotten-export) The symbol "IExportFileResponseSuccess" needs to be exported by the entry point index.d.ts
|
|
44
|
-
// Warning: (ae-forgotten-export) The symbol "IExportFileResponseFailure" needs to be exported by the entry point index.d.ts
|
|
45
|
-
//
|
|
46
41
|
// @alpha (undocumented)
|
|
47
42
|
export type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;
|
|
48
43
|
|
|
44
|
+
// @alpha (undocumented)
|
|
45
|
+
export interface IExportFileResponseFailure {
|
|
46
|
+
// (undocumented)
|
|
47
|
+
error?: any;
|
|
48
|
+
// (undocumented)
|
|
49
|
+
errorMessage: string;
|
|
50
|
+
// (undocumented)
|
|
51
|
+
eventName: string;
|
|
52
|
+
// (undocumented)
|
|
53
|
+
success: false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// @alpha (undocumented)
|
|
57
|
+
export interface IExportFileResponseSuccess {
|
|
58
|
+
// (undocumented)
|
|
59
|
+
success: true;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// @internal
|
|
63
|
+
export interface IFileLogger extends ITelemetryBaseLogger {
|
|
64
|
+
close(): Promise<void>;
|
|
65
|
+
}
|
|
66
|
+
|
|
49
67
|
// @alpha
|
|
50
68
|
export interface IFluidFileConverter {
|
|
51
69
|
execute(container: IContainer, options?: string): Promise<string>;
|
|
@@ -80,10 +98,6 @@ export function validateAndParseTelemetryOptions(format?: string, props?: (strin
|
|
|
80
98
|
telemetryOptions: ITelemetryOptions;
|
|
81
99
|
};
|
|
82
100
|
|
|
83
|
-
// Warnings were encountered during analysis:
|
|
84
|
-
//
|
|
85
|
-
// src/logger/loggerUtils.ts:29:35 - (ae-forgotten-export) The symbol "IFileLogger" needs to be exported by the entry point index.d.ts
|
|
86
|
-
|
|
87
101
|
// (No @packageDocumentation comment for this package)
|
|
88
102
|
|
|
89
103
|
```
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { ICodeDetailsLoader, IContainer } from "@fluidframework/container-definitions";
|
|
6
|
-
import {
|
|
5
|
+
import { ICodeDetailsLoader, IContainer } from "@fluidframework/container-definitions/internal";
|
|
6
|
+
import { FluidObject, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
7
7
|
/**
|
|
8
8
|
* Contract that defines the necessary exports for the bundle provided at runtime
|
|
9
9
|
* For an example, see "src/test/sampleCodeLoaders/sampleCodeLoader.ts"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeLoaderBundle.d.ts","sourceRoot":"","sources":["../src/codeLoaderBundle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"codeLoaderBundle.d.ts","sourceRoot":"","sources":["../src/codeLoaderBundle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEpF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEzE;;;OAGG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9D;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,iBAAiB,CAG3E;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,mBAAmB,CAQzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeLoaderBundle.js","sourceRoot":"","sources":["../src/codeLoaderBundle.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA0CH;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,MAAW;IAC7C,+DAA+D;IAC/D,OAAO,MAAM,EAAE,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC;AACtE,CAAC;AAHD,gDAGC;AAED,SAAgB,oBAAoB,CAAC,GAAQ;IAC5C,+DAA+D;IAC/D,OAAO,CACN,GAAG,EAAE,aAAa;QAClB,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU;QACvC,GAAG,CAAC,OAAO;QACX,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,CACjC,CAAC;AACH,CAAC;AARD,oDAQC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICodeDetailsLoader, IContainer } from \"@fluidframework/container-definitions\";\nimport {
|
|
1
|
+
{"version":3,"file":"codeLoaderBundle.js","sourceRoot":"","sources":["../src/codeLoaderBundle.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA0CH;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,MAAW;IAC7C,+DAA+D;IAC/D,OAAO,MAAM,EAAE,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC;AACtE,CAAC;AAHD,gDAGC;AAED,SAAgB,oBAAoB,CAAC,GAAQ;IAC5C,+DAA+D;IAC/D,OAAO,CACN,GAAG,EAAE,aAAa;QAClB,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU;QACvC,GAAG,CAAC,OAAO;QACX,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,CACjC,CAAC;AACH,CAAC;AARD,oDAQC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICodeDetailsLoader, IContainer } from \"@fluidframework/container-definitions/internal\";\nimport { FluidObject, ITelemetryBaseLogger } from \"@fluidframework/core-interfaces\";\n\n/**\n * Contract that defines the necessary exports for the bundle provided at runtime\n * For an example, see \"src/test/sampleCodeLoaders/sampleCodeLoader.ts\"\n * @internal\n */\nexport interface ICodeLoaderBundle {\n\t/**\n\t * Fluid export of all the required objects and functions\n\t */\n\tfluidExport: Promise<IFluidFileConverter>;\n}\n\n/**\n * Instance that holds all the details for Fluid file conversion\n * @alpha\n */\nexport interface IFluidFileConverter {\n\t/**\n\t * Get code loader details to provide at Loader creation\n\t * @param logger - created logger object to pass to code loader\n\t */\n\tgetCodeLoader(logger: ITelemetryBaseLogger): Promise<ICodeDetailsLoader>;\n\n\t/**\n\t * Get scope object to provide at Loader creation\n\t * @param logger - created logger object to pass to scope object\n\t */\n\tgetScope?(logger: ITelemetryBaseLogger): Promise<FluidObject>;\n\n\t/**\n\t * Executes code on container and returns the result\n\t * @param container - container created by this application\n\t * @param options - additional options\n\t */\n\texecute(container: IContainer, options?: string): Promise<string>;\n}\n\n/**\n * Type cast to ensure necessary methods are present in the provided bundle\n * @param bundle - bundle provided to this application\n */\nexport function isCodeLoaderBundle(bundle: any): bundle is ICodeLoaderBundle {\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-return\n\treturn bundle?.fluidExport && typeof bundle.fluidExport === \"object\";\n}\n\nexport function isFluidFileConverter(obj: any): obj is IFluidFileConverter {\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-return\n\treturn (\n\t\tobj?.getCodeLoader &&\n\t\ttypeof obj.getCodeLoader === \"function\" &&\n\t\tobj.execute &&\n\t\ttypeof obj.execute === \"function\"\n\t);\n}\n"]}
|
package/dist/exportFile.d.ts
CHANGED
|
@@ -3,16 +3,22 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
6
|
-
import { IFluidFileConverter } from "./codeLoaderBundle";
|
|
7
|
-
import { ITelemetryOptions } from "./logger/fileLogger";
|
|
6
|
+
import { IFluidFileConverter } from "./codeLoaderBundle.js";
|
|
7
|
+
import { ITelemetryOptions } from "./logger/fileLogger.js";
|
|
8
8
|
/**
|
|
9
9
|
* @alpha
|
|
10
10
|
*/
|
|
11
11
|
export type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @alpha
|
|
14
|
+
*/
|
|
15
|
+
export interface IExportFileResponseSuccess {
|
|
13
16
|
success: true;
|
|
14
17
|
}
|
|
15
|
-
|
|
18
|
+
/**
|
|
19
|
+
* @alpha
|
|
20
|
+
*/
|
|
21
|
+
export interface IExportFileResponseFailure {
|
|
16
22
|
success: false;
|
|
17
23
|
eventName: string;
|
|
18
24
|
errorMessage: string;
|
|
@@ -29,5 +35,4 @@ export declare function exportFile(fluidFileConverter: IFluidFileConverter, inpu
|
|
|
29
35
|
* @internal
|
|
30
36
|
*/
|
|
31
37
|
export declare function createContainerAndExecute(localOdspSnapshot: string | Uint8Array, fluidFileConverter: IFluidFileConverter, logger: ITelemetryLoggerExt, options?: string, timeout?: number, disableNetworkFetch?: boolean): Promise<string>;
|
|
32
|
-
export {};
|
|
33
38
|
//# sourceMappingURL=exportFile.d.ts.map
|
package/dist/exportFile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportFile.d.ts","sourceRoot":"","sources":["../src/exportFile.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"exportFile.d.ts","sourceRoot":"","sources":["../src/exportFile.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,GAAG,0BAA0B,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,CAAC;CACZ;AAID;;;GAGG;AACH,wBAAsB,UAAU,CAC/B,kBAAkB,EAAE,mBAAmB,EACvC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,MAAM,EAChB,mBAAmB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CA0C9B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC9C,iBAAiB,EAAE,MAAM,GAAG,UAAU,EACtC,kBAAkB,EAAE,mBAAmB,EACvC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,mBAAmB,GAAE,OAAe,GAClC,OAAO,CAAC,MAAM,CAAC,CA0CjB"}
|
package/dist/exportFile.js
CHANGED
|
@@ -29,34 +29,34 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.createContainerAndExecute = exports.exportFile = void 0;
|
|
31
31
|
const fs = __importStar(require("fs"));
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
32
|
+
const internal_1 = require("@fluidframework/container-definitions/internal");
|
|
33
|
+
const internal_2 = require("@fluidframework/container-loader/internal");
|
|
34
|
+
const internal_3 = require("@fluidframework/odsp-driver/internal");
|
|
35
|
+
const internal_4 = require("@fluidframework/telemetry-utils/internal");
|
|
36
|
+
const fakeUrlResolver_js_1 = require("./fakeUrlResolver.js");
|
|
37
|
+
const loggerUtils_js_1 = require("./logger/loggerUtils.js");
|
|
38
|
+
const utils_js_1 = require("./utils.js");
|
|
39
39
|
const clientArgsValidationError = "Client_ArgsValidationError";
|
|
40
40
|
/**
|
|
41
41
|
* Execute code on Container based on ODSP snapshot and write result to file
|
|
42
42
|
* @internal
|
|
43
43
|
*/
|
|
44
44
|
async function exportFile(fluidFileConverter, inputFile, outputFile, telemetryFile, options, telemetryOptions, timeout, disableNetworkFetch) {
|
|
45
|
-
const telemetryArgError = (0,
|
|
45
|
+
const telemetryArgError = (0, loggerUtils_js_1.getTelemetryFileValidationError)(telemetryFile);
|
|
46
46
|
if (telemetryArgError) {
|
|
47
47
|
const eventName = clientArgsValidationError;
|
|
48
48
|
return { success: false, eventName, errorMessage: telemetryArgError };
|
|
49
49
|
}
|
|
50
|
-
const { fileLogger, logger } = (0,
|
|
50
|
+
const { fileLogger, logger } = (0, loggerUtils_js_1.createLogger)(telemetryFile, telemetryOptions);
|
|
51
51
|
try {
|
|
52
|
-
return await
|
|
53
|
-
const argsValidationError = (0,
|
|
52
|
+
return await internal_4.PerformanceEvent.timedExecAsync(logger, { eventName: "ExportFile" }, async () => {
|
|
53
|
+
const argsValidationError = (0, utils_js_1.getArgsValidationError)(inputFile, outputFile, timeout);
|
|
54
54
|
if (argsValidationError) {
|
|
55
55
|
const eventName = clientArgsValidationError;
|
|
56
56
|
logger.sendErrorEvent({ eventName, message: argsValidationError });
|
|
57
57
|
return { success: false, eventName, errorMessage: argsValidationError };
|
|
58
58
|
}
|
|
59
|
-
fs.writeFileSync(outputFile, await createContainerAndExecute((0,
|
|
59
|
+
fs.writeFileSync(outputFile, await createContainerAndExecute((0, utils_js_1.getSnapshotFileContent)(inputFile), fluidFileConverter, logger, options, timeout, disableNetworkFetch));
|
|
60
60
|
return { success: true };
|
|
61
61
|
});
|
|
62
62
|
}
|
|
@@ -82,9 +82,9 @@ async function createContainerAndExecute(localOdspSnapshot, fluidFileConverter,
|
|
|
82
82
|
throw new Error("Network fetch is not allowed");
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
const loader = new
|
|
86
|
-
urlResolver: new
|
|
87
|
-
documentServiceFactory: (0,
|
|
85
|
+
const loader = new internal_2.Loader({
|
|
86
|
+
urlResolver: new fakeUrlResolver_js_1.FakeUrlResolver(),
|
|
87
|
+
documentServiceFactory: (0, internal_3.createLocalOdspDocumentServiceFactory)(localOdspSnapshot),
|
|
88
88
|
codeLoader: await fluidFileConverter.getCodeLoader(logger),
|
|
89
89
|
scope: await fluidFileConverter.getScope?.(logger),
|
|
90
90
|
logger,
|
|
@@ -92,10 +92,10 @@ async function createContainerAndExecute(localOdspSnapshot, fluidFileConverter,
|
|
|
92
92
|
const container = await loader.resolve({
|
|
93
93
|
url: "/fakeUrl/",
|
|
94
94
|
headers: {
|
|
95
|
-
[
|
|
95
|
+
[internal_1.LoaderHeader.loadMode]: { opsBeforeReturn: "cached" },
|
|
96
96
|
},
|
|
97
97
|
});
|
|
98
|
-
return
|
|
98
|
+
return internal_4.PerformanceEvent.timedExecAsync(logger, { eventName: "ExportFile" }, async () => {
|
|
99
99
|
try {
|
|
100
100
|
return await fluidFileConverter.execute(container, options);
|
|
101
101
|
}
|
|
@@ -106,7 +106,7 @@ async function createContainerAndExecute(localOdspSnapshot, fluidFileConverter,
|
|
|
106
106
|
};
|
|
107
107
|
// eslint-disable-next-line unicorn/prefer-ternary
|
|
108
108
|
if (timeout !== undefined) {
|
|
109
|
-
return (0,
|
|
109
|
+
return (0, utils_js_1.timeoutPromise)((resolve, reject) => {
|
|
110
110
|
fn()
|
|
111
111
|
.then((value) => resolve(value))
|
|
112
112
|
.catch((error) => reject(error));
|
package/dist/exportFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportFile.js","sourceRoot":"","sources":["../src/exportFile.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;
|
|
1
|
+
{"version":3,"file":"exportFile.js","sourceRoot":"","sources":["../src/exportFile.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AAEzB,6EAA8E;AAC9E,wEAAmE;AACnE,mEAA6F;AAE7F,uEAA4E;AAG5E,6DAAuD;AAGvD,4DAAwF;AACxF,yCAA4F;AAyB5F,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AAE/D;;;GAGG;AACI,KAAK,UAAU,UAAU,CAC/B,kBAAuC,EACvC,SAAiB,EACjB,UAAkB,EAClB,aAAqB,EACrB,OAAgB,EAChB,gBAAoC,EACpC,OAAgB,EAChB,mBAA6B;IAE7B,MAAM,iBAAiB,GAAG,IAAA,gDAA+B,EAAC,aAAa,CAAC,CAAC;IACzE,IAAI,iBAAiB,EAAE;QACtB,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;KACtE;IACD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAA,6BAAY,EAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAE7E,IAAI;QACH,OAAO,MAAM,2BAAgB,CAAC,cAAc,CAC3C,MAAM,EACN,EAAE,SAAS,EAAE,YAAY,EAAE,EAC3B,KAAK,IAAI,EAAE;YACV,MAAM,mBAAmB,GAAG,IAAA,iCAAsB,EAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACnF,IAAI,mBAAmB,EAAE;gBACxB,MAAM,SAAS,GAAG,yBAAyB,CAAC;gBAC5C,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;aACxE;YAED,EAAE,CAAC,aAAa,CACf,UAAU,EACV,MAAM,yBAAyB,CAC9B,IAAA,iCAAsB,EAAC,SAAS,CAAC,EACjC,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,OAAO,EACP,mBAAmB,CACnB,CACD,CAAC;YAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC,CACD,CAAC;KACF;IAAC,OAAO,KAAK,EAAE;QACf,MAAM,SAAS,GAAG,wBAAwB,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;KAC9E;YAAS;QACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;KACzB;AACF,CAAC;AAnDD,gCAmDC;AAED;;;;GAIG;AACI,KAAK,UAAU,yBAAyB,CAC9C,iBAAsC,EACtC,kBAAuC,EACvC,MAA2B,EAC3B,OAAgB,EAChB,OAAgB,EAChB,sBAA+B,KAAK;IAEpC,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;QACrB,IAAI,mBAAmB,EAAE;YACxB,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACjD,CAAC,CAAC;SACF;QAED,MAAM,MAAM,GAAG,IAAI,iBAAM,CAAC;YACzB,WAAW,EAAE,IAAI,oCAAe,EAAE;YAClC,sBAAsB,EAAE,IAAA,gDAAqC,EAAC,iBAAiB,CAAC;YAChF,UAAU,EAAE,MAAM,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1D,KAAK,EAAE,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClD,MAAM;SACN,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACtC,GAAG,EAAE,WAAW;YAChB,OAAO,EAAE;gBACR,CAAC,uBAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE;aACtD;SACD,CAAC,CAAC;QAEH,OAAO,2BAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,IAAI,EAAE;YACtF,IAAI;gBACH,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAC5D;oBAAS;gBACT,SAAS,CAAC,OAAO,EAAE,CAAC;aACpB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,kDAAkD;IAClD,IAAI,OAAO,KAAK,SAAS,EAAE;QAC1B,OAAO,IAAA,yBAAc,EAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,EAAE,EAAE;iBACF,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAC/B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC,EAAE,OAAO,CAAC,CAAC;KACZ;SAAM;QACN,OAAO,EAAE,EAAE,CAAC;KACZ;AACF,CAAC;AAjDD,8DAiDC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport * as fs from \"fs\";\n\nimport { LoaderHeader } from \"@fluidframework/container-definitions/internal\";\nimport { Loader } from \"@fluidframework/container-loader/internal\";\nimport { createLocalOdspDocumentServiceFactory } from \"@fluidframework/odsp-driver/internal\";\nimport { ITelemetryLoggerExt } from \"@fluidframework/telemetry-utils\";\nimport { PerformanceEvent } from \"@fluidframework/telemetry-utils/internal\";\n\nimport { IFluidFileConverter } from \"./codeLoaderBundle.js\";\nimport { FakeUrlResolver } from \"./fakeUrlResolver.js\";\n/* eslint-disable import/no-internal-modules */\nimport { ITelemetryOptions } from \"./logger/fileLogger.js\";\nimport { createLogger, getTelemetryFileValidationError } from \"./logger/loggerUtils.js\";\nimport { getArgsValidationError, getSnapshotFileContent, timeoutPromise } from \"./utils.js\";\n/* eslint-enable import/no-internal-modules */\n\n/**\n * @alpha\n */\nexport type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;\n\n/**\n * @alpha\n */\nexport interface IExportFileResponseSuccess {\n\tsuccess: true;\n}\n\n/**\n * @alpha\n */\nexport interface IExportFileResponseFailure {\n\tsuccess: false;\n\teventName: string;\n\terrorMessage: string;\n\terror?: any;\n}\n\nconst clientArgsValidationError = \"Client_ArgsValidationError\";\n\n/**\n * Execute code on Container based on ODSP snapshot and write result to file\n * @internal\n */\nexport async function exportFile(\n\tfluidFileConverter: IFluidFileConverter,\n\tinputFile: string,\n\toutputFile: string,\n\ttelemetryFile: string,\n\toptions?: string,\n\ttelemetryOptions?: ITelemetryOptions,\n\ttimeout?: number,\n\tdisableNetworkFetch?: boolean,\n): Promise<IExportFileResponse> {\n\tconst telemetryArgError = getTelemetryFileValidationError(telemetryFile);\n\tif (telemetryArgError) {\n\t\tconst eventName = clientArgsValidationError;\n\t\treturn { success: false, eventName, errorMessage: telemetryArgError };\n\t}\n\tconst { fileLogger, logger } = createLogger(telemetryFile, telemetryOptions);\n\n\ttry {\n\t\treturn await PerformanceEvent.timedExecAsync(\n\t\t\tlogger,\n\t\t\t{ eventName: \"ExportFile\" },\n\t\t\tasync () => {\n\t\t\t\tconst argsValidationError = getArgsValidationError(inputFile, outputFile, timeout);\n\t\t\t\tif (argsValidationError) {\n\t\t\t\t\tconst eventName = clientArgsValidationError;\n\t\t\t\t\tlogger.sendErrorEvent({ eventName, message: argsValidationError });\n\t\t\t\t\treturn { success: false, eventName, errorMessage: argsValidationError };\n\t\t\t\t}\n\n\t\t\t\tfs.writeFileSync(\n\t\t\t\t\toutputFile,\n\t\t\t\t\tawait createContainerAndExecute(\n\t\t\t\t\t\tgetSnapshotFileContent(inputFile),\n\t\t\t\t\t\tfluidFileConverter,\n\t\t\t\t\t\tlogger,\n\t\t\t\t\t\toptions,\n\t\t\t\t\t\ttimeout,\n\t\t\t\t\t\tdisableNetworkFetch,\n\t\t\t\t\t),\n\t\t\t\t);\n\n\t\t\t\treturn { success: true };\n\t\t\t},\n\t\t);\n\t} catch (error) {\n\t\tconst eventName = \"Client_UnexpectedError\";\n\t\tlogger.sendErrorEvent({ eventName }, error);\n\t\treturn { success: false, eventName, errorMessage: \"Unexpected error\", error };\n\t} finally {\n\t\tawait fileLogger.close();\n\t}\n}\n\n/**\n * Create the container based on an ODSP snapshot and execute code on it\n * @returns result of execution\n * @internal\n */\nexport async function createContainerAndExecute(\n\tlocalOdspSnapshot: string | Uint8Array,\n\tfluidFileConverter: IFluidFileConverter,\n\tlogger: ITelemetryLoggerExt,\n\toptions?: string,\n\ttimeout?: number,\n\tdisableNetworkFetch: boolean = false,\n): Promise<string> {\n\tconst fn = async () => {\n\t\tif (disableNetworkFetch) {\n\t\t\tglobal.fetch = async () => {\n\t\t\t\tthrow new Error(\"Network fetch is not allowed\");\n\t\t\t};\n\t\t}\n\n\t\tconst loader = new Loader({\n\t\t\turlResolver: new FakeUrlResolver(),\n\t\t\tdocumentServiceFactory: createLocalOdspDocumentServiceFactory(localOdspSnapshot),\n\t\t\tcodeLoader: await fluidFileConverter.getCodeLoader(logger),\n\t\t\tscope: await fluidFileConverter.getScope?.(logger),\n\t\t\tlogger,\n\t\t});\n\n\t\tconst container = await loader.resolve({\n\t\t\turl: \"/fakeUrl/\",\n\t\t\theaders: {\n\t\t\t\t[LoaderHeader.loadMode]: { opsBeforeReturn: \"cached\" },\n\t\t\t},\n\t\t});\n\n\t\treturn PerformanceEvent.timedExecAsync(logger, { eventName: \"ExportFile\" }, async () => {\n\t\t\ttry {\n\t\t\t\treturn await fluidFileConverter.execute(container, options);\n\t\t\t} finally {\n\t\t\t\tcontainer.dispose();\n\t\t\t}\n\t\t});\n\t};\n\n\t// eslint-disable-next-line unicorn/prefer-ternary\n\tif (timeout !== undefined) {\n\t\treturn timeoutPromise<string>((resolve, reject) => {\n\t\t\tfn()\n\t\t\t\t.then((value) => resolve(value))\n\t\t\t\t.catch((error) => reject(error));\n\t\t}, timeout);\n\t} else {\n\t\treturn fn();\n\t}\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { IRequest } from "@fluidframework/core-interfaces";
|
|
6
|
-
import { IContainerPackageInfo, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions";
|
|
6
|
+
import { IContainerPackageInfo, IResolvedUrl, IUrlResolver } from "@fluidframework/driver-definitions/internal";
|
|
7
7
|
/**
|
|
8
8
|
* Fake URL resolver that returns hard coded values on every request
|
|
9
9
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fakeUrlResolver.d.ts","sourceRoot":"","sources":["../src/fakeUrlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EACN,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"fakeUrlResolver.d.ts","sourceRoot":"","sources":["../src/fakeUrlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EACN,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,MAAM,6CAA6C,CAAC;AAMrD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,YAAY;IACtC,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAyB9D,cAAc,CAC1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,qBAAqB,GACxC,OAAO,CAAC,MAAM,CAAC;CAGlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fakeUrlResolver.js","sourceRoot":"","sources":["../src/fakeUrlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAUH,MAAM,MAAM,GAAG,iBAAiB,CAAC;AACjC,MAAM,OAAO,GAAG,0CAA0C,CAAC;AAE3D;;;GAGG;AACH,MAAa,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,QAAkB;QACtC,MAAM,mBAAmB,GAAqB;YAC7C,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,IAAI;YACrB,EAAE,EAAE,MAAM;YACV,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,OAAO;YACZ,gBAAgB,EAAE,MAAM;YACxB,SAAS,EAAE;gBACV,kBAAkB,EAAE,OAAO;gBAC3B,wBAAwB,EAAE,OAAO;gBACjC,uBAAuB,EAAE,OAAO;gBAChC,eAAe,EAAE,OAAO;aACxB;YACD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,MAAM;SACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,cAAc,CAC1B,YAA0B,EAC1B,YAAoB,EACpB,kBAA0C;QAE1C,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAjCD,0CAiCC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport {\n\tIContainerPackageInfo,\n\tIResolvedUrl,\n\tIUrlResolver,\n} from \"@fluidframework/driver-definitions\";\nimport { IOdspResolvedUrl } from \"@fluidframework/odsp-driver-definitions\";\n\nconst fakeId = \"FakeUrlResolver\";\nconst fakeUrl = \"https://examplehost.com/FakeUrlResolver/\";\n\n/**\n * Fake URL resolver that returns hard coded values on every request\n * @internal\n */\nexport class FakeUrlResolver implements IUrlResolver {\n\tpublic async resolve(_request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tconst fakeOdspResolvedUrl: IOdspResolvedUrl = {\n\t\t\ttype: \"fluid\",\n\t\t\todspResolvedUrl: true,\n\t\t\tid: fakeId,\n\t\t\tsiteUrl: fakeUrl,\n\t\t\tdriveId: fakeId,\n\t\t\titemId: fakeId,\n\t\t\turl: fakeUrl,\n\t\t\thashedDocumentId: fakeId,\n\t\t\tendpoints: {\n\t\t\t\tsnapshotStorageUrl: fakeUrl,\n\t\t\t\tattachmentPOSTStorageUrl: fakeUrl,\n\t\t\t\tattachmentGETStorageUrl: fakeUrl,\n\t\t\t\tdeltaStorageUrl: fakeUrl,\n\t\t\t},\n\t\t\ttokens: {},\n\t\t\tfileName: fakeId,\n\t\t\tsummarizer: false,\n\t\t\tfileVersion: fakeId,\n\t\t};\n\n\t\treturn fakeOdspResolvedUrl;\n\t}\n\n\tpublic async getAbsoluteUrl(\n\t\t_resolvedUrl: IResolvedUrl,\n\t\t_relativeUrl: string,\n\t\t_packageInfoSource?: IContainerPackageInfo,\n\t): Promise<string> {\n\t\treturn \"\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fakeUrlResolver.js","sourceRoot":"","sources":["../src/fakeUrlResolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAUH,MAAM,MAAM,GAAG,iBAAiB,CAAC;AACjC,MAAM,OAAO,GAAG,0CAA0C,CAAC;AAE3D;;;GAGG;AACH,MAAa,eAAe;IACpB,KAAK,CAAC,OAAO,CAAC,QAAkB;QACtC,MAAM,mBAAmB,GAAqB;YAC7C,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,IAAI;YACrB,EAAE,EAAE,MAAM;YACV,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,OAAO;YACZ,gBAAgB,EAAE,MAAM;YACxB,SAAS,EAAE;gBACV,kBAAkB,EAAE,OAAO;gBAC3B,wBAAwB,EAAE,OAAO;gBACjC,uBAAuB,EAAE,OAAO;gBAChC,eAAe,EAAE,OAAO;aACxB;YACD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,MAAM;SACnB,CAAC;QAEF,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,cAAc,CAC1B,YAA0B,EAC1B,YAAoB,EACpB,kBAA0C;QAE1C,OAAO,EAAE,CAAC;IACX,CAAC;CACD;AAjCD,0CAiCC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest } from \"@fluidframework/core-interfaces\";\nimport {\n\tIContainerPackageInfo,\n\tIResolvedUrl,\n\tIUrlResolver,\n} from \"@fluidframework/driver-definitions/internal\";\nimport { IOdspResolvedUrl } from \"@fluidframework/odsp-driver-definitions/internal\";\n\nconst fakeId = \"FakeUrlResolver\";\nconst fakeUrl = \"https://examplehost.com/FakeUrlResolver/\";\n\n/**\n * Fake URL resolver that returns hard coded values on every request\n * @internal\n */\nexport class FakeUrlResolver implements IUrlResolver {\n\tpublic async resolve(_request: IRequest): Promise<IResolvedUrl | undefined> {\n\t\tconst fakeOdspResolvedUrl: IOdspResolvedUrl = {\n\t\t\ttype: \"fluid\",\n\t\t\todspResolvedUrl: true,\n\t\t\tid: fakeId,\n\t\t\tsiteUrl: fakeUrl,\n\t\t\tdriveId: fakeId,\n\t\t\titemId: fakeId,\n\t\t\turl: fakeUrl,\n\t\t\thashedDocumentId: fakeId,\n\t\t\tendpoints: {\n\t\t\t\tsnapshotStorageUrl: fakeUrl,\n\t\t\t\tattachmentPOSTStorageUrl: fakeUrl,\n\t\t\t\tattachmentGETStorageUrl: fakeUrl,\n\t\t\t\tdeltaStorageUrl: fakeUrl,\n\t\t\t},\n\t\t\ttokens: {},\n\t\t\tfileName: fakeId,\n\t\t\tsummarizer: false,\n\t\t\tfileVersion: fakeId,\n\t\t};\n\n\t\treturn fakeOdspResolvedUrl;\n\t}\n\n\tpublic async getAbsoluteUrl(\n\t\t_resolvedUrl: IResolvedUrl,\n\t\t_relativeUrl: string,\n\t\t_packageInfoSource?: IContainerPackageInfo,\n\t): Promise<string> {\n\t\treturn \"\";\n\t}\n}\n"]}
|
package/dist/fluidRunner.d.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
import { IFluidFileConverter } from "./codeLoaderBundle";
|
|
5
|
+
import { IFluidFileConverter } from "./codeLoaderBundle.js";
|
|
6
6
|
/**
|
|
7
7
|
* @param fluidFileConverter - needs to be provided if "codeLoaderBundle" is not and vice versa
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
|
-
export declare function fluidRunner(fluidFileConverter?: IFluidFileConverter): void
|
|
10
|
+
export declare function fluidRunner(fluidFileConverter?: IFluidFileConverter): Promise<void>;
|
|
11
11
|
//# sourceMappingURL=fluidRunner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluidRunner.d.ts","sourceRoot":"","sources":["../src/fluidRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"fluidRunner.d.ts","sourceRoot":"","sources":["../src/fluidRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAO5D;;;GAGG;AACH,wBAAsB,WAAW,CAAC,kBAAkB,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHzF"}
|
package/dist/fluidRunner.js
CHANGED
|
@@ -3,49 +3,26 @@
|
|
|
3
3
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
4
|
* Licensed under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
-
if (mod && mod.__esModule) return mod;
|
|
24
|
-
var result = {};
|
|
25
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
-
__setModuleDefault(result, mod);
|
|
27
|
-
return result;
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
8
|
};
|
|
29
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
10
|
exports.fluidRunner = void 0;
|
|
31
|
-
const
|
|
32
|
-
const exportFile_1 = require("./exportFile");
|
|
33
|
-
const parseBundleAndExportFile_1 = require("./parseBundleAndExportFile");
|
|
11
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
34
12
|
// eslint-disable-next-line import/no-internal-modules
|
|
35
|
-
const
|
|
36
|
-
const
|
|
13
|
+
const helpers_1 = require("yargs/helpers");
|
|
14
|
+
const exportFile_js_1 = require("./exportFile.js");
|
|
15
|
+
// eslint-disable-next-line import/no-internal-modules
|
|
16
|
+
const loggerUtils_js_1 = require("./logger/loggerUtils.js");
|
|
17
|
+
const parseBundleAndExportFile_js_1 = require("./parseBundleAndExportFile.js");
|
|
18
|
+
const utils_js_1 = require("./utils.js");
|
|
37
19
|
/**
|
|
38
20
|
* @param fluidFileConverter - needs to be provided if "codeLoaderBundle" is not and vice versa
|
|
39
21
|
* @internal
|
|
40
22
|
*/
|
|
41
|
-
function fluidRunner(fluidFileConverter) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
.strict()
|
|
45
|
-
.version(false)
|
|
46
|
-
.command("exportFile", "Generate an output for a local ODSP snapshot",
|
|
47
|
-
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
48
|
-
(yargs) => yargs
|
|
23
|
+
async function fluidRunner(fluidFileConverter) {
|
|
24
|
+
await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
25
|
+
.command("exportFile", "Generate an output for a local ODSP snapshot", (argv) => argv
|
|
49
26
|
.option("codeLoader", {
|
|
50
27
|
describe: 'Path to code loader bundle. Required if this application is being called without modification.\nSee "README.md" for more details.',
|
|
51
28
|
type: "string",
|
|
@@ -97,22 +74,20 @@ function fluidRunner(fluidFileConverter) {
|
|
|
97
74
|
type: "boolean",
|
|
98
75
|
demandOption: false,
|
|
99
76
|
default: false,
|
|
100
|
-
}),
|
|
101
|
-
|
|
102
|
-
async (argv) => {
|
|
103
|
-
const argsError = (0, utils_1.validateCommandLineArgs)(argv.codeLoader, fluidFileConverter);
|
|
77
|
+
}), async (argv) => {
|
|
78
|
+
const argsError = (0, utils_js_1.validateCommandLineArgs)(argv.codeLoader, fluidFileConverter);
|
|
104
79
|
if (argsError) {
|
|
105
80
|
console.error(argsError);
|
|
106
81
|
process.exit(1);
|
|
107
82
|
}
|
|
108
|
-
const telemetryOptionsResult = (0,
|
|
83
|
+
const telemetryOptionsResult = (0, loggerUtils_js_1.validateAndParseTelemetryOptions)(argv.telemetryFormat, argv.telemetryProp, argv.eventsPerFlush);
|
|
109
84
|
if (!telemetryOptionsResult.success) {
|
|
110
85
|
console.error(telemetryOptionsResult.error);
|
|
111
86
|
process.exit(1);
|
|
112
87
|
}
|
|
113
88
|
const result = await (argv.codeLoader
|
|
114
|
-
? (0,
|
|
115
|
-
: (0,
|
|
89
|
+
? (0, parseBundleAndExportFile_js_1.parseBundleAndExportFile)(argv.codeLoader, argv.inputFile, argv.outputFile, argv.telemetryFile, argv.options, telemetryOptionsResult.telemetryOptions, argv.timeout, argv.disableNetworkFetch)
|
|
90
|
+
: (0, exportFile_js_1.exportFile)(fluidFileConverter, argv.inputFile, argv.outputFile, argv.telemetryFile, argv.options, telemetryOptionsResult.telemetryOptions, argv.timeout, argv.disableNetworkFetch));
|
|
116
91
|
if (!result.success) {
|
|
117
92
|
console.error(`${result.eventName}: ${result.errorMessage}`);
|
|
118
93
|
process.exit(1);
|
|
@@ -120,7 +95,8 @@ function fluidRunner(fluidFileConverter) {
|
|
|
120
95
|
process.exit(0);
|
|
121
96
|
})
|
|
122
97
|
.help()
|
|
123
|
-
.demandCommand()
|
|
98
|
+
.demandCommand(1)
|
|
99
|
+
.parse();
|
|
124
100
|
}
|
|
125
101
|
exports.fluidRunner = fluidRunner;
|
|
126
102
|
//# sourceMappingURL=fluidRunner.js.map
|
package/dist/fluidRunner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fluidRunner.js","sourceRoot":"","sources":["../src/fluidRunner.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"fluidRunner.js","sourceRoot":"","sources":["../src/fluidRunner.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport yargs from \"yargs\";\n// eslint-disable-next-line import/no-internal-modules\nimport { hideBin } from \"yargs/helpers\";\n\nimport { IFluidFileConverter } from \"./codeLoaderBundle.js\";\nimport { exportFile } from \"./exportFile.js\";\n// eslint-disable-next-line import/no-internal-modules\nimport { validateAndParseTelemetryOptions } from \"./logger/loggerUtils.js\";\nimport { parseBundleAndExportFile } from \"./parseBundleAndExportFile.js\";\nimport { validateCommandLineArgs } from \"./utils.js\";\n\n/**\n * @param fluidFileConverter - needs to be provided if \"codeLoaderBundle\" is not and vice versa\n * @internal\n */\nexport async function fluidRunner(fluidFileConverter?: IFluidFileConverter): Promise<void> {\n\tawait yargs(hideBin(process.argv))\n\t\t.command(\n\t\t\t\"exportFile\",\n\t\t\t\"Generate an output for a local ODSP snapshot\",\n\t\t\t(argv) =>\n\t\t\t\targv\n\t\t\t\t\t.option(\"codeLoader\", {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t'Path to code loader bundle. Required if this application is being called without modification.\\nSee \"README.md\" for more details.',\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"inputFile\", {\n\t\t\t\t\t\tdescribe: \"Path to local ODSP snapshot\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdemandOption: true,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"outputFile\", {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Path of output file (cannot already exist).\\nExecution result will be written here\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdemandOption: true,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"telemetryFile\", {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Path of telemetry file for config and session data (cannot already exist)\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdemandOption: true,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"options\", {\n\t\t\t\t\t\tdescribe: \"Additional options passed to container on execution\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"telemetryFormat\", {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t'Output format for telemetry. Current options are: [\"JSON\", \"CSV\"]',\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t\tdefault: \"JSON\",\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"telemetryProp\", {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t'Property to add to every telemetry entry. Formatted like \"--telemetryProp prop1 value1 --telemetryProp prop2 \\\\\"value 2\\\\\"\".',\n\t\t\t\t\t\ttype: \"array\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"eventsPerFlush\", {\n\t\t\t\t\t\tdescribe:\n\t\t\t\t\t\t\t\"Number of telemetry events per flush to telemetryFile (only applicable for JSON format)\",\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"timeout\", {\n\t\t\t\t\t\tdescribe: \"Allowed timeout in ms before process is automatically cancelled\",\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t})\n\t\t\t\t\t.option(\"disableNetworkFetch\", {\n\t\t\t\t\t\tdescribe: \"Should network fetch calls be explicitly disabled?\",\n\t\t\t\t\t\ttype: \"boolean\",\n\t\t\t\t\t\tdemandOption: false,\n\t\t\t\t\t\tdefault: false,\n\t\t\t\t\t}),\n\n\t\t\tasync (argv) => {\n\t\t\t\tconst argsError = validateCommandLineArgs(argv.codeLoader, fluidFileConverter);\n\t\t\t\tif (argsError) {\n\t\t\t\t\tconsole.error(argsError);\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\t\t\t\tconst telemetryOptionsResult = validateAndParseTelemetryOptions(\n\t\t\t\t\targv.telemetryFormat,\n\t\t\t\t\targv.telemetryProp,\n\t\t\t\t\targv.eventsPerFlush,\n\t\t\t\t);\n\t\t\t\tif (!telemetryOptionsResult.success) {\n\t\t\t\t\tconsole.error(telemetryOptionsResult.error);\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\n\t\t\t\tconst result = await (argv.codeLoader\n\t\t\t\t\t? parseBundleAndExportFile(\n\t\t\t\t\t\t\targv.codeLoader,\n\t\t\t\t\t\t\targv.inputFile,\n\t\t\t\t\t\t\targv.outputFile,\n\t\t\t\t\t\t\targv.telemetryFile,\n\t\t\t\t\t\t\targv.options,\n\t\t\t\t\t\t\ttelemetryOptionsResult.telemetryOptions,\n\t\t\t\t\t\t\targv.timeout,\n\t\t\t\t\t\t\targv.disableNetworkFetch,\n\t\t\t\t\t )\n\t\t\t\t\t: exportFile(\n\t\t\t\t\t\t\tfluidFileConverter!,\n\t\t\t\t\t\t\targv.inputFile,\n\t\t\t\t\t\t\targv.outputFile,\n\t\t\t\t\t\t\targv.telemetryFile,\n\t\t\t\t\t\t\targv.options,\n\t\t\t\t\t\t\ttelemetryOptionsResult.telemetryOptions,\n\t\t\t\t\t\t\targv.timeout,\n\t\t\t\t\t\t\targv.disableNetworkFetch,\n\t\t\t\t\t ));\n\n\t\t\t\tif (!result.success) {\n\t\t\t\t\tconsole.error(`${result.eventName}: ${result.errorMessage}`);\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\t\t\t\tprocess.exit(0);\n\t\t\t},\n\t\t)\n\t\t.help()\n\t\t.demandCommand(1)\n\t\t.parse();\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export { ICodeLoaderBundle, IFluidFileConverter } from "./codeLoaderBundle";
|
|
6
|
-
export { createContainerAndExecute, exportFile, IExportFileResponse } from "./exportFile";
|
|
7
|
-
export { fluidRunner } from "./fluidRunner";
|
|
8
|
-
export { OutputFormat, ITelemetryOptions } from "./logger/fileLogger";
|
|
9
|
-
export { createLogger, getTelemetryFileValidationError, validateAndParseTelemetryOptions, } from "./logger/loggerUtils";
|
|
10
|
-
export { parseBundleAndExportFile } from "./parseBundleAndExportFile";
|
|
11
|
-
export { getSnapshotFileContent } from "./utils";
|
|
5
|
+
export { ICodeLoaderBundle, IFluidFileConverter } from "./codeLoaderBundle.js";
|
|
6
|
+
export { createContainerAndExecute, exportFile, IExportFileResponse, IExportFileResponseSuccess, IExportFileResponseFailure, } from "./exportFile.js";
|
|
7
|
+
export { fluidRunner } from "./fluidRunner.js";
|
|
8
|
+
export { OutputFormat, ITelemetryOptions, IFileLogger } from "./logger/fileLogger.js";
|
|
9
|
+
export { createLogger, getTelemetryFileValidationError, validateAndParseTelemetryOptions, } from "./logger/loggerUtils.js";
|
|
10
|
+
export { parseBundleAndExportFile } from "./parseBundleAndExportFile.js";
|
|
11
|
+
export { getSnapshotFileContent } from "./utils.js";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACN,yBAAyB,EACzB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACN,YAAY,EACZ,+BAA+B,EAC/B,gCAAgC,GAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
|