triangulum 0.30.2-aarch64-linux-gnu → 0.31.0-aarch64-linux-gnu

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.
@@ -4,22 +4,12 @@ module Triangulum
4
4
  # == Triangulum::Validation
5
5
  # This class implements the validation using the typescript package
6
6
  class Validation
7
- class TriangulumFailed < Triangulum::Error
8
- end
9
-
10
- class BunNotFound < Triangulum::Error
11
- end
7
+ include Executor
12
8
 
13
9
  Result = Struct.new(:valid?, :return_type, :diagnostics, keyword_init: true)
14
10
  Diagnostic = Struct.new(:message, :code, :severity, :node_id, :parameter_index, keyword_init: true)
15
11
 
16
12
  ENTRYPOINT = File.expand_path('js/single-validation.js', __dir__)
17
- BUN_EXE = Dir.glob(File.expand_path('../../exe/*/bun', __dir__)).find do |path|
18
- platform = Gem::Platform.new(File.basename(File.dirname(path)))
19
- Gem::Platform.match_gem?(platform, Gem::Platform.local.to_s)
20
- end
21
-
22
- IS_RUBY_PLATFORM_GEM = Dir.glob(File.expand_path('../../exe/*/bun', __dir__)).empty?
23
13
 
24
14
  attr_reader :flow, :function_definitions, :data_types
25
15
 
@@ -32,32 +22,13 @@ module Triangulum
32
22
  def validate
33
23
  input = serialize_input
34
24
 
35
- output = run_ts_triangulum(input)
25
+ output = run_ts_triangulum(ENTRYPOINT, input)
36
26
 
37
27
  parse_output(output)
38
28
  end
39
29
 
40
30
  private
41
31
 
42
- def run_ts_triangulum(input)
43
- stdout_s, stderr_s, status = Open3.capture3(
44
- bun, 'run', ENTRYPOINT,
45
- stdin_data: input
46
- )
47
-
48
- unless status.success?
49
- status_info = if status.signaled?
50
- "SIGNAL: #{status.termsig}"
51
- else
52
- "STATUS: #{status.exitstatus}"
53
- end
54
-
55
- raise TriangulumFailed, "#{status_info}\n\nOUT:\n#{stdout_s}\n\nERR:\n#{stderr_s}"
56
- end
57
-
58
- stdout_s
59
- end
60
-
61
32
  def serialize_input
62
33
  input = []
63
34
 
@@ -96,15 +67,5 @@ module Triangulum
96
67
  end
97
68
  )
98
69
  end
99
-
100
- def bun
101
- if IS_RUBY_PLATFORM_GEM
102
- 'bun'
103
- else
104
- raise BunNotFound, "No bundled bun binary found for #{Gem::Platform.local}" if BUN_EXE.nil?
105
-
106
- BUN_EXE
107
- end
108
- end
109
70
  end
110
71
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Triangulum
4
- VERSION = '0.30.2'
4
+ VERSION = '0.31.0'
5
5
  end
data/lib/triangulum.rb CHANGED
@@ -9,4 +9,6 @@ module Triangulum
9
9
  end
10
10
 
11
11
  require_relative 'triangulum/version'
12
+ require_relative 'triangulum/executor'
13
+ require_relative 'triangulum/flow_schema_extraction'
12
14
  require_relative 'triangulum/validation'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: triangulum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.2
4
+ version: 0.31.0
5
5
  platform: aarch64-linux-gnu
6
6
  authors:
7
7
  - Niklas van Schrick
@@ -60,7 +60,7 @@ dependencies:
60
60
  version: '0.0'
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 0.0.72
63
+ version: 0.0.78
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
@@ -70,7 +70,7 @@ dependencies:
70
70
  version: '0.0'
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 0.0.72
73
+ version: 0.0.78
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: irb
76
76
  requirement: !ruby/object:Gem::Requirement
@@ -178,6 +178,9 @@ files:
178
178
  - README.md
179
179
  - exe/aarch64-linux-gnu/bun
180
180
  - lib/triangulum.rb
181
+ - lib/triangulum/executor.rb
182
+ - lib/triangulum/flow_schema_extraction.rb
183
+ - lib/triangulum/js/flow-schema-extraction.js
181
184
  - lib/triangulum/js/single-validation.js
182
185
  - lib/triangulum/validation.rb
183
186
  - lib/triangulum/version.rb