@browserless.io/browserless 2.5.0 → 2.6.1-beta-1

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 (195) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +55 -36
  3. package/build/config.d.ts +2 -2
  4. package/build/config.js +3 -3
  5. package/build/data/classes.json +1 -1
  6. package/build/data/selectors.json +1 -1
  7. package/build/http.d.ts +1 -0
  8. package/build/http.js +1 -0
  9. package/build/routes/chrome/http/content.post.body.json +8 -8
  10. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  11. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  12. package/build/routes/chrome/http/screenshot.post.body.json +9 -9
  13. package/build/routes/chromium/http/content.post.body.json +8 -8
  14. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  15. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  16. package/build/routes/chromium/http/screenshot.post.body.json +9 -9
  17. package/build/routes/management/http/active.get.d.ts +16 -0
  18. package/build/routes/management/http/active.get.js +17 -0
  19. package/build/routes/management/tests/management.spec.js +7 -0
  20. package/build/server.js +1 -1
  21. package/build/shared/utils/function/handler.js +3 -2
  22. package/build/types.d.ts +6 -4
  23. package/build/types.js +1 -0
  24. package/build/utils.d.ts +1 -1
  25. package/docker/base/Dockerfile +1 -1
  26. package/extensions/ublock/1p-filters.html +4 -3
  27. package/extensions/ublock/3p-filters.html +3 -3
  28. package/extensions/ublock/_locales/ar/messages.json +16 -4
  29. package/extensions/ublock/_locales/az/messages.json +16 -4
  30. package/extensions/ublock/_locales/be/messages.json +19 -7
  31. package/extensions/ublock/_locales/bg/messages.json +16 -4
  32. package/extensions/ublock/_locales/bn/messages.json +33 -21
  33. package/extensions/ublock/_locales/br_FR/messages.json +33 -21
  34. package/extensions/ublock/_locales/bs/messages.json +16 -4
  35. package/extensions/ublock/_locales/ca/messages.json +16 -4
  36. package/extensions/ublock/_locales/cs/messages.json +16 -4
  37. package/extensions/ublock/_locales/cv/messages.json +16 -4
  38. package/extensions/ublock/_locales/cy/messages.json +16 -4
  39. package/extensions/ublock/_locales/da/messages.json +21 -9
  40. package/extensions/ublock/_locales/de/messages.json +17 -5
  41. package/extensions/ublock/_locales/el/messages.json +16 -4
  42. package/extensions/ublock/_locales/en/messages.json +16 -4
  43. package/extensions/ublock/_locales/en_GB/messages.json +16 -4
  44. package/extensions/ublock/_locales/eo/messages.json +17 -5
  45. package/extensions/ublock/_locales/es/messages.json +16 -4
  46. package/extensions/ublock/_locales/et/messages.json +16 -4
  47. package/extensions/ublock/_locales/eu/messages.json +16 -4
  48. package/extensions/ublock/_locales/fa/messages.json +24 -12
  49. package/extensions/ublock/_locales/fi/messages.json +16 -4
  50. package/extensions/ublock/_locales/fil/messages.json +16 -4
  51. package/extensions/ublock/_locales/fr/messages.json +16 -4
  52. package/extensions/ublock/_locales/fy/messages.json +16 -4
  53. package/extensions/ublock/_locales/gl/messages.json +16 -4
  54. package/extensions/ublock/_locales/gu/messages.json +16 -4
  55. package/extensions/ublock/_locales/he/messages.json +25 -13
  56. package/extensions/ublock/_locales/hi/messages.json +31 -19
  57. package/extensions/ublock/_locales/hr/messages.json +16 -4
  58. package/extensions/ublock/_locales/hu/messages.json +16 -4
  59. package/extensions/ublock/_locales/hy/messages.json +17 -5
  60. package/extensions/ublock/_locales/id/messages.json +16 -4
  61. package/extensions/ublock/_locales/it/messages.json +17 -5
  62. package/extensions/ublock/_locales/ja/messages.json +16 -4
  63. package/extensions/ublock/_locales/ka/messages.json +16 -4
  64. package/extensions/ublock/_locales/kk/messages.json +16 -4
  65. package/extensions/ublock/_locales/kn/messages.json +74 -62
  66. package/extensions/ublock/_locales/ko/messages.json +16 -4
  67. package/extensions/ublock/_locales/lt/messages.json +23 -11
  68. package/extensions/ublock/_locales/lv/messages.json +16 -4
  69. package/extensions/ublock/_locales/mk/messages.json +16 -4
  70. package/extensions/ublock/_locales/ml/messages.json +19 -7
  71. package/extensions/ublock/_locales/mr/messages.json +16 -4
  72. package/extensions/ublock/_locales/ms/messages.json +16 -4
  73. package/extensions/ublock/_locales/nb/messages.json +16 -4
  74. package/extensions/ublock/_locales/nl/messages.json +16 -4
  75. package/extensions/ublock/_locales/no/messages.json +16 -4
  76. package/extensions/ublock/_locales/oc/messages.json +16 -4
  77. package/extensions/ublock/_locales/pa/messages.json +16 -4
  78. package/extensions/ublock/_locales/pl/messages.json +17 -5
  79. package/extensions/ublock/_locales/pt_BR/messages.json +16 -4
  80. package/extensions/ublock/_locales/pt_PT/messages.json +16 -4
  81. package/extensions/ublock/_locales/ro/messages.json +17 -5
  82. package/extensions/ublock/_locales/ru/messages.json +16 -4
  83. package/extensions/ublock/_locales/si/messages.json +16 -4
  84. package/extensions/ublock/_locales/sk/messages.json +16 -4
  85. package/extensions/ublock/_locales/sl/messages.json +16 -4
  86. package/extensions/ublock/_locales/so/messages.json +16 -4
  87. package/extensions/ublock/_locales/sq/messages.json +16 -4
  88. package/extensions/ublock/_locales/sr/messages.json +16 -4
  89. package/extensions/ublock/_locales/sv/messages.json +20 -8
  90. package/extensions/ublock/_locales/sw/messages.json +16 -4
  91. package/extensions/ublock/_locales/ta/messages.json +16 -4
  92. package/extensions/ublock/_locales/te/messages.json +16 -4
  93. package/extensions/ublock/_locales/th/messages.json +42 -30
  94. package/extensions/ublock/_locales/tr/messages.json +19 -7
  95. package/extensions/ublock/_locales/uk/messages.json +16 -4
  96. package/extensions/ublock/_locales/ur/messages.json +16 -4
  97. package/extensions/ublock/_locales/vi/messages.json +16 -4
  98. package/extensions/ublock/_locales/zh_CN/messages.json +16 -4
  99. package/extensions/ublock/_locales/zh_TW/messages.json +42 -30
  100. package/extensions/ublock/assets/assets.json +95 -78
  101. package/extensions/ublock/assets/resources/scriptlets.js +70 -24
  102. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +6258 -3453
  103. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +277 -40
  104. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +8 -32
  105. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +107 -12
  106. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +1160 -954
  107. package/extensions/ublock/assets/ublock/badlists.txt +1 -2
  108. package/extensions/ublock/assets/ublock/badware.min.txt +395 -270
  109. package/extensions/ublock/assets/ublock/filters.min.txt +1176 -1238
  110. package/extensions/ublock/assets/ublock/privacy.min.txt +32 -31
  111. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +120 -110
  112. package/extensions/ublock/assets/ublock/unbreak.min.txt +75 -36
  113. package/extensions/ublock/css/1p-filters.css +2 -1
  114. package/extensions/ublock/css/3p-filters.css +1 -16
  115. package/extensions/ublock/css/advanced-settings.css +1 -0
  116. package/extensions/ublock/css/asset-viewer.css +1 -0
  117. package/extensions/ublock/css/code-viewer.css +1 -0
  118. package/extensions/ublock/css/codemirror.css +37 -10
  119. package/extensions/ublock/css/common.css +36 -2
  120. package/extensions/ublock/css/dashboard.css +9 -3
  121. package/extensions/ublock/css/devtools.css +1 -0
  122. package/extensions/ublock/css/document-blocked.css +3 -3
  123. package/extensions/ublock/css/dom-inspector.css +1 -0
  124. package/extensions/ublock/css/dyna-rules.css +1 -0
  125. package/extensions/ublock/css/epicker-ui.css +76 -66
  126. package/extensions/ublock/css/fa-icons.css +1 -0
  127. package/extensions/ublock/css/logger-ui.css +2 -0
  128. package/extensions/ublock/css/popup-fenix.css +1 -0
  129. package/extensions/ublock/css/whitelist.css +1 -0
  130. package/extensions/ublock/dashboard.html +20 -13
  131. package/extensions/ublock/devtools.html +2 -0
  132. package/extensions/ublock/dyna-rules.html +2 -2
  133. package/extensions/ublock/img/flags-of-the-world/np.png +0 -0
  134. package/extensions/ublock/img/fontawesome/fontawesome-defs.svg +1 -0
  135. package/extensions/ublock/js/1p-filters.js +72 -23
  136. package/extensions/ublock/js/3p-filters.js +71 -25
  137. package/extensions/ublock/js/asset-viewer.js +1 -0
  138. package/extensions/ublock/js/assets.js +83 -89
  139. package/extensions/ublock/js/background.js +20 -27
  140. package/extensions/ublock/js/base64-custom.js +1 -102
  141. package/extensions/ublock/js/benchmarks.js +36 -21
  142. package/extensions/ublock/js/biditrie.js +8 -23
  143. package/extensions/ublock/js/broadcast.js +2 -4
  144. package/extensions/ublock/js/cachestorage.js +594 -396
  145. package/extensions/ublock/js/codemirror/search.js +49 -37
  146. package/extensions/ublock/js/codemirror/ubo-static-filtering.js +233 -215
  147. package/extensions/ublock/js/contentscript-extra.js +31 -1
  148. package/extensions/ublock/js/cosmetic-filtering.js +35 -33
  149. package/extensions/ublock/js/dashboard.js +11 -7
  150. package/extensions/ublock/js/devtools.js +22 -0
  151. package/extensions/ublock/js/dom.js +2 -2
  152. package/extensions/ublock/js/dyna-rules.js +17 -16
  153. package/extensions/ublock/js/epicker-ui.js +41 -16
  154. package/extensions/ublock/js/fa-icons.js +1 -0
  155. package/extensions/ublock/js/hntrie.js +10 -25
  156. package/extensions/ublock/js/i18n.js +15 -15
  157. package/extensions/ublock/js/logger-ui.js +9 -6
  158. package/extensions/ublock/js/messaging.js +51 -26
  159. package/extensions/ublock/js/pagestore.js +21 -23
  160. package/extensions/ublock/js/popup-fenix.js +35 -22
  161. package/extensions/ublock/js/redirect-engine.js +15 -30
  162. package/extensions/ublock/js/reverselookup.js +1 -1
  163. package/extensions/ublock/js/s14e-serializer.js +1405 -0
  164. package/extensions/ublock/js/scriptlet-filtering-core.js +1 -1
  165. package/extensions/ublock/js/scriptlets/epicker.js +27 -18
  166. package/extensions/ublock/js/settings.js +32 -21
  167. package/extensions/ublock/js/start.js +121 -62
  168. package/extensions/ublock/js/static-ext-filtering-db.js +6 -6
  169. package/extensions/ublock/js/static-ext-filtering.js +17 -28
  170. package/extensions/ublock/js/static-filtering-parser.js +26 -4
  171. package/extensions/ublock/js/static-net-filtering.js +69 -168
  172. package/extensions/ublock/js/storage.js +178 -155
  173. package/extensions/ublock/js/traffic.js +11 -7
  174. package/extensions/ublock/js/vapi-background.js +49 -62
  175. package/extensions/ublock/js/vapi-client.js +13 -16
  176. package/extensions/ublock/js/webext.js +10 -2
  177. package/extensions/ublock/js/whitelist.js +27 -25
  178. package/extensions/ublock/lib/publicsuffixlist/publicsuffixlist.js +3 -7
  179. package/extensions/ublock/manifest.json +2 -1
  180. package/extensions/ublock/web_accessible_resources/epicker-ui.html +5 -8
  181. package/extensions/ublock/whitelist.html +3 -4
  182. package/package.json +12 -12
  183. package/scripts/build-function.js +42 -12
  184. package/src/config.ts +3 -4
  185. package/src/http.ts +1 -0
  186. package/src/routes/management/http/active.get.ts +30 -0
  187. package/src/routes/management/tests/management.spec.ts +13 -0
  188. package/src/server.ts +3 -1
  189. package/src/shared/utils/function/handler.ts +5 -2
  190. package/src/types.ts +2 -1
  191. package/static/docs/swagger.json +57 -11
  192. package/static/docs/swagger.min.json +56 -10
  193. package/static/function/client.js +4155 -3350
  194. package/static/function/index.html +33094 -1
  195. package/extensions/ublock/_locales/ku/messages.json +0 -1294
@@ -25,18 +25,25 @@
25
25
  // Ctrl-G.
26
26
  // =====
27
27
 
28
- 'use strict';
29
-
30
28
  import { dom, qs$ } from '../dom.js';
31
29
  import { i18n$ } from '../i18n.js';
32
30
 
33
31
  {
34
32
  const CodeMirror = self.CodeMirror;
35
33
 
34
+ CodeMirror.defineOption('maximizable', true, (cm, maximizable) => {
35
+ if ( typeof maximizable !== 'boolean' ) { return; }
36
+ const wrapper = cm.getWrapperElement();
37
+ if ( wrapper === null ) { return; }
38
+ const container = wrapper.closest('.codeMirrorContainer');
39
+ if ( container === null ) { return; }
40
+ container.dataset.maximizable = `${maximizable}`;
41
+ });
42
+
36
43
  const searchOverlay = function(query, caseInsensitive) {
37
44
  if ( typeof query === 'string' )
38
45
  query = new RegExp(
39
- query.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'),
46
+ query.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&'),
40
47
  caseInsensitive ? 'gi' : 'g'
41
48
  );
42
49
  else if ( !query.global )
@@ -89,8 +96,10 @@ import { i18n$ } from '../i18n.js';
89
96
  state.queryTimer.offon(350);
90
97
  };
91
98
 
92
- const searchWidgetClickHandler = function(cm, ev) {
93
- const tcl = ev.target.classList;
99
+ const searchWidgetClickHandler = (ev, cm) => {
100
+ if ( ev.button !== 0 ) { return; }
101
+ const target = ev.target;
102
+ const tcl = target.classList;
94
103
  if ( tcl.contains('cm-search-widget-up') ) {
95
104
  findNext(cm, -1);
96
105
  } else if ( tcl.contains('cm-search-widget-down') ) {
@@ -99,11 +108,14 @@ import { i18n$ } from '../i18n.js';
99
108
  findNextError(cm, -1);
100
109
  } else if ( tcl.contains('cm-linter-widget-down') ) {
101
110
  findNextError(cm, 1);
111
+ } else if ( tcl.contains('cm-maximize') ) {
112
+ const container = target.closest('.codeMirrorContainer');
113
+ if ( container !== null ) {
114
+ container.classList.toggle('cm-maximized');
115
+ }
102
116
  }
103
- if ( ev.target.localName !== 'input' ) {
104
- ev.preventDefault();
105
- } else {
106
- ev.stopImmediatePropagation();
117
+ if ( target.localName !== 'input' ) {
118
+ cm.focus();
107
119
  }
108
120
  };
109
121
 
@@ -127,7 +139,9 @@ import { i18n$ } from '../i18n.js';
127
139
  this.widget = widgetParent.children[0];
128
140
  this.widget.addEventListener('keydown', searchWidgetKeydownHandler.bind(null, cm));
129
141
  this.widget.addEventListener('input', searchWidgetInputHandler.bind(null, cm));
130
- this.widget.addEventListener('mousedown', searchWidgetClickHandler.bind(null, cm));
142
+ this.widget.addEventListener('click', ev => {
143
+ searchWidgetClickHandler(ev, cm);
144
+ });
131
145
  if ( typeof cm.addPanel === 'function' ) {
132
146
  this.panel = cm.addPanel(this.widget);
133
147
  }
@@ -236,10 +250,7 @@ import { i18n$ } from '../i18n.js';
236
250
  notation: 'compact',
237
251
  maximumSignificantDigits: 3
238
252
  });
239
- if (
240
- intl.resolvedOptions instanceof Function &&
241
- intl.resolvedOptions().hasOwnProperty('notation')
242
- ) {
253
+ if ( intl.resolvedOptions().notation ) {
243
254
  intlNumberFormat = intl;
244
255
  }
245
256
  }
@@ -330,9 +341,6 @@ import { i18n$ } from '../i18n.js';
330
341
  state.annotate.update(annotations);
331
342
  });
332
343
  state.widget.setAttribute('data-query', state.queryText);
333
- // Ensure the caret is visible
334
- const input = state.widget.querySelector('.cm-search-widget-input input');
335
- input.selectionStart = input.selectionStart;
336
344
  };
337
345
 
338
346
  const findNext = function(cm, dir, callback) {
@@ -458,26 +466,30 @@ import { i18n$ } from '../i18n.js';
458
466
  };
459
467
 
460
468
  {
461
- const searchWidgetTemplate =
462
- '<div class="cm-search-widget-template" style="display:none;">' +
463
- '<div class="cm-search-widget">' +
464
- '<span class="cm-search-widget-input">' +
465
- '<span class="fa-icon fa-icon-ro">search</span>&ensp;' +
466
- '<input type="search" spellcheck="false">&emsp;' +
467
- '<span class="cm-search-widget-up cm-search-widget-button fa-icon">angle-up</span>&nbsp;' +
468
- '<span class="cm-search-widget-down cm-search-widget-button fa-icon fa-icon-vflipped">angle-up</span>&emsp;' +
469
- '<span class="cm-search-widget-count"></span>' +
470
- '</span>' +
471
- '<span class="cm-linter-widget" data-lint="0">' +
472
- '<span class="cm-linter-widget-count"></span>&emsp;' +
473
- '<span class="cm-linter-widget-up cm-search-widget-button fa-icon">angle-up</span>&nbsp;' +
474
- '<span class="cm-linter-widget-down cm-search-widget-button fa-icon fa-icon-vflipped">angle-up</span>&emsp;' +
475
- '</span>' +
476
- '<span>' +
477
- '<a class="fa-icon sourceURL" href>external-link</a>' +
478
- '</span>' +
479
- '</div>' +
480
- '</div>';
469
+ const searchWidgetTemplate = [
470
+ '<div class="cm-search-widget-template" style="display:none;">',
471
+ '<div class="cm-search-widget">',
472
+ '<span class="cm-maximize"><svg viewBox="0 0 40 40"><path d="M4,16V4h12M24,4H36V16M4,24V36H16M36,24V36H24" /><path d="M14 2.5v12h-12M38 14h-12v-12M14 38v-12h-12M26 38v-12h12" /></svg></span>&ensp;',
473
+ '<span class="cm-search-widget-input">',
474
+ '<span class="searchfield">',
475
+ '<input type="search" spellcheck="false" placeholder="">',
476
+ '<span class="fa-icon">search</span>',
477
+ '</span>&ensp;',
478
+ '<span class="cm-search-widget-up cm-search-widget-button fa-icon">angle-up</span>&nbsp;',
479
+ '<span class="cm-search-widget-down cm-search-widget-button fa-icon fa-icon-vflipped">angle-up</span>&ensp;',
480
+ '<span class="cm-search-widget-count"></span>',
481
+ '</span>',
482
+ '<span class="cm-linter-widget" data-lint="0">',
483
+ '<span class="cm-linter-widget-count"></span>&ensp;',
484
+ '<span class="cm-linter-widget-up cm-search-widget-button fa-icon">angle-up</span>&nbsp;',
485
+ '<span class="cm-linter-widget-down cm-search-widget-button fa-icon fa-icon-vflipped">angle-up</span>&ensp;',
486
+ '</span>',
487
+ '<span>',
488
+ '<a class="fa-icon sourceURL" href>external-link</a>',
489
+ '</span>',
490
+ '</div>',
491
+ '</div>',
492
+ ].join('\n');
481
493
  const domParser = new DOMParser();
482
494
  const doc = domParser.parseFromString(searchWidgetTemplate, 'text/html');
483
495
  const widgetTemplate = document.adoptNode(doc.body.firstElementChild);