@fluidframework/fluid-runner 2.0.0-dev.2.3.0.115467 → 2.0.0-dev.4.1.0.148229

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 (82) hide show
  1. package/.eslintrc.js +11 -13
  2. package/.mocharc.js +2 -2
  3. package/README.md +23 -10
  4. package/bin/fluid-runner +0 -0
  5. package/dist/codeLoaderBundle.d.ts +3 -2
  6. package/dist/codeLoaderBundle.d.ts.map +1 -1
  7. package/dist/codeLoaderBundle.js +4 -2
  8. package/dist/codeLoaderBundle.js.map +1 -1
  9. package/dist/exportFile.d.ts.map +1 -1
  10. package/dist/exportFile.js +8 -4
  11. package/dist/exportFile.js.map +1 -1
  12. package/dist/fakeUrlResolver.d.ts.map +1 -1
  13. package/dist/fakeUrlResolver.js.map +1 -1
  14. package/dist/fluidRunner.d.ts.map +1 -1
  15. package/dist/fluidRunner.js +11 -7
  16. package/dist/fluidRunner.js.map +1 -1
  17. package/dist/getArgsValidationError.d.ts.map +1 -1
  18. package/dist/getArgsValidationError.js.map +1 -1
  19. package/dist/logger/baseFileLogger.d.ts.map +1 -1
  20. package/dist/logger/baseFileLogger.js.map +1 -1
  21. package/dist/logger/csvFileLogger.d.ts.map +1 -1
  22. package/dist/logger/csvFileLogger.js.map +1 -1
  23. package/dist/logger/fileLogger.d.ts.map +1 -1
  24. package/dist/logger/fileLogger.js.map +1 -1
  25. package/dist/logger/jsonFileLogger.d.ts.map +1 -1
  26. package/dist/logger/jsonFileLogger.js.map +1 -1
  27. package/dist/logger/loggerUtils.d.ts +1 -1
  28. package/dist/logger/loggerUtils.d.ts.map +1 -1
  29. package/dist/logger/loggerUtils.js +19 -5
  30. package/dist/logger/loggerUtils.js.map +1 -1
  31. package/dist/parseBundleAndExportFile.d.ts.map +1 -1
  32. package/dist/parseBundleAndExportFile.js.map +1 -1
  33. package/dist/utils.d.ts.map +1 -1
  34. package/dist/utils.js +2 -3
  35. package/dist/utils.js.map +1 -1
  36. package/lib/codeLoaderBundle.d.ts +3 -2
  37. package/lib/codeLoaderBundle.d.ts.map +1 -1
  38. package/lib/codeLoaderBundle.js +4 -2
  39. package/lib/codeLoaderBundle.js.map +1 -1
  40. package/lib/exportFile.d.ts.map +1 -1
  41. package/lib/exportFile.js +8 -4
  42. package/lib/exportFile.js.map +1 -1
  43. package/lib/fakeUrlResolver.d.ts.map +1 -1
  44. package/lib/fakeUrlResolver.js.map +1 -1
  45. package/lib/fluidRunner.d.ts.map +1 -1
  46. package/lib/fluidRunner.js +11 -7
  47. package/lib/fluidRunner.js.map +1 -1
  48. package/lib/getArgsValidationError.d.ts.map +1 -1
  49. package/lib/getArgsValidationError.js.map +1 -1
  50. package/lib/logger/baseFileLogger.d.ts.map +1 -1
  51. package/lib/logger/baseFileLogger.js.map +1 -1
  52. package/lib/logger/csvFileLogger.d.ts.map +1 -1
  53. package/lib/logger/csvFileLogger.js.map +1 -1
  54. package/lib/logger/fileLogger.d.ts.map +1 -1
  55. package/lib/logger/fileLogger.js.map +1 -1
  56. package/lib/logger/jsonFileLogger.d.ts.map +1 -1
  57. package/lib/logger/jsonFileLogger.js.map +1 -1
  58. package/lib/logger/loggerUtils.d.ts +1 -1
  59. package/lib/logger/loggerUtils.d.ts.map +1 -1
  60. package/lib/logger/loggerUtils.js +19 -5
  61. package/lib/logger/loggerUtils.js.map +1 -1
  62. package/lib/parseBundleAndExportFile.d.ts.map +1 -1
  63. package/lib/parseBundleAndExportFile.js.map +1 -1
  64. package/lib/utils.d.ts.map +1 -1
  65. package/lib/utils.js +2 -3
  66. package/lib/utils.js.map +1 -1
  67. package/package.json +50 -46
  68. package/prettier.config.cjs +1 -1
  69. package/src/codeLoaderBundle.ts +29 -24
  70. package/src/exportFile.ts +69 -58
  71. package/src/fakeUrlResolver.ts +35 -31
  72. package/src/fluidRunner.ts +99 -85
  73. package/src/getArgsValidationError.ts +14 -17
  74. package/src/logger/baseFileLogger.ts +44 -44
  75. package/src/logger/csvFileLogger.ts +20 -20
  76. package/src/logger/fileLogger.ts +15 -15
  77. package/src/logger/jsonFileLogger.ts +12 -12
  78. package/src/logger/loggerUtils.ts +55 -39
  79. package/src/parseBundleAndExportFile.ts +58 -50
  80. package/src/utils.ts +14 -15
  81. package/tsconfig.esnext.json +6 -6
  82. package/tsconfig.json +10 -13
@@ -21,60 +21,68 @@ const clientArgsValidationError = "Client_ArgsValidationError";
21
21
  * @param codeLoader - path to provided JS bundle that implements ICodeLoaderBundle (see codeLoaderBundle.ts)
22
22
  */
23
23
  export async function parseBundleAndExportFile(
24
- codeLoader: string,
25
- inputFile: string,
26
- outputFile: string,
27
- telemetryFile: string,
28
- options?: string,
29
- telemetryOptions?: ITelemetryOptions,
24
+ codeLoader: string,
25
+ inputFile: string,
26
+ outputFile: string,
27
+ telemetryFile: string,
28
+ options?: string,
29
+ telemetryOptions?: ITelemetryOptions,
30
30
  ): Promise<IExportFileResponse> {
31
- const telemetryArgError = getTelemetryFileValidationError(telemetryFile);
32
- if (telemetryArgError) {
33
- const eventName = clientArgsValidationError;
34
- return { success: false, eventName, errorMessage: telemetryArgError };
35
- }
36
- const { fileLogger, logger } = createLogger(telemetryFile, telemetryOptions);
31
+ const telemetryArgError = getTelemetryFileValidationError(telemetryFile);
32
+ if (telemetryArgError) {
33
+ const eventName = clientArgsValidationError;
34
+ return { success: false, eventName, errorMessage: telemetryArgError };
35
+ }
36
+ const { fileLogger, logger } = createLogger(telemetryFile, telemetryOptions);
37
37
 
38
- try {
39
- return await PerformanceEvent.timedExecAsync(logger, { eventName: "ParseBundleAndExportFile" }, async () => {
40
- // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
41
- const codeLoaderBundle = require(codeLoader);
42
- if (!isCodeLoaderBundle(codeLoaderBundle)) {
43
- const eventName = clientArgsValidationError;
44
- const errorMessage = "Code loader bundle is not of type ICodeLoaderBundle";
45
- logger.sendErrorEvent({ eventName, message: errorMessage });
46
- return { success: false, eventName, errorMessage };
47
- }
38
+ try {
39
+ return await PerformanceEvent.timedExecAsync(
40
+ logger,
41
+ { eventName: "ParseBundleAndExportFile" },
42
+ async () => {
43
+ // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
44
+ const codeLoaderBundle = require(codeLoader);
45
+ if (!isCodeLoaderBundle(codeLoaderBundle)) {
46
+ const eventName = clientArgsValidationError;
47
+ const errorMessage = "Code loader bundle is not of type ICodeLoaderBundle";
48
+ logger.sendErrorEvent({ eventName, message: errorMessage });
49
+ return { success: false, eventName, errorMessage };
50
+ }
48
51
 
49
- const fluidExport = await codeLoaderBundle.fluidExport;
50
- if (!isFluidFileConverter(fluidExport)) {
51
- const eventName = clientArgsValidationError;
52
- const errorMessage = "Fluid export from CodeLoaderBundle is not of type IFluidFileConverter";
53
- logger.sendErrorEvent({ eventName, message: errorMessage });
54
- return { success: false, eventName, errorMessage };
55
- }
52
+ const fluidExport = await codeLoaderBundle.fluidExport;
53
+ if (!isFluidFileConverter(fluidExport)) {
54
+ const eventName = clientArgsValidationError;
55
+ const errorMessage =
56
+ "Fluid export from CodeLoaderBundle is not of type IFluidFileConverter";
57
+ logger.sendErrorEvent({ eventName, message: errorMessage });
58
+ return { success: false, eventName, errorMessage };
59
+ }
56
60
 
57
- const argsValidationError = getArgsValidationError(inputFile, outputFile);
58
- if (argsValidationError) {
59
- const eventName = clientArgsValidationError;
60
- logger.sendErrorEvent({ eventName, message: argsValidationError });
61
- return { success: false, eventName, errorMessage: argsValidationError };
62
- }
61
+ const argsValidationError = getArgsValidationError(inputFile, outputFile);
62
+ if (argsValidationError) {
63
+ const eventName = clientArgsValidationError;
64
+ logger.sendErrorEvent({ eventName, message: argsValidationError });
65
+ return { success: false, eventName, errorMessage: argsValidationError };
66
+ }
63
67
 
64
- fs.writeFileSync(outputFile, await createContainerAndExecute(
65
- getSnapshotFileContent(inputFile),
66
- fluidExport,
67
- logger,
68
- options,
69
- ));
68
+ fs.writeFileSync(
69
+ outputFile,
70
+ await createContainerAndExecute(
71
+ getSnapshotFileContent(inputFile),
72
+ fluidExport,
73
+ logger,
74
+ options,
75
+ ),
76
+ );
70
77
 
71
- return { success: true };
72
- });
73
- } catch (error) {
74
- const eventName = "Client_UnexpectedError";
75
- logger.sendErrorEvent({ eventName }, error);
76
- return { success: false, eventName, errorMessage: "Unexpected error", error };
77
- } finally {
78
- await fileLogger.close();
79
- }
78
+ return { success: true };
79
+ },
80
+ );
81
+ } catch (error) {
82
+ const eventName = "Client_UnexpectedError";
83
+ logger.sendErrorEvent({ eventName }, error);
84
+ return { success: false, eventName, errorMessage: "Unexpected error", error };
85
+ } finally {
86
+ await fileLogger.close();
87
+ }
80
88
  }
package/src/utils.ts CHANGED
@@ -12,7 +12,7 @@ import { IFluidFileConverter } from "./codeLoaderBundle";
12
12
  * @internal
13
13
  */
14
14
  export function isJsonSnapshot(content: Buffer): boolean {
15
- return content.toString(undefined, 0, 1) === "{";
15
+ return content.toString(undefined, 0, 1) === "{";
16
16
  }
17
17
 
18
18
  /**
@@ -21,25 +21,24 @@ export function isJsonSnapshot(content: Buffer): boolean {
21
21
  * @param filePath - path to the ODSP snapshot file
22
22
  */
23
23
  export function getSnapshotFileContent(filePath: string): string | Buffer {
24
- // TODO: read file stream
25
- const content = fs.readFileSync(filePath);
26
- return isJsonSnapshot(content) ? content.toString() : content;
24
+ // TODO: read file stream
25
+ const content = fs.readFileSync(filePath);
26
+ return isJsonSnapshot(content) ? content.toString() : content;
27
27
  }
28
28
 
29
29
  /**
30
30
  * Validate provided command line arguments
31
31
  * @internal
32
32
  */
33
- export function validateCommandLineArgs(
34
- codeLoader?: string,
35
- fluidFileConverter?: IFluidFileConverter,
33
+ export function validateCommandLineArgs(
34
+ codeLoader?: string,
35
+ fluidFileConverter?: IFluidFileConverter,
36
36
  ): string | undefined {
37
- if (codeLoader && fluidFileConverter !== undefined) {
38
- return "\"codeLoader\" and \"fluidFileConverter\" cannot both be provided. See README for details.";
39
- }
40
- if (!codeLoader && fluidFileConverter === undefined) {
41
- // eslint-disable-next-line max-len
42
- return "\"codeLoader\" must be provided if there is no explicit \"fluidFileConverter\". See README for details.";
43
- }
44
- return undefined;
37
+ if (codeLoader && fluidFileConverter !== undefined) {
38
+ return '"codeLoader" and "fluidFileConverter" cannot both be provided. See README for details.';
39
+ }
40
+ if (!codeLoader && fluidFileConverter === undefined) {
41
+ return '"codeLoader" must be provided if there is no explicit "fluidFileConverter". See README for details.';
42
+ }
43
+ return undefined;
45
44
  }
@@ -1,7 +1,7 @@
1
1
  {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./lib",
5
- "module": "esnext"
6
- },
7
- }
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./lib",
5
+ "module": "esnext",
6
+ },
7
+ }
package/tsconfig.json CHANGED
@@ -1,14 +1,11 @@
1
1
  {
2
- "extends": "@fluidframework/build-common/ts-common-config.json",
3
- "exclude": [
4
- "src/test/**/*"
5
- ],
6
- "compilerOptions": {
7
- "rootDir": "./src",
8
- "outDir": "./dist",
9
- "composite": true
10
- },
11
- "include": [
12
- "src/**/*"
13
- ]
14
- }
2
+ "extends": "@fluidframework/build-common/ts-common-config.json",
3
+ "exclude": ["src/test/**/*"],
4
+ "compilerOptions": {
5
+ "rootDir": "./src",
6
+ "outDir": "./dist",
7
+ "types": ["node"],
8
+ "composite": true,
9
+ },
10
+ "include": ["src/**/*"],
11
+ }