bidi2pdf 0.1.12 → 0.1.14
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.
- checksums.yaml +4 -4
- data/.devcontainer/Dockerfile +53 -0
- data/.devcontainer/devcontainer.json +51 -0
- data/.devcontainer/docker-compose.yml +33 -0
- data/.rubocop.yml +1 -1
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +115 -4
- data/README.md +12 -0
- data/docker/Dockerfile +2 -2
- data/docker/Dockerfile.slim +2 -2
- data/docker/chrome-driver/chrome.json +874 -0
- data/docker/entrypoint.sh +3 -3
- data/lib/bidi2pdf/bidi/browser_tab.rb +52 -0
- data/lib/bidi2pdf/bidi/commands/capture_screenshot.rb +33 -0
- data/lib/bidi2pdf/bidi/commands/set_viewport.rb +32 -0
- data/lib/bidi2pdf/bidi/commands.rb +2 -0
- data/lib/bidi2pdf/bidi/event_manager.rb +2 -2
- data/lib/bidi2pdf/chromedriver_manager.rb +11 -0
- data/lib/bidi2pdf/cli.rb +11 -1
- data/lib/bidi2pdf/launcher.rb +5 -3
- data/lib/bidi2pdf/process_tree.rb +2 -2
- data/lib/bidi2pdf/test_helpers/images.rb +8 -0
- data/lib/bidi2pdf/test_helpers/pdf_file_helper.rb +5 -1
- data/lib/bidi2pdf/test_helpers/pdf_reader_utils.rb +1 -2
- data/lib/bidi2pdf/test_helpers/pdf_text_sanitizer.rb +29 -109
- data/lib/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rb +1 -1
- data/lib/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rb +46 -13
- data/lib/bidi2pdf/test_helpers/testcontainers/container_endpoint.rb +30 -0
- data/lib/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rb +5 -1
- data/lib/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rb +33 -0
- data/lib/bidi2pdf/test_helpers/testcontainers.rb +1 -0
- data/lib/bidi2pdf/version.rb +1 -1
- data/lib/bidi2pdf.rb +2 -0
- data/sig/bidi2pdf/bidi/add_headers_interceptor.rbs +16 -9
- data/sig/bidi2pdf/bidi/auth_interceptor.rbs +32 -7
- data/sig/bidi2pdf/bidi/browser.rbs +4 -31
- data/sig/bidi2pdf/bidi/browser_console_logger.rbs +59 -0
- data/sig/bidi2pdf/bidi/browser_tab.rbs +252 -25
- data/sig/bidi2pdf/bidi/client.rbs +95 -43
- data/sig/bidi2pdf/bidi/command_manager.rbs +5 -17
- data/sig/bidi2pdf/bidi/commands/add_intercept.rbs +16 -8
- data/sig/bidi2pdf/bidi/commands/base.rbs +49 -9
- data/sig/bidi2pdf/bidi/commands/browser_close.rbs +3 -1
- data/sig/bidi2pdf/bidi/commands/browser_create_user_context.rbs +2 -0
- data/sig/bidi2pdf/bidi/commands/browser_remove_user_context.rbs +19 -0
- data/sig/bidi2pdf/bidi/commands/browsing_context_close.rbs +8 -2
- data/sig/bidi2pdf/bidi/commands/browsing_context_navigate.rbs +12 -6
- data/sig/bidi2pdf/bidi/commands/browsing_context_print.rbs +10 -5
- data/sig/bidi2pdf/bidi/commands/cancel_auth.rbs +8 -2
- data/sig/bidi2pdf/bidi/commands/capture_screenshot.rbs +31 -0
- data/sig/bidi2pdf/bidi/commands/cdp_get_session.rbs +17 -0
- data/sig/bidi2pdf/bidi/commands/create_window.rbs +4 -0
- data/sig/bidi2pdf/bidi/commands/get_user_contexts.rbs +2 -0
- data/sig/bidi2pdf/bidi/commands/network_continue.rbs +4 -0
- data/sig/bidi2pdf/bidi/commands/page_print.rbs +28 -0
- data/sig/bidi2pdf/bidi/commands/print_parameters_validator.rbs +3 -0
- data/sig/bidi2pdf/bidi/commands/provide_credentials.rbs +12 -6
- data/sig/bidi2pdf/bidi/commands/script_evaluate.rbs +4 -0
- data/sig/bidi2pdf/bidi/commands/session_end.rbs +2 -0
- data/sig/bidi2pdf/bidi/commands/session_status.rbs +3 -1
- data/sig/bidi2pdf/bidi/commands/session_subscribe.rbs +4 -0
- data/sig/bidi2pdf/bidi/commands/set_tab_cookie.rbs +51 -23
- data/sig/bidi2pdf/bidi/commands/set_usercontext_cookie.rbs +17 -19
- data/sig/bidi2pdf/bidi/commands/set_viewport.rbs +31 -0
- data/sig/bidi2pdf/bidi/connection_manager.rbs +2 -1
- data/sig/bidi2pdf/bidi/event_manager.rbs +14 -19
- data/sig/bidi2pdf/bidi/interceptor.rbs +5 -0
- data/sig/bidi2pdf/bidi/js_logger_helper.rbs +9 -0
- data/sig/bidi2pdf/bidi/logger_events.rbs +21 -0
- data/sig/bidi2pdf/bidi/navigation_failed_events.rbs +17 -0
- data/sig/bidi2pdf/bidi/network_event.rbs +54 -46
- data/sig/bidi2pdf/bidi/network_event_formatters/network_event_console_formatter.rbs +63 -0
- data/sig/bidi2pdf/bidi/network_event_formatters/network_event_formatter_utils.rbs +15 -0
- data/sig/bidi2pdf/bidi/network_event_formatters/network_event_html_formatter.rbs +18 -0
- data/sig/bidi2pdf/bidi/network_event_formatters.rbs +6 -0
- data/sig/bidi2pdf/bidi/network_events.rbs +14 -39
- data/sig/bidi2pdf/bidi/session.rbs +144 -31
- data/sig/bidi2pdf/bidi/user_context.rbs +64 -45
- data/sig/bidi2pdf/bidi/web_socket_dispatcher.rbs +22 -30
- data/sig/bidi2pdf/chromedriver_manager.rbs +57 -22
- data/sig/bidi2pdf/cli.rbs +22 -2
- data/sig/bidi2pdf/dsl.rbs +34 -0
- data/sig/bidi2pdf/launcher.rbs +39 -1
- data/sig/bidi2pdf/notifications/event.rbs +40 -0
- data/sig/bidi2pdf/notifications/instrumenter.rbs +21 -0
- data/sig/bidi2pdf/notifications/logging_subscriber.rbs +41 -0
- data/sig/bidi2pdf/notifications.rbs +24 -0
- data/sig/bidi2pdf/process_tree.rbs +2 -2
- data/sig/bidi2pdf/session_runner.rbs +41 -1
- data/sig/bidi2pdf/test_helpers/configuration.rbs +51 -0
- data/sig/bidi2pdf/test_helpers/images/extractor.rbs +43 -0
- data/sig/bidi2pdf/test_helpers/images/image_similarity_checker.rbs +35 -0
- data/sig/bidi2pdf/test_helpers/images/tiff_helper.rbs +70 -0
- data/sig/bidi2pdf/test_helpers/images.rbs +0 -0
- data/sig/bidi2pdf/test_helpers/matchers/contains_pdf_image.rbs +0 -0
- data/sig/bidi2pdf/test_helpers/matchers/contains_pdf_text.rbs +0 -0
- data/sig/bidi2pdf/test_helpers/matchers/have_pdf_page_count.rbs +0 -0
- data/sig/bidi2pdf/test_helpers/matchers/match_pdf_text.rbs +0 -0
- data/sig/bidi2pdf/test_helpers/pdf_file_helper.rbs +23 -0
- data/sig/bidi2pdf/test_helpers/pdf_reader_utils.rbs +49 -0
- data/sig/bidi2pdf/test_helpers/pdf_text_sanitizer.rbs +38 -0
- data/sig/bidi2pdf/test_helpers/spec_paths_helper.rbs +35 -0
- data/sig/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rbs +43 -0
- data/sig/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rbs +45 -0
- data/sig/bidi2pdf/test_helpers/testcontainers/container_endpoint.rbs +25 -0
- data/sig/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rbs +3 -0
- data/sig/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rbs +47 -0
- data/sig/bidi2pdf/test_helpers/testcontainers.rbs +6 -0
- data/sig/bidi2pdf/test_helpers.rbs +0 -0
- data/sig/bidi2pdf/verbose_logger.rbs +37 -0
- data/sig/bidi2pdf/version.rbs +3 -0
- data/sig/bidi2pdf.rbs +112 -2
- data/tasks/generate_rbs.rake +11 -11
- metadata +62 -10
- data/sig/bidi2pdf/utils.rbs +0 -5
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module Bidi2pdf
|
|
2
|
+
module TestHelpers
|
|
3
|
+
module TestcontainersRefinement
|
|
4
|
+
@aliases: untyped
|
|
5
|
+
|
|
6
|
+
@_network: untyped
|
|
7
|
+
|
|
8
|
+
def id: () -> untyped
|
|
9
|
+
|
|
10
|
+
def aliases: () -> untyped
|
|
11
|
+
|
|
12
|
+
def aliases=: (untyped aliases) -> untyped
|
|
13
|
+
|
|
14
|
+
def network: () -> untyped
|
|
15
|
+
|
|
16
|
+
def with_network: (untyped network) -> self
|
|
17
|
+
|
|
18
|
+
def with_network_aliases: (*untyped aliases) -> self
|
|
19
|
+
|
|
20
|
+
def container_json: () -> untyped
|
|
21
|
+
|
|
22
|
+
# Address of the Docker host at which this container's *mapped* ports
|
|
23
|
+
# are reachable from the test process.
|
|
24
|
+
#
|
|
25
|
+
# Resolution belongs to testcontainers: it honours TC_HOST, a tcp:/ssh:
|
|
26
|
+
# DOCKER_HOST, a native local daemon, and a sibling container reaching
|
|
27
|
+
# the daemon over the bridge gateway — and it derives #mapped_port from
|
|
28
|
+
# the same decision, so the two must stay on one path. We only add a
|
|
29
|
+
# fallback for the cases 0.2.0 leaves unresolved.
|
|
30
|
+
#
|
|
31
|
+
# This is not the address containers use to reach each other; for that
|
|
32
|
+
# the helpers join a shared network and address containers by alias.
|
|
33
|
+
def accessible_host: () -> untyped
|
|
34
|
+
|
|
35
|
+
# testcontainers-core 0.2.0 cannot resolve a host when the test process
|
|
36
|
+
# runs inside a container and the container under test is on a custom
|
|
37
|
+
# network: #container_gateway_ip hardcodes the "bridge" network key
|
|
38
|
+
# (docker_container.rb:1074), so #host returns nil. On the default
|
|
39
|
+
# bridge it can instead reach docker_container.rb:703, which calls an
|
|
40
|
+
# undefined `bridge_ip`. Both are fixed on testcontainers-ruby main;
|
|
41
|
+
# treat either as "unresolved" and fall back.
|
|
42
|
+
def resolved_host: () -> untyped
|
|
43
|
+
|
|
44
|
+
def _container_create_options: () -> untyped
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module Bidi2pdf
|
|
2
|
+
class VerboseLogger < SimpleDelegator
|
|
3
|
+
@logger: untyped
|
|
4
|
+
|
|
5
|
+
@verbosity: untyped
|
|
6
|
+
|
|
7
|
+
VERBOSITY_LEVELS: { none: 0, low: 1, medium: 2, high: 3 }
|
|
8
|
+
|
|
9
|
+
attr_reader logger: untyped
|
|
10
|
+
|
|
11
|
+
attr_reader verbosity: untyped
|
|
12
|
+
|
|
13
|
+
def initialize: (untyped logger, ?::Symbol verbosity) -> void
|
|
14
|
+
|
|
15
|
+
def verbosity=: (untyped verbosity) -> untyped
|
|
16
|
+
|
|
17
|
+
def verbosity_sym: () -> untyped
|
|
18
|
+
|
|
19
|
+
def debug1: (?untyped? progname) { (?) -> untyped } -> (nil | untyped)
|
|
20
|
+
|
|
21
|
+
def debug1?: () -> untyped
|
|
22
|
+
|
|
23
|
+
def debug1!: () -> untyped
|
|
24
|
+
|
|
25
|
+
def debug2: (?untyped? progname) { (?) -> untyped } -> (nil | untyped)
|
|
26
|
+
|
|
27
|
+
def debug2?: () -> untyped
|
|
28
|
+
|
|
29
|
+
def debug2!: () -> untyped
|
|
30
|
+
|
|
31
|
+
def debug3: (?untyped? progname) { (?) -> untyped } -> (nil | untyped)
|
|
32
|
+
|
|
33
|
+
def debug3?: () -> untyped
|
|
34
|
+
|
|
35
|
+
def debug3!: () -> untyped
|
|
36
|
+
end
|
|
37
|
+
end
|
data/sig/bidi2pdf.rbs
CHANGED
|
@@ -1,4 +1,114 @@
|
|
|
1
1
|
module Bidi2pdf
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
self.@logger: untyped
|
|
3
|
+
|
|
4
|
+
self.@network_events_logger: untyped
|
|
5
|
+
|
|
6
|
+
self.@browser_console_logger: untyped
|
|
7
|
+
|
|
8
|
+
self.@logging_subscriber: untyped
|
|
9
|
+
|
|
10
|
+
self.@notification_service: untyped
|
|
11
|
+
|
|
12
|
+
PAPER_FORMATS_CM: { letter: { width: ::Float, height: ::Float }, legal: { width: ::Float, height: ::Float }, tabloid: { width: ::Float, height: ::Float }, ledger: { width: ::Float, height: ::Float }, a0: { width: ::Float, height: ::Float }, a1: { width: ::Float, height: ::Float }, a2: { width: ::Float, height: ::Float }, a3: { width: ::Float, height: ::Float }, a4: { width: ::Float, height: ::Float }, a5: { width: ::Float, height: ::Float }, a6: { width: ::Float, height: ::Float } }
|
|
13
|
+
|
|
14
|
+
class Error < StandardError
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class SessionNotStartedError < Error
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class WebsocketError < Error
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class ClientError < WebsocketError
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class CmdError < ClientError
|
|
27
|
+
@cmd: untyped
|
|
28
|
+
|
|
29
|
+
@response: untyped
|
|
30
|
+
|
|
31
|
+
attr_reader cmd: untyped
|
|
32
|
+
|
|
33
|
+
attr_reader response: untyped
|
|
34
|
+
|
|
35
|
+
def initialize: (untyped cmd, untyped response) -> void
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class CmdResponseNotStoredError < ClientError
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class CmdTimeoutError < ClientError
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
class PrintError < Error
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
class ScreenshotError < Error
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class ScriptInjectionError < Error
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
class StyleInjectionError < Error
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
class NotificationsError < Error
|
|
57
|
+
@causes: untyped
|
|
58
|
+
|
|
59
|
+
attr_reader causes: untyped
|
|
60
|
+
|
|
61
|
+
def initialize: (untyped causes) -> void
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class NavigationError < Error
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
class NavigationAuthError < NavigationError
|
|
68
|
+
@url: untyped
|
|
69
|
+
|
|
70
|
+
attr_reader url: untyped
|
|
71
|
+
|
|
72
|
+
def initialize: (untyped url, ?untyped? message) -> void
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
class NavigationTimeoutError < NavigationError
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
class NavigationNotFoundError < NavigationError
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
class NavigationDNSError < NavigationError
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
attr_accessor self.default_timeout: untyped
|
|
85
|
+
|
|
86
|
+
attr_accessor self.enable_default_logging_subscriber: untyped
|
|
87
|
+
|
|
88
|
+
attr_reader self.logging_subscriber: untyped
|
|
89
|
+
|
|
90
|
+
attr_reader self.logger: untyped
|
|
91
|
+
|
|
92
|
+
attr_reader self.network_events_logger: untyped
|
|
93
|
+
|
|
94
|
+
attr_reader self.browser_console_logger: untyped
|
|
95
|
+
|
|
96
|
+
attr_reader self.notification_service: untyped
|
|
97
|
+
|
|
98
|
+
# Allow configuration through a block
|
|
99
|
+
def self.configure: () ?{ (untyped) -> untyped } -> untyped
|
|
100
|
+
|
|
101
|
+
def self.init: () -> untyped
|
|
102
|
+
|
|
103
|
+
def self.translate_paper_format: (untyped format) -> { width: untyped, height: untyped }
|
|
104
|
+
|
|
105
|
+
def self.logger=: (untyped new_logger) -> untyped
|
|
106
|
+
|
|
107
|
+
def self.network_events_logger=: (untyped new_network_events_logger) -> untyped
|
|
108
|
+
|
|
109
|
+
def self.browser_console_logger=: (untyped new_browser_console_logger) -> untyped
|
|
110
|
+
|
|
111
|
+
def self.logging_subscriber=: (untyped new_logging_subscriber) -> untyped
|
|
112
|
+
|
|
113
|
+
def self.notification_service=: (untyped new_notification_service) -> untyped
|
|
4
114
|
end
|
data/tasks/generate_rbs.rake
CHANGED
|
@@ -6,7 +6,7 @@ require "rbs"
|
|
|
6
6
|
SOURCE_DIR = "lib"
|
|
7
7
|
OUTPUT_DIR = "sig"
|
|
8
8
|
|
|
9
|
-
# rubocop:disable Metrics/BlockLength
|
|
9
|
+
# rubocop:disable-next Metrics/BlockLength
|
|
10
10
|
namespace :rbs do
|
|
11
11
|
file_list = FileList["#{SOURCE_DIR}/**/*.rb"]
|
|
12
12
|
|
|
@@ -32,15 +32,11 @@ namespace :rbs do
|
|
|
32
32
|
parser = RBS::Prototype::RB.new
|
|
33
33
|
parser.parse input.read
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
puts "⚠️ RBS file already exists: #{rbs_path}"
|
|
37
|
-
else
|
|
38
|
-
puts "📝 Writing RBS file: #{rbs_path}"
|
|
35
|
+
puts "📝 Writing RBS file: #{rbs_path}"
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
end
|
|
37
|
+
output.open("w") do |io|
|
|
38
|
+
writer = RBS::Writer.new(out: io)
|
|
39
|
+
writer.write(parser.decls)
|
|
44
40
|
end
|
|
45
41
|
rescue StandardError => e
|
|
46
42
|
puts "❌ Error generating RBS for #{rb_path}: #{e.message}"
|
|
@@ -55,10 +51,14 @@ namespace :rbs do
|
|
|
55
51
|
|
|
56
52
|
desc "Clean all generated RBS files"
|
|
57
53
|
task :clean_rbs do
|
|
58
|
-
|
|
54
|
+
# sig/vendor/** holds hand-written signatures for third-party gems (e.g. Thor) with no
|
|
55
|
+
# corresponding lib/ source to regenerate from - excluded so a clean+regenerate cycle can't
|
|
56
|
+
# delete them with no way to get them back.
|
|
57
|
+
generated = FileList["#{OUTPUT_DIR}/**/*.rbs"].exclude("#{OUTPUT_DIR}/vendor/**")
|
|
58
|
+
|
|
59
|
+
generated.each do |file|
|
|
59
60
|
FileUtils.rm_f(file)
|
|
60
61
|
end
|
|
61
62
|
puts "🧹 Cleaned up all RBS files"
|
|
62
63
|
end
|
|
63
64
|
end
|
|
64
|
-
# rubocop:enable Metrics/BlockLength
|
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.
|
|
4
|
+
version: 0.1.14
|
|
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
|
|
@@ -195,14 +201,14 @@ dependencies:
|
|
|
195
201
|
requirements:
|
|
196
202
|
- - "~>"
|
|
197
203
|
- !ruby/object:Gem::Version
|
|
198
|
-
version: '
|
|
204
|
+
version: '4.0'
|
|
199
205
|
type: :development
|
|
200
206
|
prerelease: false
|
|
201
207
|
version_requirements: !ruby/object:Gem::Requirement
|
|
202
208
|
requirements:
|
|
203
209
|
- - "~>"
|
|
204
210
|
- !ruby/object:Gem::Version
|
|
205
|
-
version: '
|
|
211
|
+
version: '4.0'
|
|
206
212
|
- !ruby/object:Gem::Dependency
|
|
207
213
|
name: rspec
|
|
208
214
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -293,14 +299,14 @@ dependencies:
|
|
|
293
299
|
requirements:
|
|
294
300
|
- - "~>"
|
|
295
301
|
- !ruby/object:Gem::Version
|
|
296
|
-
version: '
|
|
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: '
|
|
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
|
|
@@ -415,6 +425,7 @@ files:
|
|
|
415
425
|
- lib/bidi2pdf/bidi/commands/browsing_context_navigate.rb
|
|
416
426
|
- lib/bidi2pdf/bidi/commands/browsing_context_print.rb
|
|
417
427
|
- lib/bidi2pdf/bidi/commands/cancel_auth.rb
|
|
428
|
+
- lib/bidi2pdf/bidi/commands/capture_screenshot.rb
|
|
418
429
|
- lib/bidi2pdf/bidi/commands/cdp_get_session.rb
|
|
419
430
|
- lib/bidi2pdf/bidi/commands/create_tab.rb
|
|
420
431
|
- lib/bidi2pdf/bidi/commands/create_window.rb
|
|
@@ -429,6 +440,7 @@ files:
|
|
|
429
440
|
- lib/bidi2pdf/bidi/commands/session_subscribe.rb
|
|
430
441
|
- lib/bidi2pdf/bidi/commands/set_tab_cookie.rb
|
|
431
442
|
- lib/bidi2pdf/bidi/commands/set_usercontext_cookie.rb
|
|
443
|
+
- lib/bidi2pdf/bidi/commands/set_viewport.rb
|
|
432
444
|
- lib/bidi2pdf/bidi/connection_manager.rb
|
|
433
445
|
- lib/bidi2pdf/bidi/event_manager.rb
|
|
434
446
|
- lib/bidi2pdf/bidi/interceptor.rb
|
|
@@ -471,6 +483,7 @@ files:
|
|
|
471
483
|
- lib/bidi2pdf/test_helpers/testcontainers.rb
|
|
472
484
|
- lib/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rb
|
|
473
485
|
- lib/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rb
|
|
486
|
+
- lib/bidi2pdf/test_helpers/testcontainers/container_endpoint.rb
|
|
474
487
|
- lib/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rb
|
|
475
488
|
- lib/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rb
|
|
476
489
|
- lib/bidi2pdf/verbose_logger.rb
|
|
@@ -479,6 +492,7 @@ files:
|
|
|
479
492
|
- sig/bidi2pdf/bidi/add_headers_interceptor.rbs
|
|
480
493
|
- sig/bidi2pdf/bidi/auth_interceptor.rbs
|
|
481
494
|
- sig/bidi2pdf/bidi/browser.rbs
|
|
495
|
+
- sig/bidi2pdf/bidi/browser_console_logger.rbs
|
|
482
496
|
- sig/bidi2pdf/bidi/browser_tab.rbs
|
|
483
497
|
- sig/bidi2pdf/bidi/client.rbs
|
|
484
498
|
- sig/bidi2pdf/bidi/command_manager.rbs
|
|
@@ -487,14 +501,18 @@ files:
|
|
|
487
501
|
- sig/bidi2pdf/bidi/commands/base.rbs
|
|
488
502
|
- sig/bidi2pdf/bidi/commands/browser_close.rbs
|
|
489
503
|
- sig/bidi2pdf/bidi/commands/browser_create_user_context.rbs
|
|
504
|
+
- sig/bidi2pdf/bidi/commands/browser_remove_user_context.rbs
|
|
490
505
|
- sig/bidi2pdf/bidi/commands/browsing_context_close.rbs
|
|
491
506
|
- sig/bidi2pdf/bidi/commands/browsing_context_navigate.rbs
|
|
492
507
|
- sig/bidi2pdf/bidi/commands/browsing_context_print.rbs
|
|
493
508
|
- sig/bidi2pdf/bidi/commands/cancel_auth.rbs
|
|
509
|
+
- sig/bidi2pdf/bidi/commands/capture_screenshot.rbs
|
|
510
|
+
- sig/bidi2pdf/bidi/commands/cdp_get_session.rbs
|
|
494
511
|
- sig/bidi2pdf/bidi/commands/create_tab.rbs
|
|
495
512
|
- sig/bidi2pdf/bidi/commands/create_window.rbs
|
|
496
513
|
- sig/bidi2pdf/bidi/commands/get_user_contexts.rbs
|
|
497
514
|
- sig/bidi2pdf/bidi/commands/network_continue.rbs
|
|
515
|
+
- sig/bidi2pdf/bidi/commands/page_print.rbs
|
|
498
516
|
- sig/bidi2pdf/bidi/commands/print_parameters_validator.rbs
|
|
499
517
|
- sig/bidi2pdf/bidi/commands/provide_credentials.rbs
|
|
500
518
|
- sig/bidi2pdf/bidi/commands/script_evaluate.rbs
|
|
@@ -503,20 +521,54 @@ files:
|
|
|
503
521
|
- sig/bidi2pdf/bidi/commands/session_subscribe.rbs
|
|
504
522
|
- sig/bidi2pdf/bidi/commands/set_tab_cookie.rbs
|
|
505
523
|
- sig/bidi2pdf/bidi/commands/set_usercontext_cookie.rbs
|
|
524
|
+
- sig/bidi2pdf/bidi/commands/set_viewport.rbs
|
|
506
525
|
- sig/bidi2pdf/bidi/connection_manager.rbs
|
|
507
526
|
- sig/bidi2pdf/bidi/event_manager.rbs
|
|
508
527
|
- sig/bidi2pdf/bidi/interceptor.rbs
|
|
528
|
+
- sig/bidi2pdf/bidi/js_logger_helper.rbs
|
|
529
|
+
- sig/bidi2pdf/bidi/logger_events.rbs
|
|
530
|
+
- sig/bidi2pdf/bidi/navigation_failed_events.rbs
|
|
509
531
|
- sig/bidi2pdf/bidi/network_event.rbs
|
|
532
|
+
- sig/bidi2pdf/bidi/network_event_formatters.rbs
|
|
533
|
+
- sig/bidi2pdf/bidi/network_event_formatters/network_event_console_formatter.rbs
|
|
534
|
+
- sig/bidi2pdf/bidi/network_event_formatters/network_event_formatter_utils.rbs
|
|
535
|
+
- sig/bidi2pdf/bidi/network_event_formatters/network_event_html_formatter.rbs
|
|
510
536
|
- sig/bidi2pdf/bidi/network_events.rbs
|
|
511
537
|
- sig/bidi2pdf/bidi/session.rbs
|
|
512
538
|
- sig/bidi2pdf/bidi/user_context.rbs
|
|
513
539
|
- sig/bidi2pdf/bidi/web_socket_dispatcher.rbs
|
|
514
540
|
- sig/bidi2pdf/chromedriver_manager.rbs
|
|
515
541
|
- sig/bidi2pdf/cli.rbs
|
|
542
|
+
- sig/bidi2pdf/dsl.rbs
|
|
516
543
|
- sig/bidi2pdf/launcher.rbs
|
|
544
|
+
- sig/bidi2pdf/notifications.rbs
|
|
545
|
+
- sig/bidi2pdf/notifications/event.rbs
|
|
546
|
+
- sig/bidi2pdf/notifications/instrumenter.rbs
|
|
547
|
+
- sig/bidi2pdf/notifications/logging_subscriber.rbs
|
|
517
548
|
- sig/bidi2pdf/process_tree.rbs
|
|
518
549
|
- sig/bidi2pdf/session_runner.rbs
|
|
519
|
-
- sig/bidi2pdf/
|
|
550
|
+
- sig/bidi2pdf/test_helpers.rbs
|
|
551
|
+
- sig/bidi2pdf/test_helpers/configuration.rbs
|
|
552
|
+
- sig/bidi2pdf/test_helpers/images.rbs
|
|
553
|
+
- sig/bidi2pdf/test_helpers/images/extractor.rbs
|
|
554
|
+
- sig/bidi2pdf/test_helpers/images/image_similarity_checker.rbs
|
|
555
|
+
- sig/bidi2pdf/test_helpers/images/tiff_helper.rbs
|
|
556
|
+
- sig/bidi2pdf/test_helpers/matchers/contains_pdf_image.rbs
|
|
557
|
+
- sig/bidi2pdf/test_helpers/matchers/contains_pdf_text.rbs
|
|
558
|
+
- sig/bidi2pdf/test_helpers/matchers/have_pdf_page_count.rbs
|
|
559
|
+
- sig/bidi2pdf/test_helpers/matchers/match_pdf_text.rbs
|
|
560
|
+
- sig/bidi2pdf/test_helpers/pdf_file_helper.rbs
|
|
561
|
+
- sig/bidi2pdf/test_helpers/pdf_reader_utils.rbs
|
|
562
|
+
- sig/bidi2pdf/test_helpers/pdf_text_sanitizer.rbs
|
|
563
|
+
- sig/bidi2pdf/test_helpers/spec_paths_helper.rbs
|
|
564
|
+
- sig/bidi2pdf/test_helpers/testcontainers.rbs
|
|
565
|
+
- sig/bidi2pdf/test_helpers/testcontainers/chromedriver_container.rbs
|
|
566
|
+
- sig/bidi2pdf/test_helpers/testcontainers/chromedriver_test_helper.rbs
|
|
567
|
+
- sig/bidi2pdf/test_helpers/testcontainers/container_endpoint.rbs
|
|
568
|
+
- sig/bidi2pdf/test_helpers/testcontainers/shared_docker_network.rbs
|
|
569
|
+
- sig/bidi2pdf/test_helpers/testcontainers/testcontainers_refinement.rbs
|
|
570
|
+
- sig/bidi2pdf/verbose_logger.rbs
|
|
571
|
+
- sig/bidi2pdf/version.rbs
|
|
520
572
|
- sig/vendor/thor.rbs
|
|
521
573
|
- tasks/changelog.rake
|
|
522
574
|
- tasks/coverage.rake
|
|
@@ -538,14 +590,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
538
590
|
requirements:
|
|
539
591
|
- - ">="
|
|
540
592
|
- !ruby/object:Gem::Version
|
|
541
|
-
version: 3.
|
|
593
|
+
version: 3.4.0
|
|
542
594
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
543
595
|
requirements:
|
|
544
596
|
- - ">="
|
|
545
597
|
- !ruby/object:Gem::Version
|
|
546
598
|
version: '0'
|
|
547
599
|
requirements: []
|
|
548
|
-
rubygems_version: 3.6.
|
|
600
|
+
rubygems_version: 3.6.9
|
|
549
601
|
specification_version: 4
|
|
550
602
|
summary: A Ruby gem that generates PDFs from web pages using Chrome's BiDi protocol,
|
|
551
603
|
providing high-quality PDF documents from any URL with full support for modern web
|