@alwaysmeticulous/record 2.107.0 → 2.109.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.
@@ -1,4 +1,4 @@
1
1
  import { RecordLoginFlowOptions } from "../types";
2
2
  export declare const LOGIN_FLOW_SESSION_RECORDING_SOURCE = "cli-login-flow";
3
3
  export declare const LOGIN_FLOW_DATA_SESSION_RECORDING_SOURCE = "cli-login-flow-application-storage";
4
- export declare const recordLoginFlowSession: ({ recordingToken, devTools, bypassCSP, recordingSnippetManualInit, width, height, uploadIntervalMs, captureHttpOnlyCookies, appUrl, }: RecordLoginFlowOptions) => Promise<void>;
4
+ export declare const recordLoginFlowSession: ({ recordingToken, devTools, bypassCSP, recordingSnippet, width, height, uploadIntervalMs, captureHttpOnlyCookies, appUrl, }: RecordLoginFlowOptions) => Promise<void>;
@@ -15,7 +15,7 @@ const inject_finish_recording_frame_1 = require("./utils/inject-finish-recording
15
15
  const print_warning_1 = require("./utils/print-warning");
16
16
  exports.LOGIN_FLOW_SESSION_RECORDING_SOURCE = "cli-login-flow";
17
17
  exports.LOGIN_FLOW_DATA_SESSION_RECORDING_SOURCE = "cli-login-flow-application-storage";
18
- const bootstrapLoginFlowRecordingPage = async ({ page, recordingToken, recordingSnippetManualInit, uploadIntervalMs, captureHttpOnlyCookies, recordingSource, bypassCSP, }) => {
18
+ const bootstrapLoginFlowRecordingPage = async ({ page, recordingToken, recordingSnippet, uploadIntervalMs, captureHttpOnlyCookies, recordingSource, bypassCSP, }) => {
19
19
  page.setDefaultNavigationTimeout(constants_1.DEFAULT_NAVIGATION_TIMEOUT_MS); // 2 minutes
20
20
  if (bypassCSP) {
21
21
  await page.setBypassCSP(true);
@@ -24,13 +24,13 @@ const bootstrapLoginFlowRecordingPage = async ({ page, recordingToken, recording
24
24
  page,
25
25
  recordingToken,
26
26
  appCommitHash: "unknown",
27
- recordingSnippetManualInit,
27
+ recordingSnippet,
28
28
  uploadIntervalMs: uploadIntervalMs || constants_1.DEFAULT_UPLOAD_INTERVAL_MS,
29
29
  captureHttpOnlyCookies: captureHttpOnlyCookies !== null && captureHttpOnlyCookies !== void 0 ? captureHttpOnlyCookies : true,
30
30
  recordingSource,
31
31
  });
32
32
  };
33
- const recordLoginFlowSession = async ({ recordingToken, devTools, bypassCSP, recordingSnippetManualInit, width, height, uploadIntervalMs, captureHttpOnlyCookies, appUrl, }) => {
33
+ const recordLoginFlowSession = async ({ recordingToken, devTools, bypassCSP, recordingSnippet, width, height, uploadIntervalMs, captureHttpOnlyCookies, appUrl, }) => {
34
34
  const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
35
35
  logger.info("Opening browser...");
36
36
  const defaultViewport = width && height ? { width, height } : null;
@@ -83,7 +83,7 @@ const recordLoginFlowSession = async ({ recordingToken, devTools, bypassCSP, rec
83
83
  await bootstrapLoginFlowRecordingPage({
84
84
  page: loginDataPage,
85
85
  recordingToken,
86
- recordingSnippetManualInit,
86
+ recordingSnippet,
87
87
  uploadIntervalMs: uploadIntervalMs,
88
88
  captureHttpOnlyCookies: captureHttpOnlyCookies,
89
89
  bypassCSP,
@@ -109,7 +109,7 @@ const recordLoginFlowSession = async ({ recordingToken, devTools, bypassCSP, rec
109
109
  await bootstrapLoginFlowRecordingPage({
110
110
  page: loginFlowPage,
111
111
  recordingToken,
112
- recordingSnippetManualInit,
112
+ recordingSnippet,
113
113
  uploadIntervalMs,
114
114
  captureHttpOnlyCookies,
115
115
  bypassCSP,
@@ -1 +1 @@
1
- {"version":3,"file":"record-login-flow.js","sourceRoot":"","sources":["../../src/record/record-login-flow.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAyE;AACzE,kDAA0B;AAC1B,wDAAuC;AACvC,yCAAkD;AAElD,2CAMqB;AACrB,iDAA+C;AAC/C,yFAAmF;AACnF,yFAAmF;AACnF,yDAG+B;AAQlB,QAAA,mCAAmC,GAAG,gBAAgB,CAAC;AACvD,QAAA,wCAAwC,GACnD,oCAAoC,CAAC;AAEvC,MAAM,+BAA+B,GAAG,KAAK,EAAE,EAC7C,IAAI,EACJ,cAAc,EACd,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,SAAS,GASV,EAAE,EAAE;IACH,IAAI,CAAC,2BAA2B,CAAC,yCAA6B,CAAC,CAAC,CAAC,YAAY;IAC7E,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,MAAM,IAAA,4BAAa,EAAC;QAClB,IAAI;QACJ,cAAc;QACd,aAAa,EAAE,SAAS;QACxB,0BAA0B;QAE1B,gBAAgB,EAAE,gBAAgB,IAAI,sCAA0B;QAChE,sBAAsB,EAAE,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GAAI,IAAI;QACtD,eAAe;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,KAAK,EAAE,EAC3C,cAAc,EACd,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,GACiB,EAAE,EAAE;IAC3B,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IAErD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAElC,MAAM,eAAe,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnE,MAAM,OAAO,GAAY,MAAM,IAAA,kBAAM,EAAC;QACpC,eAAe;QACf,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ,IAAI,KAAK;QAC3B,IAAI,EAAE,4CAAgC;KACvC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,6BAA6B,EAAE,CAAC;IAE9D,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9C,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,4BAA4B,GAAG,KAAK,CAAC;IAEzC,MAAM,yBAAyB,GAAG,IAAA,cAAK,GAAE,CAAC;IAE1C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC7B,IAAI,CAAC,mBAAmB,EAAE;YACxB,IAAA,sCAAsB,GAAE,CAAC;YAEzB,oFAAoF;YACpF,6EAA6E;YAC7E,iDAAiD;YACjD,yBAAyB,CAAC,OAAO,EAAE,CAAC;SACrC;IACH,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,IAAA,0DAA0B,EAAC,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;QAChE,4BAA4B,GAAG,IAAI,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,cAAc,CAChC,6BAA6B,EAC7B,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;QAE1C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,kBAAkB,EAAE;gBACvB,IAAA,sCAAsB,GAAE,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,yBAAyB,CAAC,IAAI,CAClC,wDAA4C,CAC7C,CAAC;YAEF,kFAAkF;YAClF,MAAM,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;YAE5B,MAAM,IAAA,0DAA0B,EAAC,aAAa,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;gBAChE,MAAM,CAAC,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,MAAM,+BAA+B,CAAC;gBACpC,IAAI,EAAE,aAAa;gBACnB,cAAc;gBACd,0BAA0B;gBAE1B,gBAAgB,EAAE,gBAAgB;gBAClC,sBAAsB,EAAE,sBAAsB;gBAC9C,SAAS;gBACT,eAAe,EAAE,gDAAwC;aAC1D,CAAC,CAAC;YAEH,sEAAsE;YACtE,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACjE,MAAM,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE;gBACtC,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAC;YACH,MAAM,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,kBAAkB,GAAG,IAAI,CAAC;YAE1B,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACrB;gBAAS;YACR,yBAAyB,CAAC,OAAO,EAAE,CAAC;SACrC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,IAAA,0DAA0B,EAC9B,aAAa,EACb,6BAA6B,CAC9B,CAAC;IAEF,MAAM,+BAA+B,CAAC;QACpC,IAAI,EAAE,aAAa;QACnB,cAAc;QACd,0BAA0B;QAE1B,gBAAgB;QAChB,sBAAsB;QACtB,SAAS;QACT,eAAe,EAAE,2CAAmC;KACrD,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,IAAI,CACtB,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,yDAA6C,CACxD,CAAC;IAEF,2DAA2D;IAC3D,MAAM,yBAAyB,CAAC,OAAO,CAAC;IAExC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE;QAC7B,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;KAC7B;IACD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,EAAE;QAC/C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACnD;IAED,IAAI,CAAC,4BAA4B,EAAE;QACjC,IAAA,kDAAkC,GAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;KACnD;IAED,8BAA8B;IAC9B,MAAM,CAAC,IAAI,CACT,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;QACrC,IAAI;QACJ,eAAK,CAAC,KAAK,CAAC,IAAI,CACd,wEAAwE,CACzE,CACJ,CAAC;AACJ,CAAC,CAAC;AA3JW,QAAA,sBAAsB,0BA2JjC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAU,EAAE,MAAc,EAAE,EAAE;IAChE,mFAAmF;IACnF,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;;QAC3D,MAAM,oBAAoB,GAAG,MAAC,MAAyB,CAAC,YAAY,0CAChE,oBAAoB,CAAC;QACzB,IAAI,oBAAoB,IAAI,IAAI,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,OAAO,oBAAoB,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"record-login-flow.js","sourceRoot":"","sources":["../../src/record/record-login-flow.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import { RecordSessionOptions } from "../types";
2
- export declare const recordSession: ({ recordingToken, appCommitHash, devTools, bypassCSP, recordingSnippetManualInit, width, height, uploadIntervalMs, incognito, cookieDir, debugLogger, onDetectedSession, captureHttpOnlyCookies, appUrl, }: RecordSessionOptions) => Promise<void>;
2
+ export declare const recordSession: ({ recordingToken, appCommitHash, devTools, bypassCSP, recordingSnippet, width, height, uploadIntervalMs, incognito, cookieDir, debugLogger, onDetectedSession, captureHttpOnlyCookies, appUrl, }: RecordSessionOptions) => Promise<void>;
@@ -35,7 +35,7 @@ const puppeteer_1 = __importStar(require("puppeteer"));
35
35
  const constants_1 = require("./constants");
36
36
  const record_utils_1 = require("./record.utils");
37
37
  const COOKIE_FILENAME = "cookies.json";
38
- const recordSession = async ({ recordingToken, appCommitHash, devTools, bypassCSP, recordingSnippetManualInit, width, height, uploadIntervalMs, incognito, cookieDir, debugLogger, onDetectedSession, captureHttpOnlyCookies, appUrl, }) => {
38
+ const recordSession = async ({ recordingToken, appCommitHash, devTools, bypassCSP, recordingSnippet, width, height, uploadIntervalMs, incognito, cookieDir, debugLogger, onDetectedSession, captureHttpOnlyCookies, appUrl, }) => {
39
39
  const logger = loglevel_1.default.getLogger(common_1.METICULOUS_LOGGER_NAME);
40
40
  logger.info("Opening browser...");
41
41
  debugLogger === null || debugLogger === void 0 ? void 0 : debugLogger.log("recordSession options:");
@@ -44,7 +44,7 @@ const recordSession = async ({ recordingToken, appCommitHash, devTools, bypassCS
44
44
  appCommitHash,
45
45
  devTools,
46
46
  bypassCSP,
47
- recordingSnippetManualInit,
47
+ recordingSnippet,
48
48
  width,
49
49
  height,
50
50
  uploadIntervalMs,
@@ -104,7 +104,7 @@ const recordSession = async ({ recordingToken, appCommitHash, devTools, bypassCS
104
104
  page,
105
105
  recordingToken,
106
106
  appCommitHash,
107
- recordingSnippetManualInit,
107
+ recordingSnippet,
108
108
  uploadIntervalMs: uploadIntervalMs || constants_1.DEFAULT_UPLOAD_INTERVAL_MS,
109
109
  captureHttpOnlyCookies: captureHttpOnlyCookies !== null && captureHttpOnlyCookies !== void 0 ? captureHttpOnlyCookies : true,
110
110
  });
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record/record.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAyD;AACzD,+BAA4B;AAC5B,qDAAkE;AAClE,wDAA2B;AAC3B,uDAAsE;AAEtE,2CAKqB;AACrB,iDAA+C;AAE/C,MAAM,eAAe,GAAG,cAAc,CAAC;AAEhC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,cAAc,EACd,aAAa,EACb,QAAQ,EACR,SAAS,EACT,0BAA0B,EAC1B,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,GACe,EAAE,EAAE;IACzB,MAAM,MAAM,GAAG,kBAAG,CAAC,SAAS,CAAC,+BAAsB,CAAC,CAAC;IAErD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAElC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC3C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;QACrB,cAAc;QACd,aAAa;QACb,QAAQ;QACR,SAAS;QACT,0BAA0B;QAC1B,KAAK;QACL,MAAM;QACN,gBAAgB;QAChB,SAAS;QACT,SAAS;QACT,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;KACvC,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE;QACf,MAAM,YAAY,GAAG;YACnB,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;YACrC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACjC,gCAAgC,EAC9B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;YACjD,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YAC/D,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACnD,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YAC/D,uBAAuB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YAC/D,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACnD,uCAAuC,EACrC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC;SACzD,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAI,mBAAkC,CAAC,cAAc,EAAE,CAAC;QACtE,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC3B;IAED,MAAM,eAAe,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnE,MAAM,OAAO,GAAY,MAAM,IAAA,kBAAM,EAAC;QACpC,eAAe;QACf,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,QAAQ,IAAI,KAAK;QAC3B,IAAI,EAAE,4CAAgC;KACvC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS;QACvB,CAAC,CAAC,MAAM,OAAO,CAAC,6BAA6B,EAAE;QAC/C,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAEpC,CAAC,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/D,IAAI,CAAC,KAAK,EAAE,CACb,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC,2BAA2B,CAAC,yCAA6B,CAAC,CAAC,CAAC,YAAY;IAE7E,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,gDAAgD;IAChD,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;QAC3B,MAAM,IAAA,gBAAK,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAC/B,IAAA,WAAI,EAAC,SAAS,EAAE,eAAe,CAAC,EAChC,OAAO,CACR,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,UAAU,EAAE;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC;SAClC;KACF;IAED,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACjD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,MAAM,IAAA,4BAAa,EAAC;QAClB,IAAI;QACJ,cAAc;QACd,aAAa;QACb,0BAA0B;QAC1B,gBAAgB,EAAE,gBAAgB,IAAI,sCAA0B;QAChE,sBAAsB,EAAE,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GAAI,IAAI;KACvD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,8CAAkC,CAAC,CAAC;IAExD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE7B,wCAAwC;IACxC,qDAAqD;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,IAAI;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CACnC,yCAAyC,CAC1C,CAAC;YACF,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE;gBAC3D,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,iBAAiB,EAAE;oBACrB,iBAAiB,CAAC,SAAS,CAAC,CAAC;iBAC9B;aACF;YACD,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,IAAA,oBAAS,EACb,IAAA,WAAI,EAAC,SAAS,EAAE,eAAe,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAChC,OAAO,CACR,CAAC;aACH;SACF;QAAC,OAAO,KAAK,EAAE;YACd,kDAAkD;YAClD,IACE,KAAK,YAAY,KAAK;gBACtB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC,EAC3D;gBACA,OAAO;aACR;YACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,MAAM,YAAY,CAAC;IAEnB,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC,CAAC;AAxJW,QAAA,aAAa,iBAwJxB"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record/record.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { Page } from "puppeteer";
2
- export declare function bootstrapPage({ page, recordingToken, appCommitHash, recordingSnippetManualInit, uploadIntervalMs, captureHttpOnlyCookies, recordingSource, }: {
2
+ export declare function bootstrapPage({ page, recordingToken, appCommitHash, recordingSnippet, uploadIntervalMs, captureHttpOnlyCookies, recordingSource, }: {
3
3
  page: Page;
4
4
  recordingToken: string;
5
5
  appCommitHash: string;
6
- recordingSnippetManualInit: string;
6
+ recordingSnippet: string;
7
7
  uploadIntervalMs: number | null;
8
8
  captureHttpOnlyCookies: boolean;
9
9
  recordingSource?: string;
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bootstrapPage = void 0;
4
4
  const promises_1 = require("fs/promises");
5
- const constants_1 = require("./constants");
6
5
  const provide_cookie_access_1 = require("./utils/provide-cookie-access");
6
+ const wrap_in_should_record_condition_1 = require("./utils/wrap-in-should-record-condition");
7
7
  // Setup Meticulous recording
8
- async function bootstrapPage({ page, recordingToken, appCommitHash, recordingSnippetManualInit, uploadIntervalMs, captureHttpOnlyCookies, recordingSource = "cli", }) {
9
- const recordingSnippetFile = await (0, promises_1.readFile)(recordingSnippetManualInit, "utf8");
8
+ async function bootstrapPage({ page, recordingToken, appCommitHash, recordingSnippet, uploadIntervalMs, captureHttpOnlyCookies, recordingSource = "cli", }) {
9
+ const recordingSnippetFile = await (0, promises_1.readFile)(recordingSnippet, "utf8");
10
10
  await page.evaluateOnNewDocument(({ recordingToken, appCommitHash, recordingSource, uploadIntervalMs }) => {
11
11
  const recorderWindow = window;
12
12
  recorderWindow["METICULOUS_RECORDING_TOKEN"] = recordingToken;
@@ -18,37 +18,10 @@ async function bootstrapPage({ page, recordingToken, appCommitHash, recordingSni
18
18
  recorderWindow["METICULOUS_UPLOAD_INTERVAL_MS"] = uploadIntervalMs;
19
19
  }
20
20
  }, { recordingToken, appCommitHash, recordingSource, uploadIntervalMs });
21
- await page.evaluateOnNewDocument(recordingSnippetFile);
22
21
  if (captureHttpOnlyCookies) {
23
22
  await (0, provide_cookie_access_1.provideCookieAccess)(page);
24
23
  }
25
- await page.evaluateOnNewDocument((forbiddenUrls) => {
26
- var _a;
27
- /**
28
- * The recorder crashes if it tries to initialize on a chrome-error page
29
- * (Chrome e.g. uses this page for HTTP basic auth popups before the user has authenticated)
30
- *
31
- * This is because the recorder tries inserting an iframe into the head, and this crashes Chrome
32
- * if done on a chrome-error page.
33
- */
34
- const FORBIDDEN_PROTOCOLS = ["chrome://", "chrome-error://"];
35
- const url = window.document.location.toString();
36
- // We only record in the root frame (not in sub-iframes), and we don't record on the built in start pages,
37
- // or on chrome:// and chrome-error:// pages
38
- if (window === window.parent &&
39
- !forbiddenUrls.includes(url) &&
40
- !FORBIDDEN_PROTOCOLS.some((protocol) => url.startsWith(protocol))) {
41
- const initRecorder = (_a = window.__meticulous) === null || _a === void 0 ? void 0 : _a.initialiseRecorder;
42
- if (!initRecorder) {
43
- throw new Error("window.__meticulous.initialiseRecorder is null or undefined: cannot record session on page");
44
- }
45
- initRecorder();
46
- }
47
- }, [
48
- constants_1.INITIAL_METICULOUS_RECORD_DOCS_URL,
49
- constants_1.INITIAL_METICULOUS_RECORD_LOGIN_FLOW_DOCS_URL,
50
- constants_1.METICULOUS_RECORD_LOGIN_FLOW_SAVING_DOCS_URL,
51
- ]);
24
+ await page.evaluateOnNewDocument((0, wrap_in_should_record_condition_1.wrapInShouldRecordCondition)(recordingSnippetFile));
52
25
  }
53
26
  exports.bootstrapPage = bootstrapPage;
54
27
  //# sourceMappingURL=record.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record.utils.js","sourceRoot":"","sources":["../../src/record/record.utils.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,2CAIqB;AACrB,yEAAoE;AAepE,6BAA6B;AACtB,KAAK,UAAU,aAAa,CAAC,EAClC,IAAI,EACJ,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAAG,KAAK,GASxB;IACC,MAAM,oBAAoB,GAAG,MAAM,IAAA,mBAAQ,EACzC,0BAA0B,EAC1B,MAAM,CACP,CAAC;IAEF,MAAM,IAAI,CAAC,qBAAqB,CAC9B,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACvE,MAAM,cAAc,GAAG,MAAkC,CAAC;QAC1D,cAAc,CAAC,4BAA4B,CAAC,GAAG,cAAc,CAAC;QAC9D,cAAc,CAAC,4BAA4B,CAAC,GAAG,aAAa,CAAC;QAC7D,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;QACpD,cAAc,CAAC,6BAA6B,CAAC,GAAG,eAAe,CAAC;QAChE,cAAc,CAAC,0CAA0C,CAAC,GAAG,IAAI,CAAC;QAElE,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC5B,cAAc,CAAC,+BAA+B,CAAC,GAAG,gBAAgB,CAAC;SACpE;IACH,CAAC,EACD,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,CACrE,CAAC;IACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IACvD,IAAI,sBAAsB,EAAE;QAC1B,MAAM,IAAA,2CAAmB,EAAC,IAAI,CAAC,CAAC;KACjC;IACD,MAAM,IAAI,CAAC,qBAAqB,CAC9B,CAAC,aAAa,EAAE,EAAE;;QAChB;;;;;;WAMG;QACH,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEhD,0GAA0G;QAC1G,4CAA4C;QAC5C,IACE,MAAM,KAAK,MAAM,CAAC,MAAM;YACxB,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5B,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EACjE;YACA,MAAM,YAAY,GAAG,MAAC,MAAmC,CAAC,YAAY,0CAClE,kBAAkB,CAAC;YACvB,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;aACH;YAED,YAAY,EAAE,CAAC;SAChB;IACH,CAAC,EACD;QACE,8CAAkC;QAClC,yDAA6C;QAC7C,wDAA4C;KAC7C,CACF,CAAC;AACJ,CAAC;AA9ED,sCA8EC"}
1
+ {"version":3,"file":"record.utils.js","sourceRoot":"","sources":["../../src/record/record.utils.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,yEAAoE;AACpE,6FAAsF;AAetF,6BAA6B;AACtB,KAAK,UAAU,aAAa,CAAC,EAClC,IAAI,EACJ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAAG,KAAK,GASxB;IACC,MAAM,oBAAoB,GAAG,MAAM,IAAA,mBAAQ,EAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAEtE,MAAM,IAAI,CAAC,qBAAqB,CAC9B,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACvE,MAAM,cAAc,GAAG,MAAkC,CAAC;QAC1D,cAAc,CAAC,4BAA4B,CAAC,GAAG,cAAc,CAAC;QAC9D,cAAc,CAAC,4BAA4B,CAAC,GAAG,aAAa,CAAC;QAC7D,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC;QACpD,cAAc,CAAC,6BAA6B,CAAC,GAAG,eAAe,CAAC;QAChE,cAAc,CAAC,0CAA0C,CAAC,GAAG,IAAI,CAAC;QAElE,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC5B,cAAc,CAAC,+BAA+B,CAAC,GAAG,gBAAgB,CAAC;SACpE;IACH,CAAC,EACD,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,CACrE,CAAC;IAEF,IAAI,sBAAsB,EAAE;QAC1B,MAAM,IAAA,2CAAmB,EAAC,IAAI,CAAC,CAAC;KACjC;IAED,MAAM,IAAI,CAAC,qBAAqB,CAC9B,IAAA,6DAA2B,EAAC,oBAAoB,CAAC,CAClD,CAAC;AACJ,CAAC;AA1CD,sCA0CC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const wrap_in_should_record_condition_1 = require("../wrap-in-should-record-condition");
4
+ describe("wrapInShouldRecordCondition", () => {
5
+ it("adds the desired condition and keeps the source map comment as the last line", () => {
6
+ expect((0, wrap_in_should_record_condition_1.wrapInShouldRecordCondition)([
7
+ "console.log('Hello World')",
8
+ "//# sourceMappingURL=main.bundle.js.map",
9
+ "",
10
+ ].join("\n"))).toMatchInlineSnapshot(`
11
+ "if (window === window.parent && ![\\"https://app.meticulous.ai/docs/recording-a-test\\",\\"https://app.meticulous.ai/docs/recording-a-login-flow\\",\\"https://app.meticulous.ai/docs/recording-a-login-flow-saving\\"].includes(window.document.location.toString()) && ![\\"chrome://\\",\\"chrome-error://\\"].some((protocol) => window.document.location.toString().startsWith(protocol))) {
12
+ console.log('Hello World')
13
+ }
14
+ //# sourceMappingURL=main.bundle.js.map
15
+ "
16
+ `);
17
+ });
18
+ });
19
+ //# sourceMappingURL=wrap-in-should-record-condition.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-in-should-record-condition.spec.js","sourceRoot":"","sources":["../../../../src/record/utils/__tests__/wrap-in-should-record-condition.spec.ts"],"names":[],"mappings":";;AAAA,wFAAiF;AAEjF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,CACJ,IAAA,6DAA2B,EACzB;YACE,4BAA4B;YAC5B,yCAAyC;YACzC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CACF,CAAC,qBAAqB,CAAC;;;;;;KAMvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * PollyJS seems to have some logic that is outside of a function body, and so executed
3
+ * as soon as the script is loaded. This causes Aw Snap errors in Chrome when the script
4
+ * is injected too early inside certain iFrames. To avoid this we wrap the script in a condition to
5
+ * prevent it executing at all in certain contexts.
6
+ *
7
+ * This isn't ideal, but unfortunately there's not a way to run page.evaluateOnNewDocument conditionally
8
+ * (we could listen for frames being attached, and then inject the script, though this has
9
+ * some complexities)
10
+ */
11
+ export declare const wrapInShouldRecordCondition: (recorderCode: string) => string;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapInShouldRecordCondition = void 0;
4
+ const constants_1 = require("../constants");
5
+ /**
6
+ * PollyJS seems to have some logic that is outside of a function body, and so executed
7
+ * as soon as the script is loaded. This causes Aw Snap errors in Chrome when the script
8
+ * is injected too early inside certain iFrames. To avoid this we wrap the script in a condition to
9
+ * prevent it executing at all in certain contexts.
10
+ *
11
+ * This isn't ideal, but unfortunately there's not a way to run page.evaluateOnNewDocument conditionally
12
+ * (we could listen for frames being attached, and then inject the script, though this has
13
+ * some complexities)
14
+ */
15
+ const wrapInShouldRecordCondition = (recorderCode) => wrapScriptInCondition(recorderCode, constructShouldRecordCondition());
16
+ exports.wrapInShouldRecordCondition = wrapInShouldRecordCondition;
17
+ const constructShouldRecordCondition = () => {
18
+ // We don't record on the built in start pages
19
+ const FORBIDDEN_URLS = [
20
+ constants_1.INITIAL_METICULOUS_RECORD_DOCS_URL,
21
+ constants_1.INITIAL_METICULOUS_RECORD_LOGIN_FLOW_DOCS_URL,
22
+ constants_1.METICULOUS_RECORD_LOGIN_FLOW_SAVING_DOCS_URL,
23
+ ];
24
+ /**
25
+ * The recorder crashes if it tries to initialize on a chrome-error page
26
+ * (Chrome e.g. uses this page for HTTP basic auth popups before the user has authenticated)
27
+ *
28
+ * This is because the recorder tries inserting an iframe into the head, and this crashes Chrome
29
+ * if done on a chrome-error page.
30
+ */
31
+ const FORBIDDEN_PROTOCOLS = ["chrome://", "chrome-error://"];
32
+ const shouldRecordFrame =
33
+ // We only record in the root frame (not in sub-iframes)
34
+ `window === window.parent` +
35
+ ` && !${JSON.stringify(FORBIDDEN_URLS)}.includes(window.document.location.toString())` +
36
+ ` && !${JSON.stringify(FORBIDDEN_PROTOCOLS)}.some((protocol) => window.document.location.toString().startsWith(protocol))`;
37
+ return shouldRecordFrame;
38
+ };
39
+ /**
40
+ * Wraps the script in a condition while preserving the
41
+ * source map comment at the end of the file if it exists.
42
+ */
43
+ const wrapScriptInCondition = (scriptContents, condition) => {
44
+ const lines = scriptContents.split("\n");
45
+ const { nonEmptyLines, trailingEmptyLines } = splitOutTrailingEmptyLines(lines);
46
+ const initialLines = nonEmptyLines.slice(0, -1);
47
+ const lastNonEmptyLine = nonEmptyLines[nonEmptyLines.length - 1];
48
+ if (lastNonEmptyLine === null || lastNonEmptyLine === void 0 ? void 0 : lastNonEmptyLine.startsWith("//#")) {
49
+ // This is the source map comment, we want to keep it at the end
50
+ return [
51
+ `if (${condition}) {`,
52
+ ...initialLines,
53
+ `}`,
54
+ lastNonEmptyLine,
55
+ ...trailingEmptyLines,
56
+ ].join("\n");
57
+ }
58
+ else {
59
+ return [
60
+ `if (${condition}) {`,
61
+ ...initialLines,
62
+ lastNonEmptyLine,
63
+ `}`,
64
+ ...trailingEmptyLines,
65
+ ].join("\n");
66
+ }
67
+ };
68
+ const splitOutTrailingEmptyLines = (lines) => {
69
+ const trailingEmptyLines = [];
70
+ const nonEmptyLines = [];
71
+ [...lines.reverse()].forEach((line) => {
72
+ if (line.trim() === "" && nonEmptyLines.length === 0) {
73
+ trailingEmptyLines.push(line);
74
+ }
75
+ else {
76
+ nonEmptyLines.push(line);
77
+ }
78
+ });
79
+ return {
80
+ nonEmptyLines: nonEmptyLines.reverse(),
81
+ trailingEmptyLines: trailingEmptyLines.reverse(),
82
+ };
83
+ };
84
+ //# sourceMappingURL=wrap-in-should-record-condition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-in-should-record-condition.js","sourceRoot":"","sources":["../../../src/record/utils/wrap-in-should-record-condition.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB;;;;;;;;;GASG;AACI,MAAM,2BAA2B,GAAG,CAAC,YAAoB,EAAE,EAAE,CAClE,qBAAqB,CAAC,YAAY,EAAE,8BAA8B,EAAE,CAAC,CAAC;AAD3D,QAAA,2BAA2B,+BACgC;AAExE,MAAM,8BAA8B,GAAG,GAAG,EAAE;IAC1C,8CAA8C;IAC9C,MAAM,cAAc,GAAG;QACrB,8CAAkC;QAClC,yDAA6C;QAC7C,wDAA4C;KAC7C,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAE7D,MAAM,iBAAiB;IACrB,wDAAwD;IACxD,0BAA0B;QAC1B,QAAQ,IAAI,CAAC,SAAS,CACpB,cAAc,CACf,gDAAgD;QACjD,QAAQ,IAAI,CAAC,SAAS,CACpB,mBAAmB,CACpB,+EAA+E,CAAC;IAEnF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,cAAsB,EAAE,SAAiB,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GACzC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAC,KAAK,CAAC,EAAE;QACvC,gEAAgE;QAChE,OAAO;YACL,OAAO,SAAS,KAAK;YACrB,GAAG,YAAY;YACf,GAAG;YACH,gBAAgB;YAChB,GAAG,kBAAkB;SACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACd;SAAM;QACL,OAAO;YACL,OAAO,SAAS,KAAK;YACrB,GAAG,YAAY;YACf,gBAAgB;YAChB,GAAG;YACH,GAAG,kBAAkB;SACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,KAAe,EAAE,EAAE;IACrD,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM;YACL,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;QACtC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,EAAE;KACjD,CAAC;AACJ,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@ export interface RecordSessionOptions {
4
4
  appCommitHash: string;
5
5
  devTools?: boolean | null | undefined;
6
6
  bypassCSP?: boolean | null | undefined;
7
- recordingSnippetManualInit: string;
7
+ recordingSnippet: string;
8
8
  width?: number | null | undefined;
9
9
  height?: number | null | undefined;
10
10
  uploadIntervalMs?: number | null | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/record",
3
- "version": "2.107.0",
3
+ "version": "2.109.0",
4
4
  "description": "The Meticulous toolkit to record user sessions",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -16,11 +16,12 @@
16
16
  "lint": "eslint src --ext=ts,tsx,js --cache",
17
17
  "lint:commit": "eslint --cache $(git diff --relative --name-only --diff-filter=ACMRTUXB master | grep -E \"(.js$|.ts$|.tsx$)\")",
18
18
  "lint:fix": "eslint src --ext=ts,tsx,js --cache --fix",
19
- "depcheck": "depcheck --ignore-patterns=dist"
19
+ "depcheck": "depcheck --ignore-patterns=dist",
20
+ "test": "jest"
20
21
  },
21
22
  "dependencies": {
22
- "@alwaysmeticulous/api": "^2.107.0",
23
- "@alwaysmeticulous/common": "^2.107.0",
23
+ "@alwaysmeticulous/api": "^2.109.0",
24
+ "@alwaysmeticulous/common": "^2.109.0",
24
25
  "chalk": "^4.1.2",
25
26
  "loglevel": "^1.8.0",
26
27
  "puppeteer": "21.9.0"
@@ -42,5 +43,22 @@
42
43
  "bugs": {
43
44
  "url": "https://github.com/alwaysmeticulous/meticulous-sdk/issues"
44
45
  },
45
- "gitHead": "06535e9f7c0e28b0a552b89ef2ffe66f39976f99"
46
+ "jest": {
47
+ "moduleFileExtensions": [
48
+ "js",
49
+ "json",
50
+ "ts"
51
+ ],
52
+ "rootDir": "src",
53
+ "testRegex": ".*\\.spec\\.ts$",
54
+ "transform": {
55
+ "^.+\\.(t|j)s$": "ts-jest"
56
+ },
57
+ "collectCoverageFrom": [
58
+ "**/*.(t|j)s"
59
+ ],
60
+ "coverageDirectory": "../coverage",
61
+ "testEnvironment": "node"
62
+ },
63
+ "gitHead": "80f4a08d29a9f3acbdb0900a102564bbad2220b9"
46
64
  }