bidi2pdf 0.1.13 → 0.1.15

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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +53 -0
  3. data/.devcontainer/devcontainer.json +51 -0
  4. data/.devcontainer/docker-compose.yml +33 -0
  5. data/.ruby-gemset +1 -1
  6. data/.ruby-version +1 -1
  7. data/CHANGELOG.md +93 -6
  8. data/README.md +80 -5
  9. data/docker/Dockerfile +1 -1
  10. data/docker/Dockerfile.slim +2 -2
  11. data/docker/chrome-driver/chrome.json +874 -0
  12. data/lib/bidi2pdf/bidi/browser_tab.rb +97 -4
  13. data/lib/bidi2pdf/bidi/buffered_web_socket_client.rb +178 -0
  14. data/lib/bidi2pdf/bidi/client.rb +12 -5
  15. data/lib/bidi2pdf/bidi/commands/base.rb +2 -0
  16. data/lib/bidi2pdf/bidi/commands/capture_screenshot.rb +33 -0
  17. data/lib/bidi2pdf/bidi/commands/set_viewport.rb +32 -0
  18. data/lib/bidi2pdf/bidi/commands.rb +2 -0
  19. data/lib/bidi2pdf/bidi/network_event.rb +12 -3
  20. data/lib/bidi2pdf/bidi/network_events.rb +9 -1
  21. data/lib/bidi2pdf/bidi/session.rb +1 -1
  22. data/lib/bidi2pdf/chromedriver_manager.rb +10 -6
  23. data/lib/bidi2pdf/cli.rb +11 -1
  24. data/lib/bidi2pdf/launcher.rb +5 -3
  25. data/lib/bidi2pdf/notifications/logging_subscriber.rb +2 -0
  26. data/lib/bidi2pdf/session_warmer.rb +377 -0
  27. data/lib/bidi2pdf/test_helpers/images.rb +8 -0
  28. data/lib/bidi2pdf/test_helpers/pdf_reader_utils.rb +1 -2
  29. data/lib/bidi2pdf/test_helpers/pdf_text_sanitizer.rb +1 -2
  30. data/lib/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rb +1 -1
  31. data/lib/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rb +22 -2
  32. data/lib/bidi2pdf/test_helpers/testcontainers/container_endpoint.rb +30 -0
  33. data/lib/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rb +33 -0
  34. data/lib/bidi2pdf/test_helpers/testcontainers.rb +1 -0
  35. data/lib/bidi2pdf/version.rb +1 -1
  36. data/lib/bidi2pdf.rb +26 -1
  37. data/sig/bidi2pdf/bidi/add_headers_interceptor.rbs +16 -9
  38. data/sig/bidi2pdf/bidi/auth_interceptor.rbs +32 -7
  39. data/sig/bidi2pdf/bidi/browser.rbs +4 -31
  40. data/sig/bidi2pdf/bidi/browser_console_logger.rbs +59 -0
  41. data/sig/bidi2pdf/bidi/browser_tab.rbs +269 -25
  42. data/sig/bidi2pdf/bidi/buffered_web_socket_client.rbs +81 -0
  43. data/sig/bidi2pdf/bidi/client.rbs +103 -43
  44. data/sig/bidi2pdf/bidi/command_manager.rbs +5 -17
  45. data/sig/bidi2pdf/bidi/commands/add_intercept.rbs +16 -8
  46. data/sig/bidi2pdf/bidi/commands/base.rbs +49 -9
  47. data/sig/bidi2pdf/bidi/commands/browser_close.rbs +3 -1
  48. data/sig/bidi2pdf/bidi/commands/browser_create_user_context.rbs +2 -0
  49. data/sig/bidi2pdf/bidi/commands/browser_remove_user_context.rbs +19 -0
  50. data/sig/bidi2pdf/bidi/commands/browsing_context_close.rbs +8 -2
  51. data/sig/bidi2pdf/bidi/commands/browsing_context_navigate.rbs +12 -6
  52. data/sig/bidi2pdf/bidi/commands/browsing_context_print.rbs +10 -5
  53. data/sig/bidi2pdf/bidi/commands/cancel_auth.rbs +8 -2
  54. data/sig/bidi2pdf/bidi/commands/capture_screenshot.rbs +31 -0
  55. data/sig/bidi2pdf/bidi/commands/cdp_get_session.rbs +17 -0
  56. data/sig/bidi2pdf/bidi/commands/create_window.rbs +4 -0
  57. data/sig/bidi2pdf/bidi/commands/get_user_contexts.rbs +2 -0
  58. data/sig/bidi2pdf/bidi/commands/network_continue.rbs +4 -0
  59. data/sig/bidi2pdf/bidi/commands/page_print.rbs +28 -0
  60. data/sig/bidi2pdf/bidi/commands/print_parameters_validator.rbs +3 -0
  61. data/sig/bidi2pdf/bidi/commands/provide_credentials.rbs +12 -6
  62. data/sig/bidi2pdf/bidi/commands/script_evaluate.rbs +4 -0
  63. data/sig/bidi2pdf/bidi/commands/session_end.rbs +2 -0
  64. data/sig/bidi2pdf/bidi/commands/session_status.rbs +3 -1
  65. data/sig/bidi2pdf/bidi/commands/session_subscribe.rbs +4 -0
  66. data/sig/bidi2pdf/bidi/commands/set_tab_cookie.rbs +51 -23
  67. data/sig/bidi2pdf/bidi/commands/set_usercontext_cookie.rbs +17 -19
  68. data/sig/bidi2pdf/bidi/commands/set_viewport.rbs +31 -0
  69. data/sig/bidi2pdf/bidi/connection_manager.rbs +2 -1
  70. data/sig/bidi2pdf/bidi/event_manager.rbs +14 -19
  71. data/sig/bidi2pdf/bidi/interceptor.rbs +5 -0
  72. data/sig/bidi2pdf/bidi/js_logger_helper.rbs +9 -0
  73. data/sig/bidi2pdf/bidi/logger_events.rbs +21 -0
  74. data/sig/bidi2pdf/bidi/navigation_failed_events.rbs +17 -0
  75. data/sig/bidi2pdf/bidi/network_event.rbs +64 -46
  76. data/sig/bidi2pdf/bidi/network_event_formatters/network_event_console_formatter.rbs +63 -0
  77. data/sig/bidi2pdf/bidi/network_event_formatters/network_event_formatter_utils.rbs +15 -0
  78. data/sig/bidi2pdf/bidi/network_event_formatters/network_event_html_formatter.rbs +18 -0
  79. data/sig/bidi2pdf/bidi/network_event_formatters.rbs +6 -0
  80. data/sig/bidi2pdf/bidi/network_events.rbs +14 -39
  81. data/sig/bidi2pdf/bidi/session.rbs +144 -31
  82. data/sig/bidi2pdf/bidi/user_context.rbs +64 -45
  83. data/sig/bidi2pdf/bidi/web_socket_dispatcher.rbs +22 -30
  84. data/sig/bidi2pdf/chromedriver_manager.rbs +61 -22
  85. data/sig/bidi2pdf/cli.rbs +22 -2
  86. data/sig/bidi2pdf/dsl.rbs +34 -0
  87. data/sig/bidi2pdf/launcher.rbs +39 -1
  88. data/sig/bidi2pdf/notifications/event.rbs +40 -0
  89. data/sig/bidi2pdf/notifications/instrumenter.rbs +21 -0
  90. data/sig/bidi2pdf/notifications/logging_subscriber.rbs +41 -0
  91. data/sig/bidi2pdf/notifications.rbs +24 -0
  92. data/sig/bidi2pdf/process_tree.rbs +2 -2
  93. data/sig/bidi2pdf/session_runner.rbs +41 -1
  94. data/sig/bidi2pdf/session_warmer.rbs +221 -0
  95. data/sig/bidi2pdf/test_helpers/configuration.rbs +51 -0
  96. data/sig/bidi2pdf/test_helpers/images/extractor.rbs +43 -0
  97. data/sig/bidi2pdf/test_helpers/images/image_similarity_checker.rbs +35 -0
  98. data/sig/bidi2pdf/test_helpers/images/tiff_helper.rbs +70 -0
  99. data/sig/bidi2pdf/test_helpers/images.rbs +0 -0
  100. data/sig/bidi2pdf/test_helpers/matchers/contains_pdf_image.rbs +0 -0
  101. data/sig/bidi2pdf/test_helpers/matchers/contains_pdf_text.rbs +0 -0
  102. data/sig/bidi2pdf/test_helpers/matchers/have_pdf_page_count.rbs +0 -0
  103. data/sig/bidi2pdf/test_helpers/matchers/match_pdf_text.rbs +0 -0
  104. data/sig/bidi2pdf/test_helpers/pdf_file_helper.rbs +23 -0
  105. data/sig/bidi2pdf/test_helpers/pdf_reader_utils.rbs +49 -0
  106. data/sig/bidi2pdf/test_helpers/pdf_text_sanitizer.rbs +38 -0
  107. data/sig/bidi2pdf/test_helpers/spec_paths_helper.rbs +35 -0
  108. data/sig/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rbs +43 -0
  109. data/sig/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rbs +45 -0
  110. data/sig/bidi2pdf/test_helpers/testcontainers/container_endpoint.rbs +25 -0
  111. data/sig/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rbs +3 -0
  112. data/sig/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rbs +47 -0
  113. data/sig/bidi2pdf/test_helpers/testcontainers.rbs +6 -0
  114. data/sig/bidi2pdf/test_helpers.rbs +0 -0
  115. data/sig/bidi2pdf/verbose_logger.rbs +37 -0
  116. data/sig/bidi2pdf/version.rbs +3 -0
  117. data/sig/bidi2pdf.rbs +130 -2
  118. data/tasks/generate_rbs.rake +11 -11
  119. data/tasks/release_credentials_check.rake +97 -0
  120. metadata +67 -10
  121. data/sig/bidi2pdf/utils.rbs +0 -5
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bidi2pdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dieter S.
@@ -67,16 +67,22 @@ dependencies:
67
67
  name: json
68
68
  requirement: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - "~>"
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '2.10'
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '4.0'
73
76
  type: :runtime
74
77
  prerelease: false
75
78
  version_requirements: !ruby/object:Gem::Requirement
76
79
  requirements:
77
- - - "~>"
80
+ - - ">="
78
81
  - !ruby/object:Gem::Version
79
82
  version: '2.10'
83
+ - - "<"
84
+ - !ruby/object:Gem::Version
85
+ version: '4.0'
80
86
  - !ruby/object:Gem::Dependency
81
87
  name: rubyzip
82
88
  requirement: !ruby/object:Gem::Requirement
@@ -120,19 +126,19 @@ dependencies:
120
126
  - !ruby/object:Gem::Version
121
127
  version: '1.3'
122
128
  - !ruby/object:Gem::Dependency
123
- name: websocket-client-simple
129
+ name: websocket
124
130
  requirement: !ruby/object:Gem::Requirement
125
131
  requirements:
126
132
  - - "~>"
127
133
  - !ruby/object:Gem::Version
128
- version: 0.9.0
134
+ version: '1.2'
129
135
  type: :runtime
130
136
  prerelease: false
131
137
  version_requirements: !ruby/object:Gem::Requirement
132
138
  requirements:
133
139
  - - "~>"
134
140
  - !ruby/object:Gem::Version
135
- version: 0.9.0
141
+ version: '1.2'
136
142
  - !ruby/object:Gem::Dependency
137
143
  name: dhash-vips
138
144
  requirement: !ruby/object:Gem::Requirement
@@ -293,14 +299,14 @@ dependencies:
293
299
  requirements:
294
300
  - - "~>"
295
301
  - !ruby/object:Gem::Version
296
- version: '0.22'
302
+ version: '1.2'
297
303
  type: :development
298
304
  prerelease: false
299
305
  version_requirements: !ruby/object:Gem::Requirement
300
306
  requirements:
301
307
  - - "~>"
302
308
  - !ruby/object:Gem::Version
303
- version: '0.22'
309
+ version: '1.2'
304
310
  - !ruby/object:Gem::Dependency
305
311
  name: testcontainers
306
312
  requirement: !ruby/object:Gem::Requirement
@@ -379,6 +385,9 @@ executables:
379
385
  extensions: []
380
386
  extra_rdoc_files: []
381
387
  files:
388
+ - ".devcontainer/Dockerfile"
389
+ - ".devcontainer/devcontainer.json"
390
+ - ".devcontainer/docker-compose.yml"
382
391
  - ".idea/.gitignore"
383
392
  - ".rspec"
384
393
  - ".rubocop.yml"
@@ -392,6 +401,7 @@ files:
392
401
  - docker/Dockerfile
393
402
  - docker/Dockerfile.chromedriver
394
403
  - docker/Dockerfile.slim
404
+ - docker/chrome-driver/chrome.json
395
405
  - docker/docker-compose.yml
396
406
  - docker/entrypoint.sh
397
407
  - docker/nginx/default.conf
@@ -403,6 +413,7 @@ files:
403
413
  - lib/bidi2pdf/bidi/browser.rb
404
414
  - lib/bidi2pdf/bidi/browser_console_logger.rb
405
415
  - lib/bidi2pdf/bidi/browser_tab.rb
416
+ - lib/bidi2pdf/bidi/buffered_web_socket_client.rb
406
417
  - lib/bidi2pdf/bidi/client.rb
407
418
  - lib/bidi2pdf/bidi/command_manager.rb
408
419
  - lib/bidi2pdf/bidi/commands.rb
@@ -415,6 +426,7 @@ files:
415
426
  - lib/bidi2pdf/bidi/commands/browsing_context_navigate.rb
416
427
  - lib/bidi2pdf/bidi/commands/browsing_context_print.rb
417
428
  - lib/bidi2pdf/bidi/commands/cancel_auth.rb
429
+ - lib/bidi2pdf/bidi/commands/capture_screenshot.rb
418
430
  - lib/bidi2pdf/bidi/commands/cdp_get_session.rb
419
431
  - lib/bidi2pdf/bidi/commands/create_tab.rb
420
432
  - lib/bidi2pdf/bidi/commands/create_window.rb
@@ -429,6 +441,7 @@ files:
429
441
  - lib/bidi2pdf/bidi/commands/session_subscribe.rb
430
442
  - lib/bidi2pdf/bidi/commands/set_tab_cookie.rb
431
443
  - lib/bidi2pdf/bidi/commands/set_usercontext_cookie.rb
444
+ - lib/bidi2pdf/bidi/commands/set_viewport.rb
432
445
  - lib/bidi2pdf/bidi/connection_manager.rb
433
446
  - lib/bidi2pdf/bidi/event_manager.rb
434
447
  - lib/bidi2pdf/bidi/interceptor.rb
@@ -454,6 +467,7 @@ files:
454
467
  - lib/bidi2pdf/notifications/logging_subscriber.rb
455
468
  - lib/bidi2pdf/process_tree.rb
456
469
  - lib/bidi2pdf/session_runner.rb
470
+ - lib/bidi2pdf/session_warmer.rb
457
471
  - lib/bidi2pdf/test_helpers.rb
458
472
  - lib/bidi2pdf/test_helpers/configuration.rb
459
473
  - lib/bidi2pdf/test_helpers/images.rb
@@ -471,6 +485,7 @@ files:
471
485
  - lib/bidi2pdf/test_helpers/testcontainers.rb
472
486
  - lib/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rb
473
487
  - lib/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rb
488
+ - lib/bidi2pdf/test_helpers/testcontainers/container_endpoint.rb
474
489
  - lib/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rb
475
490
  - lib/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rb
476
491
  - lib/bidi2pdf/verbose_logger.rb
@@ -479,7 +494,9 @@ files:
479
494
  - sig/bidi2pdf/bidi/add_headers_interceptor.rbs
480
495
  - sig/bidi2pdf/bidi/auth_interceptor.rbs
481
496
  - sig/bidi2pdf/bidi/browser.rbs
497
+ - sig/bidi2pdf/bidi/browser_console_logger.rbs
482
498
  - sig/bidi2pdf/bidi/browser_tab.rbs
499
+ - sig/bidi2pdf/bidi/buffered_web_socket_client.rbs
483
500
  - sig/bidi2pdf/bidi/client.rbs
484
501
  - sig/bidi2pdf/bidi/command_manager.rbs
485
502
  - sig/bidi2pdf/bidi/commands.rbs
@@ -487,14 +504,18 @@ files:
487
504
  - sig/bidi2pdf/bidi/commands/base.rbs
488
505
  - sig/bidi2pdf/bidi/commands/browser_close.rbs
489
506
  - sig/bidi2pdf/bidi/commands/browser_create_user_context.rbs
507
+ - sig/bidi2pdf/bidi/commands/browser_remove_user_context.rbs
490
508
  - sig/bidi2pdf/bidi/commands/browsing_context_close.rbs
491
509
  - sig/bidi2pdf/bidi/commands/browsing_context_navigate.rbs
492
510
  - sig/bidi2pdf/bidi/commands/browsing_context_print.rbs
493
511
  - sig/bidi2pdf/bidi/commands/cancel_auth.rbs
512
+ - sig/bidi2pdf/bidi/commands/capture_screenshot.rbs
513
+ - sig/bidi2pdf/bidi/commands/cdp_get_session.rbs
494
514
  - sig/bidi2pdf/bidi/commands/create_tab.rbs
495
515
  - sig/bidi2pdf/bidi/commands/create_window.rbs
496
516
  - sig/bidi2pdf/bidi/commands/get_user_contexts.rbs
497
517
  - sig/bidi2pdf/bidi/commands/network_continue.rbs
518
+ - sig/bidi2pdf/bidi/commands/page_print.rbs
498
519
  - sig/bidi2pdf/bidi/commands/print_parameters_validator.rbs
499
520
  - sig/bidi2pdf/bidi/commands/provide_credentials.rbs
500
521
  - sig/bidi2pdf/bidi/commands/script_evaluate.rbs
@@ -503,24 +524,60 @@ files:
503
524
  - sig/bidi2pdf/bidi/commands/session_subscribe.rbs
504
525
  - sig/bidi2pdf/bidi/commands/set_tab_cookie.rbs
505
526
  - sig/bidi2pdf/bidi/commands/set_usercontext_cookie.rbs
527
+ - sig/bidi2pdf/bidi/commands/set_viewport.rbs
506
528
  - sig/bidi2pdf/bidi/connection_manager.rbs
507
529
  - sig/bidi2pdf/bidi/event_manager.rbs
508
530
  - sig/bidi2pdf/bidi/interceptor.rbs
531
+ - sig/bidi2pdf/bidi/js_logger_helper.rbs
532
+ - sig/bidi2pdf/bidi/logger_events.rbs
533
+ - sig/bidi2pdf/bidi/navigation_failed_events.rbs
509
534
  - sig/bidi2pdf/bidi/network_event.rbs
535
+ - sig/bidi2pdf/bidi/network_event_formatters.rbs
536
+ - sig/bidi2pdf/bidi/network_event_formatters/network_event_console_formatter.rbs
537
+ - sig/bidi2pdf/bidi/network_event_formatters/network_event_formatter_utils.rbs
538
+ - sig/bidi2pdf/bidi/network_event_formatters/network_event_html_formatter.rbs
510
539
  - sig/bidi2pdf/bidi/network_events.rbs
511
540
  - sig/bidi2pdf/bidi/session.rbs
512
541
  - sig/bidi2pdf/bidi/user_context.rbs
513
542
  - sig/bidi2pdf/bidi/web_socket_dispatcher.rbs
514
543
  - sig/bidi2pdf/chromedriver_manager.rbs
515
544
  - sig/bidi2pdf/cli.rbs
545
+ - sig/bidi2pdf/dsl.rbs
516
546
  - sig/bidi2pdf/launcher.rbs
547
+ - sig/bidi2pdf/notifications.rbs
548
+ - sig/bidi2pdf/notifications/event.rbs
549
+ - sig/bidi2pdf/notifications/instrumenter.rbs
550
+ - sig/bidi2pdf/notifications/logging_subscriber.rbs
517
551
  - sig/bidi2pdf/process_tree.rbs
518
552
  - sig/bidi2pdf/session_runner.rbs
519
- - sig/bidi2pdf/utils.rbs
553
+ - sig/bidi2pdf/session_warmer.rbs
554
+ - sig/bidi2pdf/test_helpers.rbs
555
+ - sig/bidi2pdf/test_helpers/configuration.rbs
556
+ - sig/bidi2pdf/test_helpers/images.rbs
557
+ - sig/bidi2pdf/test_helpers/images/extractor.rbs
558
+ - sig/bidi2pdf/test_helpers/images/image_similarity_checker.rbs
559
+ - sig/bidi2pdf/test_helpers/images/tiff_helper.rbs
560
+ - sig/bidi2pdf/test_helpers/matchers/contains_pdf_image.rbs
561
+ - sig/bidi2pdf/test_helpers/matchers/contains_pdf_text.rbs
562
+ - sig/bidi2pdf/test_helpers/matchers/have_pdf_page_count.rbs
563
+ - sig/bidi2pdf/test_helpers/matchers/match_pdf_text.rbs
564
+ - sig/bidi2pdf/test_helpers/pdf_file_helper.rbs
565
+ - sig/bidi2pdf/test_helpers/pdf_reader_utils.rbs
566
+ - sig/bidi2pdf/test_helpers/pdf_text_sanitizer.rbs
567
+ - sig/bidi2pdf/test_helpers/spec_paths_helper.rbs
568
+ - sig/bidi2pdf/test_helpers/testcontainers.rbs
569
+ - sig/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rbs
570
+ - sig/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rbs
571
+ - sig/bidi2pdf/test_helpers/testcontainers/container_endpoint.rbs
572
+ - sig/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rbs
573
+ - sig/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rbs
574
+ - sig/bidi2pdf/verbose_logger.rbs
575
+ - sig/bidi2pdf/version.rbs
520
576
  - sig/vendor/thor.rbs
521
577
  - tasks/changelog.rake
522
578
  - tasks/coverage.rake
523
579
  - tasks/generate_rbs.rake
580
+ - tasks/release_credentials_check.rake
524
581
  - tmp/.keep
525
582
  homepage: https://github.com/dieter-medium/bidi2pdf
526
583
  licenses:
@@ -545,7 +602,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
545
602
  - !ruby/object:Gem::Version
546
603
  version: '0'
547
604
  requirements: []
548
- rubygems_version: 3.6.7
605
+ rubygems_version: 3.6.9
549
606
  specification_version: 4
550
607
  summary: A Ruby gem that generates PDFs from web pages using Chrome's BiDi protocol,
551
608
  providing high-quality PDF documents from any URL with full support for modern web
@@ -1,5 +0,0 @@
1
- module Bidi2pdf
2
- module Utils
3
- def self?.timed: (untyped operation_name) { () -> untyped } -> untyped
4
- end
5
- end