@hanivanrizky/nestjs-browser-action 0.1.0 → 0.2.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.
Files changed (47) hide show
  1. package/README.md +30 -0
  2. package/dist/constants/browser-action.constants.d.ts +9 -0
  3. package/dist/constants/browser-action.constants.js +10 -1
  4. package/dist/constants/browser-action.constants.js.map +1 -1
  5. package/dist/helpers/action-helpers.service.d.ts +0 -1
  6. package/dist/helpers/action-helpers.service.js +7 -9
  7. package/dist/helpers/action-helpers.service.js.map +1 -1
  8. package/dist/helpers/delay.util.d.ts +1 -0
  9. package/dist/helpers/delay.util.js +7 -0
  10. package/dist/helpers/delay.util.js.map +1 -0
  11. package/dist/helpers/index.d.ts +3 -0
  12. package/dist/helpers/index.js +3 -0
  13. package/dist/helpers/index.js.map +1 -1
  14. package/dist/helpers/string.util.d.ts +1 -0
  15. package/dist/helpers/string.util.js +7 -0
  16. package/dist/helpers/string.util.js.map +1 -0
  17. package/dist/interfaces/browser-action-options.d.ts +15 -7
  18. package/dist/interfaces/workflow-options.d.ts +2 -1
  19. package/dist/pipes/date-format.pipe.js +3 -8
  20. package/dist/pipes/date-format.pipe.js.map +1 -1
  21. package/dist/pipes/regex-extract.pipe.d.ts +1 -0
  22. package/dist/pipes/regex-extract.pipe.js +9 -4
  23. package/dist/pipes/regex-extract.pipe.js.map +1 -1
  24. package/dist/pipes/regex-replace.pipe.d.ts +2 -1
  25. package/dist/pipes/regex-replace.pipe.js +8 -11
  26. package/dist/pipes/regex-replace.pipe.js.map +1 -1
  27. package/dist/pipes/remove-currency-symbol.pipe.d.ts +1 -0
  28. package/dist/pipes/remove-currency-symbol.pipe.js +2 -25
  29. package/dist/pipes/remove-currency-symbol.pipe.js.map +1 -1
  30. package/dist/pipes/remove-line-breaks.pipe.js +2 -3
  31. package/dist/pipes/remove-line-breaks.pipe.js.map +1 -1
  32. package/dist/pipes/remove-special-chars.pipe.d.ts +1 -0
  33. package/dist/pipes/remove-special-chars.pipe.js +10 -7
  34. package/dist/pipes/remove-special-chars.pipe.js.map +1 -1
  35. package/dist/pipes/sanitize-text.pipe.d.ts +3 -0
  36. package/dist/pipes/sanitize-text.pipe.js +54 -41
  37. package/dist/pipes/sanitize-text.pipe.js.map +1 -1
  38. package/dist/services/browser-pool.service.d.ts +3 -0
  39. package/dist/services/browser-pool.service.js +65 -13
  40. package/dist/services/browser-pool.service.js.map +1 -1
  41. package/dist/services/cleansing.service.d.ts +0 -1
  42. package/dist/services/cleansing.service.js +1 -11
  43. package/dist/services/cleansing.service.js.map +1 -1
  44. package/dist/services/cookie.service.js +27 -28
  45. package/dist/services/cookie.service.js.map +1 -1
  46. package/dist/tsconfig.build.tsbuildinfo +1 -1
  47. package/package.json +19 -1
@@ -13,26 +13,29 @@ exports.RemoveSpecialCharsPipe = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const cleansing_pipe_1 = require("./cleansing-pipe");
15
15
  const cleansing_type_enum_1 = require("../enums/cleansing-type.enum");
16
+ const string_util_1 = require("../helpers/string.util");
16
17
  class RemoveSpecialCharsPipe extends cleansing_pipe_1.CleansingPipe {
17
18
  type = cleansing_type_enum_1.CleansingType.REMOVE_SPECIAL_CHARS;
18
19
  allowedChars;
20
+ _regex;
19
21
  exec(value) {
20
22
  if (typeof value !== 'string') {
21
23
  return value;
22
24
  }
23
25
  let result = value;
24
26
  if (this.allowedChars) {
25
- const escaped = this.allowedChars
26
- .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
27
- .replace(/-/g, '\\-');
28
- const regex = new RegExp(`[^a-zA-Z0-9${escaped}]`, 'g');
29
- result = result.replace(regex, '');
27
+ if (!this._regex) {
28
+ const escaped = this.allowedChars
29
+ .replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
30
+ .replace(/-/g, '\\-');
31
+ this._regex = new RegExp(`[^a-zA-Z0-9${escaped}]`, 'g');
32
+ }
33
+ result = result.replace(this._regex, '');
30
34
  }
31
35
  else {
32
36
  result = result.replace(/[^\p{L}\p{N}\s]/gu, '');
33
37
  }
34
- result = result.replace(/\s+/g, ' ').trim();
35
- return result;
38
+ return (0, string_util_1.normalizeWhitespace)(result);
36
39
  }
37
40
  }
38
41
  exports.RemoveSpecialCharsPipe = RemoveSpecialCharsPipe;
@@ -1 +1 @@
1
- {"version":3,"file":"remove-special-chars.pipe.js","sourceRoot":"","sources":["../../src/pipes/remove-special-chars.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AACvD,qDAAiD;AACjD,sEAA6D;AAK7D,MAAa,sBAAuB,SAAQ,8BAA6B;IACvE,IAAI,GAAG,mCAAa,CAAC,oBAAoB,CAAC;IAI1C,YAAY,CAAU;IAEtB,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;iBAC9B,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;iBACtC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAExB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YAGN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAGD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjCD,wDAiCC;AA5BC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DACW"}
1
+ {"version":3,"file":"remove-special-chars.pipe.js","sourceRoot":"","sources":["../../src/pipes/remove-special-chars.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAuD;AACvD,qDAAiD;AACjD,sEAA6D;AAC7D,wDAA6D;AAK7D,MAAa,sBAAuB,SAAQ,8BAA6B;IACvE,IAAI,GAAG,mCAAa,CAAC,oBAAoB,CAAC;IAI1C,YAAY,CAAU;IAEd,MAAM,CAAU;IAExB,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;qBAC9B,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;qBACtC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;IACrC,CAAC;CACF;AA9BD,wDA8BC;AAzBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DACW"}
@@ -2,6 +2,9 @@ import { CleansingPipe } from './cleansing-pipe';
2
2
  import { CleansingType } from '../enums/cleansing-type.enum';
3
3
  export declare class SanitizeTextPipe extends CleansingPipe<string, string> {
4
4
  type: CleansingType;
5
+ private static readonly TAG_PAIR_REGEXES;
6
+ private static readonly TAG_SELF_CLOSING_REGEXES;
7
+ private static readonly EVENT_HANDLER_REGEXES;
5
8
  preserveEntities?: boolean;
6
9
  exec(value: string): string;
7
10
  }
@@ -13,57 +13,70 @@ exports.SanitizeTextPipe = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  const cleansing_pipe_1 = require("./cleansing-pipe");
15
15
  const cleansing_type_enum_1 = require("../enums/cleansing-type.enum");
16
+ const string_util_1 = require("../helpers/string.util");
16
17
  class SanitizeTextPipe extends cleansing_pipe_1.CleansingPipe {
17
18
  type = cleansing_type_enum_1.CleansingType.SANITIZE_TEXT;
19
+ static TAG_PAIR_REGEXES = [
20
+ 'script',
21
+ 'iframe',
22
+ 'object',
23
+ 'embed',
24
+ 'applet',
25
+ 'form',
26
+ 'input',
27
+ 'button',
28
+ 'select',
29
+ 'textarea',
30
+ 'meta',
31
+ 'link',
32
+ 'style',
33
+ ].map((tag) => new RegExp(`<${tag}[^>]*>.*?<\\/${tag}>`, 'gi'));
34
+ static TAG_SELF_CLOSING_REGEXES = [
35
+ 'script',
36
+ 'iframe',
37
+ 'object',
38
+ 'embed',
39
+ 'applet',
40
+ 'form',
41
+ 'input',
42
+ 'button',
43
+ 'select',
44
+ 'textarea',
45
+ 'meta',
46
+ 'link',
47
+ 'style',
48
+ ].map((tag) => new RegExp(`<${tag}[^>]*\\s*\\/?>`, 'gi'));
49
+ static EVENT_HANDLER_REGEXES = [
50
+ 'onclick',
51
+ 'onerror',
52
+ 'onload',
53
+ 'onmouseover',
54
+ 'onmouseout',
55
+ 'onfocus',
56
+ 'onblur',
57
+ 'onchange',
58
+ 'onsubmit',
59
+ 'onreset',
60
+ 'onselect',
61
+ 'onkeydown',
62
+ 'onkeyup',
63
+ 'onkeypress',
64
+ ].map((h) => new RegExp(`${h}=\\S*`, 'gi'));
18
65
  preserveEntities;
19
66
  exec(value) {
20
67
  if (typeof value !== 'string' || !value) {
21
68
  return value;
22
69
  }
23
70
  let result = value;
24
- const dangerousTags = [
25
- 'script',
26
- 'iframe',
27
- 'object',
28
- 'embed',
29
- 'applet',
30
- 'form',
31
- 'input',
32
- 'button',
33
- 'select',
34
- 'textarea',
35
- 'meta',
36
- 'link',
37
- 'style',
38
- ];
39
- dangerousTags.forEach((tag) => {
40
- const regex = new RegExp(`<${tag}[^>]*>.*?<\\/${tag}>`, 'gi');
71
+ for (const regex of SanitizeTextPipe.TAG_PAIR_REGEXES) {
41
72
  result = result.replace(regex, '');
42
- });
43
- dangerousTags.forEach((tag) => {
44
- const regex = new RegExp(`<${tag}[^>]*\\s*\\/?>`, 'gi');
73
+ }
74
+ for (const regex of SanitizeTextPipe.TAG_SELF_CLOSING_REGEXES) {
45
75
  result = result.replace(regex, '');
46
- });
47
- const eventHandlers = [
48
- 'onclick',
49
- 'onerror',
50
- 'onload',
51
- 'onmouseover',
52
- 'onmouseout',
53
- 'onfocus',
54
- 'onblur',
55
- 'onchange',
56
- 'onsubmit',
57
- 'onreset',
58
- 'onselect',
59
- 'onkeydown',
60
- 'onkeyup',
61
- 'onkeypress',
62
- ];
63
- eventHandlers.forEach((handler) => {
64
- const regex = new RegExp(`${handler}=\\S*`, 'gi');
76
+ }
77
+ for (const regex of SanitizeTextPipe.EVENT_HANDLER_REGEXES) {
65
78
  result = result.replace(regex, '');
66
- });
79
+ }
67
80
  result = result.replace(/javascript:/gi, '');
68
81
  result = result.replace(/<[^>]*>/g, '');
69
82
  if (!this.preserveEntities) {
@@ -74,7 +87,7 @@ class SanitizeTextPipe extends cleansing_pipe_1.CleansingPipe {
74
87
  .replace(/&quot;/g, '"')
75
88
  .replace(/&#39;/g, "'");
76
89
  }
77
- result = result.replace(/\s+/g, ' ').trim();
90
+ result = (0, string_util_1.normalizeWhitespace)(result);
78
91
  return result;
79
92
  }
80
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-text.pipe.js","sourceRoot":"","sources":["../../src/pipes/sanitize-text.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6C;AAC7C,qDAAiD;AACjD,sEAA6D;AAK7D,MAAa,gBAAiB,SAAQ,8BAA6B;IACjE,IAAI,GAAG,mCAAa,CAAC,aAAa,CAAC;IAGnC,gBAAgB,CAAW;IAE3B,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QAGnB,MAAM,aAAa,GAAG;YACpB,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,MAAM;YACN,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,UAAU;YACV,MAAM;YACN,MAAM;YACN,OAAO;SACR,CAAC;QAGF,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,gBAAgB,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAGH,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG;YACpB,SAAS;YACT,SAAS;YACT,QAAQ;YACR,aAAa;YACb,YAAY;YACZ,SAAS;YACT,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS;YACT,UAAU;YACV,WAAW;YACX,SAAS;YACT,YAAY;SACb,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,OAAO,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAGH,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAG7C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAGxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,GAAG,MAAM;iBACZ,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;iBACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;iBACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;QAGD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAtFD,4CAsFC;AAlFC;IADC,IAAA,4BAAU,GAAE;;0DACc"}
1
+ {"version":3,"file":"sanitize-text.pipe.js","sourceRoot":"","sources":["../../src/pipes/sanitize-text.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6C;AAC7C,qDAAiD;AACjD,sEAA6D;AAC7D,wDAA6D;AAK7D,MAAa,gBAAiB,SAAQ,8BAA6B;IACjE,IAAI,GAAG,mCAAa,CAAC,aAAa,CAAC;IAE3B,MAAM,CAAU,gBAAgB,GAAa;QACnD,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,MAAM;QACN,MAAM;QACN,OAAO;KACR,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,gBAAgB,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,MAAM,CAAU,wBAAwB,GAAa;QAC3D,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,UAAU;QACV,MAAM;QACN,MAAM;QACN,OAAO;KACR,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAElD,MAAM,CAAU,qBAAqB,GAAa;QACxD,SAAS;QACT,SAAS;QACT,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,SAAS;QACT,UAAU;QACV,WAAW;QACX,SAAS;QACT,YAAY;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAG5C,gBAAgB,CAAW;IAE3B,IAAI,CAAC,KAAa;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;YACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;YAC9D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,MAAM,GAAG,MAAM;iBACZ,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;iBACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;iBACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;iBACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;;AAvFH,4CAwFC;AAnCC;IADC,IAAA,4BAAU,GAAE;;0DACc"}
@@ -8,6 +8,7 @@ export declare class BrowserPoolService implements OnModuleInit, OnModuleDestroy
8
8
  private pool;
9
9
  private available;
10
10
  private inUse;
11
+ private disconnectListeners;
11
12
  private launchOptions;
12
13
  private minSize;
13
14
  private maxSize;
@@ -15,7 +16,9 @@ export declare class BrowserPoolService implements OnModuleInit, OnModuleDestroy
15
16
  constructor(options: BrowserActionOptions);
16
17
  onModuleInit(): Promise<void>;
17
18
  getLogLevel(): LogLevel;
19
+ private validateRemoteOptions;
18
20
  private createBrowser;
21
+ private connectWithRetry;
19
22
  acquire(): Promise<Browser>;
20
23
  private getNextAvailable;
21
24
  private waitForAvailable;
@@ -51,12 +51,14 @@ const common_1 = require("@nestjs/common");
51
51
  const puppeteer = __importStar(require("puppeteer"));
52
52
  const browser_action_constants_1 = require("../constants/browser-action.constants");
53
53
  const logger_util_1 = require("../helpers/logger.util");
54
+ const delay_util_1 = require("../helpers/delay.util");
54
55
  let BrowserPoolService = BrowserPoolService_1 = class BrowserPoolService {
55
56
  options;
56
57
  logger;
57
58
  pool = [];
58
59
  available = new Set();
59
60
  inUse = new Set();
61
+ disconnectListeners = new Map();
60
62
  launchOptions = {};
61
63
  minSize = browser_action_constants_1.DEFAULT_POOL_OPTIONS.min;
62
64
  maxSize = browser_action_constants_1.DEFAULT_POOL_OPTIONS.max;
@@ -69,29 +71,73 @@ let BrowserPoolService = BrowserPoolService_1 = class BrowserPoolService {
69
71
  this.launchOptions = this.options.launchOptions || {};
70
72
  this.minSize = this.options.pool?.min || browser_action_constants_1.DEFAULT_POOL_OPTIONS.min;
71
73
  this.maxSize = this.options.pool?.max || browser_action_constants_1.DEFAULT_POOL_OPTIONS.max;
74
+ this.validateRemoteOptions(this.options.remote);
72
75
  this.logger.log(`Initializing browser pool (min: ${this.minSize}, max: ${this.maxSize})`);
73
- for (let i = 0; i < this.minSize; i++) {
74
- const browser = await this.createBrowser();
76
+ const browsers = await Promise.all(Array.from({ length: this.minSize }, () => this.createBrowser()));
77
+ browsers.forEach((browser) => {
75
78
  this.pool.push(browser);
76
79
  this.available.add(browser);
77
- }
80
+ });
78
81
  this.logger.log(`Browser pool initialized with ${this.pool.length} browsers`);
79
82
  }
80
83
  getLogLevel() {
81
84
  return this.logger.getLogLevel();
82
85
  }
86
+ validateRemoteOptions(remote) {
87
+ if (!remote)
88
+ return;
89
+ const hasURL = !!remote.browserURL;
90
+ const hasWSEndpoint = !!remote.browserWSEndpoint;
91
+ if (hasURL && hasWSEndpoint) {
92
+ throw new Error(browser_action_constants_1.ERROR_MESSAGES.REMOTE_BOTH_PROVIDED);
93
+ }
94
+ if (!hasURL && !hasWSEndpoint) {
95
+ throw new Error(browser_action_constants_1.ERROR_MESSAGES.REMOTE_NONE_PROVIDED);
96
+ }
97
+ }
83
98
  async createBrowser() {
84
- try {
85
- const browser = await puppeteer.launch(this.launchOptions);
86
- browser.on('disconnected', () => {
87
- this.logger.log('Browser disconnected', 'warn');
88
- });
89
- return browser;
99
+ if (this.options.remote) {
100
+ return await this.connectWithRetry(this.options.remote);
101
+ }
102
+ const browser = await puppeteer.launch(this.launchOptions);
103
+ const disconnectHandler = () => {
104
+ this.logger.log('Browser disconnected', 'warn');
105
+ };
106
+ browser.on('disconnected', disconnectHandler);
107
+ this.disconnectListeners.set(browser, disconnectHandler);
108
+ return browser;
109
+ }
110
+ async connectWithRetry(remoteOptions) {
111
+ const { browserURL, browserWSEndpoint, retryMax = browser_action_constants_1.DEFAULT_REMOTE_OPTIONS.retryMax, retryDelay = browser_action_constants_1.DEFAULT_REMOTE_OPTIONS.retryDelay, } = remoteOptions;
112
+ const connectOptions = {};
113
+ if (browserURL) {
114
+ connectOptions.browserURL = browserURL;
115
+ }
116
+ else if (browserWSEndpoint) {
117
+ connectOptions.browserWSEndpoint = browserWSEndpoint;
90
118
  }
91
- catch (error) {
92
- this.logger.log('Failed to launch browser', 'error');
93
- throw error;
119
+ let lastError;
120
+ for (let attempt = 1; attempt <= retryMax; attempt++) {
121
+ try {
122
+ this.logger.log(`Connecting to remote Chrome (attempt ${attempt}/${retryMax})`, 'debug');
123
+ const browser = await puppeteer.connect(connectOptions);
124
+ const disconnectHandler = () => {
125
+ this.logger.log('Remote Chrome disconnected', 'warn');
126
+ };
127
+ browser.on('disconnected', disconnectHandler);
128
+ this.disconnectListeners.set(browser, disconnectHandler);
129
+ this.logger.log('Successfully connected to remote Chrome', 'debug');
130
+ return browser;
131
+ }
132
+ catch (error) {
133
+ lastError = error;
134
+ this.logger.log(`Connection attempt ${attempt}/${retryMax} failed: ${lastError.message}`, 'warn');
135
+ if (attempt < retryMax) {
136
+ await (0, delay_util_1.delay)(retryDelay);
137
+ }
138
+ }
94
139
  }
140
+ throw new Error(`Failed to connect to remote Chrome after ${retryMax} attempts: ${lastError?.message}`);
95
141
  }
96
142
  async acquire() {
97
143
  if (this.available.size === 0) {
@@ -122,7 +168,7 @@ let BrowserPoolService = BrowserPoolService_1 = class BrowserPoolService {
122
168
  clearInterval(checkInterval);
123
169
  resolve();
124
170
  }
125
- }, 100);
171
+ }, browser_action_constants_1.AVAILABILITY_CHECK_INTERVAL_MS);
126
172
  });
127
173
  }
128
174
  release(browser) {
@@ -141,6 +187,11 @@ let BrowserPoolService = BrowserPoolService_1 = class BrowserPoolService {
141
187
  this.logger.log('Closing all browsers in pool');
142
188
  await Promise.all(this.pool.map(async (browser) => {
143
189
  try {
190
+ const handler = this.disconnectListeners.get(browser);
191
+ if (handler) {
192
+ browser.off('disconnected', handler);
193
+ this.disconnectListeners.delete(browser);
194
+ }
144
195
  if (browser.isConnected()) {
145
196
  await browser.close();
146
197
  }
@@ -152,6 +203,7 @@ let BrowserPoolService = BrowserPoolService_1 = class BrowserPoolService {
152
203
  this.pool = [];
153
204
  this.available.clear();
154
205
  this.inUse.clear();
206
+ this.disconnectListeners.clear();
155
207
  }
156
208
  };
157
209
  exports.BrowserPoolService = BrowserPoolService;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-pool.service.js","sourceRoot":"","sources":["../../src/services/browser-pool.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-pool.service.js","sourceRoot":"","sources":["../../src/services/browser-pool.service.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,4 @@ export declare class CleansingService {
6
6
  cleanse<TInput = unknown, TOutput = unknown>(data: TInput, pipes: CleansingPipe<TInput, TOutput>[]): TOutput;
7
7
  cleanseWithProfile<T = unknown>(data: string, profileName: CleansingProfile): T;
8
8
  loadPipes(config: PipeConfig[]): CleansingPipe[];
9
- private loadPipesSync;
10
9
  }
@@ -44,7 +44,7 @@ let CleansingService = class CleansingService {
44
44
  }
45
45
  cleanseWithProfile(data, profileName) {
46
46
  const profilePipes = profiles_1.CLEANSING_PROFILES[profileName];
47
- return this.cleanse(data, this.loadPipesSync(profilePipes));
47
+ return this.cleanse(data, this.loadPipes(profilePipes));
48
48
  }
49
49
  loadPipes(config) {
50
50
  const pipes = [];
@@ -60,16 +60,6 @@ let CleansingService = class CleansingService {
60
60
  }
61
61
  return pipes;
62
62
  }
63
- loadPipesSync(config) {
64
- const pipes = [];
65
- for (const pipeConfig of config) {
66
- const PipeClass = this.PIPE_TYPE_MAP[pipeConfig.type];
67
- if (PipeClass) {
68
- pipes.push(new PipeClass());
69
- }
70
- }
71
- return pipes;
72
- }
73
63
  };
74
64
  exports.CleansingService = CleansingService;
75
65
  exports.CleansingService = CleansingService = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"cleansing.service.js","sourceRoot":"","sources":["../../src/services/cleansing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleansing.service.js","sourceRoot":"","sources":["../../src/services/cleansing.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,kDAA8C;AAC9C,4DAAuD;AACvD,oEAA8D;AAC9D,oEAA8D;AAC9D,oEAA+D;AAC/D,kFAA6E;AAC7E,8EAAwE;AACxE,gEAA2D;AAC3D,oEAA+D;AAC/D,oEAA+D;AAC/D,sFAAgF;AAChF,kFAA4E;AAC5E,0DAAqD;AACrD,gDAAuD;AAEvD,sEAA6D;AAItD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACV,aAAa,GAAG;QAC/B,CAAC,mCAAa,CAAC,IAAI,CAAC,EAAE,oBAAQ;QAC9B,CAAC,mCAAa,CAAC,SAAS,CAAC,EAAE,6BAAY;QACvC,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,qCAAgB;QAC/C,CAAC,mCAAa,CAAC,WAAW,CAAC,EAAE,iCAAc;QAC3C,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,qCAAgB;QAC/C,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,qCAAgB;QAC/C,CAAC,mCAAa,CAAC,sBAAsB,CAAC,EAAE,sDAAwB;QAChE,CAAC,mCAAa,CAAC,oBAAoB,CAAC,EAAE,kDAAsB;QAC5D,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,oCAAe;QAC9C,CAAC,mCAAa,CAAC,aAAa,CAAC,EAAE,oCAAe;QAC9C,CAAC,mCAAa,CAAC,oBAAoB,CAAC,EAAE,mDAAuB;QAC7D,CAAC,mCAAa,CAAC,kBAAkB,CAAC,EAAE,8CAAoB;QACxD,CAAC,mCAAa,CAAC,QAAQ,CAAC,EAAE,2BAAW;KACtC,CAAC;IAEF,OAAO,CACL,IAAY,EACZ,KAAuC;QAEvC,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,MAAe,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAgB,CAAC,EACtD,IAAe,CACL,CAAC;IACf,CAAC;IAED,kBAAkB,CAChB,IAAY,EACZ,WAA6B;QAE7B,MAAM,YAAY,GAAG,6BAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAM,CAAC;IAC/D,CAAC;IAED,SAAS,CAAC,MAAoB;QAC5B,MAAM,KAAK,GAAoB,EAAE,CAAC;QAElC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YAGD,MAAM,UAAU,GACb,UAAmD,CAAC,MAAM,IAAI,EAAE,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YAE1D,KAAK,CAAC,IAAI,CAAC,YAA6B,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAxDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAwD5B"}
@@ -95,7 +95,10 @@ let CookieService = CookieService_1 = class CookieService {
95
95
  await fs_1.promises.access(sessionPath);
96
96
  throw new Error(`Session '${sessionName}' already exists. Use overwrite: true to replace.`);
97
97
  }
98
- catch {
98
+ catch (error) {
99
+ if (error.code !== 'ENOENT') {
100
+ throw error;
101
+ }
99
102
  }
100
103
  }
101
104
  const cookies = await page.cookies();
@@ -132,25 +135,22 @@ let CookieService = CookieService_1 = class CookieService {
132
135
  this.logger.log(`Loading cookies for session: ${sessionName}`, 'debug');
133
136
  const cookiesDir = options?.cookiesDir || this.cookiesDir;
134
137
  const sessionPath = this.getSessionPath(sessionName, cookiesDir);
135
- try {
136
- await fs_1.promises.access(sessionPath);
137
- }
138
- catch {
139
- if (options?.throwIfNotExists !== false) {
140
- throw new Error(`Session '${sessionName}' not found at ${sessionPath}`);
141
- }
142
- return {
143
- name: sessionName,
144
- cookies: [],
145
- savedAt: new Date(),
146
- };
147
- }
148
138
  let sessionData;
149
139
  try {
150
140
  const content = await fs_1.promises.readFile(sessionPath, 'utf-8');
151
141
  sessionData = JSON.parse(content);
152
142
  }
153
143
  catch (error) {
144
+ if (error.code === 'ENOENT') {
145
+ if (options?.throwIfNotExists !== false) {
146
+ throw new Error(`Session '${sessionName}' not found at ${sessionPath}`);
147
+ }
148
+ return {
149
+ name: sessionName,
150
+ cookies: [],
151
+ savedAt: new Date(),
152
+ };
153
+ }
154
154
  throw new Error(`Failed to read session file ${sessionPath}: ${error instanceof Error ? error.message : String(error)}`);
155
155
  }
156
156
  try {
@@ -179,22 +179,21 @@ let CookieService = CookieService_1 = class CookieService {
179
179
  this.logger.log(`Deleting session: ${sessionName}`, 'debug');
180
180
  const sessionPath = this.getSessionPath(sessionName);
181
181
  try {
182
- await fs_1.promises.access(sessionPath);
182
+ await fs_1.promises.unlink(sessionPath);
183
183
  }
184
- catch {
185
- throw new Error(`Session '${sessionName}' not found at ${sessionPath}`);
184
+ catch (error) {
185
+ if (error.code === 'ENOENT') {
186
+ throw new Error(`Session '${sessionName}' not found at ${sessionPath}`);
187
+ }
188
+ throw error;
186
189
  }
187
- await fs_1.promises.unlink(sessionPath);
188
190
  this.logger.log(`Deleted session: ${sessionName}`);
189
191
  }
190
192
  async clearAllCookies() {
191
193
  this.logger.log('Clearing all cookie sessions', 'debug');
192
194
  const files = await fs_1.promises.readdir(this.cookiesDir);
193
195
  const jsonFiles = files.filter((f) => f.endsWith('.json'));
194
- for (const file of jsonFiles) {
195
- const filePath = path.join(this.cookiesDir, file);
196
- await fs_1.promises.unlink(filePath);
197
- }
196
+ await Promise.all(jsonFiles.map((file) => fs_1.promises.unlink(path.join(this.cookiesDir, file))));
198
197
  this.logger.log(`Cleared ${jsonFiles.length} cookie sessions`);
199
198
  }
200
199
  async listCookies() {
@@ -202,25 +201,25 @@ let CookieService = CookieService_1 = class CookieService {
202
201
  try {
203
202
  const files = await fs_1.promises.readdir(this.cookiesDir);
204
203
  const jsonFiles = files.filter((f) => f.endsWith('.json'));
205
- const sessions = [];
206
- for (const file of jsonFiles) {
204
+ const results = await Promise.all(jsonFiles.map(async (file) => {
207
205
  const filePath = path.join(this.cookiesDir, file);
208
206
  try {
209
207
  const content = await fs_1.promises.readFile(filePath, 'utf-8');
210
208
  const data = JSON.parse(content);
211
- sessions.push({
209
+ return {
212
210
  name: data.name,
213
211
  savedAt: new Date(data.savedAt),
214
212
  cookieCount: data.cookies.length,
215
213
  url: data.url,
216
214
  metadata: data.metadata,
217
- });
215
+ };
218
216
  }
219
217
  catch {
220
218
  this.logger.log(`Skipping invalid session file: ${file}`, 'warn');
219
+ return null;
221
220
  }
222
- }
223
- return sessions;
221
+ }));
222
+ return results.filter((s) => s !== null);
224
223
  }
225
224
  catch {
226
225
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.service.js","sourceRoot":"","sources":["../../src/services/cookie.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.service.js","sourceRoot":"","sources":["../../src/services/cookie.service.ts"],"names":[],"mappings":"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"}