sass-embedded 0.17.0 → 0.18.3
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/ext/sass/extconf.rb +1 -1
- data/lib/sass/compile_error.rb +11 -3
- data/lib/sass/embedded/compile_context/function_registry.rb +6 -3
- data/lib/sass/embedded/compile_context/importer_registry.rb +6 -4
- data/lib/sass/embedded/compile_context/value_protofier.rb +3 -3
- data/lib/sass/embedded/compile_context.rb +2 -2
- data/lib/sass/embedded/compiler.rb +15 -8
- data/lib/sass/embedded/legacy.rb +1 -1
- data/lib/sass/embedded/protofier.rb +2 -2
- data/lib/sass/embedded/structifier.rb +5 -1
- data/lib/sass/embedded/version.rb +1 -1
- data/lib/sass.rb +0 -1
- metadata +5 -6
- data/lib/sass/embedded/compiler/path.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc4a508736aaa5f9027fdef79ee94818b654039c1f2d50466ef2143abb405028
|
4
|
+
data.tar.gz: 16f20ce568c5db54cf8612c7e7fcd238005f488b050fcf0a6f48b2fe93112be9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1354199d1d4816557ddb4f64a8c266fea74a4712dc36d8004e1ce26d249b8c2e46a74d83edce9c4fb4ad01c143d47d95326502366cfff8284d6e9d76515d439d
|
7
|
+
data.tar.gz: 6ff13850fabab22c14e40520e7f8bfd95bcb7d68cfe02b5b901bfa4c566a2b3ba4bcf6a3aa2bb28733684fec1c6731cd7e2d8ea3c3c194d975b5023313844f74
|
data/ext/sass/extconf.rb
CHANGED
data/lib/sass/compile_error.rb
CHANGED
@@ -3,13 +3,21 @@
|
|
3
3
|
module Sass
|
4
4
|
# An exception thrown because a Sass compilation failed.
|
5
5
|
class CompileError < StandardError
|
6
|
-
attr_accessor :
|
6
|
+
attr_accessor :sass_stack, :span
|
7
7
|
|
8
|
-
def initialize(message,
|
8
|
+
def initialize(message, full_message, sass_stack, span)
|
9
9
|
super(message)
|
10
|
-
@
|
10
|
+
@full_message = full_message
|
11
11
|
@sass_stack = sass_stack
|
12
12
|
@span = span
|
13
13
|
end
|
14
|
+
|
15
|
+
def full_message(*)
|
16
|
+
if @full_message.nil?
|
17
|
+
super
|
18
|
+
else
|
19
|
+
@full_message
|
20
|
+
end
|
21
|
+
end
|
14
22
|
end
|
15
23
|
end
|
@@ -7,7 +7,7 @@ module Sass
|
|
7
7
|
class FunctionRegistry
|
8
8
|
attr_reader :global_functions
|
9
9
|
|
10
|
-
def initialize(functions)
|
10
|
+
def initialize(functions, highlight:)
|
11
11
|
functions = functions.transform_keys(&:to_s)
|
12
12
|
|
13
13
|
@global_functions = functions.keys
|
@@ -20,9 +20,12 @@ module Sass
|
|
20
20
|
signature
|
21
21
|
end
|
22
22
|
end
|
23
|
+
|
24
|
+
@id = 0
|
23
25
|
@functions_by_id = {}
|
24
26
|
@ids_by_function = {}
|
25
|
-
|
27
|
+
|
28
|
+
@highlight = highlight
|
26
29
|
end
|
27
30
|
|
28
31
|
def register(function)
|
@@ -59,7 +62,7 @@ module Sass
|
|
59
62
|
rescue StandardError => e
|
60
63
|
EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
|
61
64
|
id: function_call_request.id,
|
62
|
-
error: e.
|
65
|
+
error: e.full_message(highlight: @highlight, order: :top)
|
63
66
|
)
|
64
67
|
end
|
65
68
|
|
@@ -7,7 +7,7 @@ module Sass
|
|
7
7
|
class ImporterRegistry
|
8
8
|
attr_reader :importers
|
9
9
|
|
10
|
-
def initialize(importers, load_paths)
|
10
|
+
def initialize(importers, load_paths, highlight:)
|
11
11
|
@id = 0
|
12
12
|
@importers_by_id = {}
|
13
13
|
@importers = importers
|
@@ -17,6 +17,8 @@ module Sass
|
|
17
17
|
path: File.absolute_path(load_path)
|
18
18
|
)
|
19
19
|
end)
|
20
|
+
|
21
|
+
@highlight = highlight
|
20
22
|
end
|
21
23
|
|
22
24
|
def register(importer)
|
@@ -52,7 +54,7 @@ module Sass
|
|
52
54
|
rescue StandardError => e
|
53
55
|
EmbeddedProtocol::InboundMessage::CanonicalizeResponse.new(
|
54
56
|
id: canonicalize_request.id,
|
55
|
-
error: e.
|
57
|
+
error: e.full_message(highlight: @highlight, order: :top)
|
56
58
|
)
|
57
59
|
end
|
58
60
|
|
@@ -71,7 +73,7 @@ module Sass
|
|
71
73
|
rescue StandardError => e
|
72
74
|
EmbeddedProtocol::InboundMessage::ImportResponse.new(
|
73
75
|
id: import_request.id,
|
74
|
-
error: e.
|
76
|
+
error: e.full_message(highlight: @highlight, order: :top)
|
75
77
|
)
|
76
78
|
end
|
77
79
|
|
@@ -88,7 +90,7 @@ module Sass
|
|
88
90
|
rescue StandardError => e
|
89
91
|
EmbeddedProtocol::InboundMessage::FileImportResponse.new(
|
90
92
|
id: file_import_request.id,
|
91
|
-
error: e.
|
93
|
+
error: e.full_message(highlight: @highlight, order: :top)
|
92
94
|
)
|
93
95
|
end
|
94
96
|
end
|
@@ -112,7 +112,7 @@ module Sass
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def from_proto(proto)
|
115
|
-
obj = proto.
|
115
|
+
obj = proto.send(proto.value)
|
116
116
|
case proto.value
|
117
117
|
when :string
|
118
118
|
Sass::Value::String.new(
|
@@ -122,8 +122,8 @@ module Sass
|
|
122
122
|
when :number
|
123
123
|
Sass::Value::Number.new(
|
124
124
|
obj.value,
|
125
|
-
obj.numerators,
|
126
|
-
obj.denominators
|
125
|
+
obj.numerators.to_a,
|
126
|
+
obj.denominators.to_a
|
127
127
|
)
|
128
128
|
when :rgb_color
|
129
129
|
Sass::Value::Color.new(
|
@@ -27,8 +27,8 @@ module Sass
|
|
27
27
|
logger:,
|
28
28
|
quiet_deps:,
|
29
29
|
verbose:)
|
30
|
-
@function_registery = FunctionRegistry.new(functions)
|
31
|
-
@importer_registery = ImporterRegistry.new(importers, load_paths)
|
30
|
+
@function_registery = FunctionRegistry.new(functions, highlight: alert_color)
|
31
|
+
@importer_registery = ImporterRegistry.new(importers, load_paths, highlight: alert_color)
|
32
32
|
@logger_registery = LoggerRegistry.new(logger)
|
33
33
|
|
34
34
|
super(channel)
|
@@ -11,6 +11,10 @@ module Sass
|
|
11
11
|
class Compiler
|
12
12
|
include Observable
|
13
13
|
|
14
|
+
PATH = File.absolute_path(
|
15
|
+
"../../../ext/sass/sass_embedded/dart-sass-embedded#{Gem.win_platform? ? '.bat' : ''}", __dir__
|
16
|
+
)
|
17
|
+
|
14
18
|
PROTOCOL_ERROR_ID = 4_294_967_295
|
15
19
|
|
16
20
|
def initialize
|
@@ -29,11 +33,11 @@ module Sass
|
|
29
33
|
end
|
30
34
|
end
|
31
35
|
|
32
|
-
def add_observer(*
|
36
|
+
def add_observer(*)
|
33
37
|
@observerable_mutex.synchronize do
|
34
38
|
raise ProtocolError, 'half-closed compiler' if half_closed?
|
35
39
|
|
36
|
-
super
|
40
|
+
super
|
37
41
|
|
38
42
|
id = @id
|
39
43
|
@id = @id.next
|
@@ -41,9 +45,9 @@ module Sass
|
|
41
45
|
end
|
42
46
|
end
|
43
47
|
|
44
|
-
def delete_observer(*
|
48
|
+
def delete_observer(*)
|
45
49
|
@observerable_mutex.synchronize do
|
46
|
-
super
|
50
|
+
super
|
47
51
|
|
48
52
|
close if half_closed? && count_observers.zero?
|
49
53
|
end
|
@@ -81,9 +85,7 @@ module Sass
|
|
81
85
|
Thread.new do
|
82
86
|
loop do
|
83
87
|
yield
|
84
|
-
rescue StandardError
|
85
|
-
notify_observers(e, nil)
|
86
|
-
close
|
88
|
+
rescue StandardError
|
87
89
|
break
|
88
90
|
end
|
89
91
|
end
|
@@ -99,7 +101,8 @@ module Sass
|
|
99
101
|
def receive_message(message)
|
100
102
|
case message
|
101
103
|
when EmbeddedProtocol::ProtocolError
|
102
|
-
|
104
|
+
notify_observers(ProtocolError.new(message.message), nil)
|
105
|
+
close
|
103
106
|
else
|
104
107
|
notify_observers(nil, message)
|
105
108
|
end
|
@@ -108,6 +111,10 @@ module Sass
|
|
108
111
|
def read
|
109
112
|
length = Varint.read(@stdout)
|
110
113
|
@stdout.read(length)
|
114
|
+
rescue IOError => e
|
115
|
+
notify_observers(e, nil)
|
116
|
+
close
|
117
|
+
raise e
|
111
118
|
end
|
112
119
|
|
113
120
|
def write(payload)
|
data/lib/sass/embedded/legacy.rb
CHANGED
@@ -18,8 +18,8 @@ module Sass
|
|
18
18
|
def from_proto_compile_response(compile_response)
|
19
19
|
if compile_response.result == :failure
|
20
20
|
raise CompileError.new(
|
21
|
-
compile_response.failure.formatted || compile_response.failure.message,
|
22
21
|
compile_response.failure.message,
|
22
|
+
compile_response.failure.formatted,
|
23
23
|
compile_response.failure.stack_trace,
|
24
24
|
from_proto_source_span(compile_response.failure.span)
|
25
25
|
)
|
@@ -52,7 +52,7 @@ module Sass
|
|
52
52
|
|
53
53
|
def from_proto_message(proto)
|
54
54
|
message = EmbeddedProtocol::OutboundMessage.decode(proto)
|
55
|
-
message.
|
55
|
+
message.send(message.message)
|
56
56
|
end
|
57
57
|
|
58
58
|
def to_proto_message(message)
|
@@ -13,7 +13,11 @@ module Sass
|
|
13
13
|
obj.each do |key, value|
|
14
14
|
if value.respond_to? :call
|
15
15
|
struct.define_singleton_method key.to_sym do |*args, **kwargs|
|
16
|
-
|
16
|
+
if kwargs.empty?
|
17
|
+
value.call(*args)
|
18
|
+
else
|
19
|
+
value.call(*args, **kwargs)
|
20
|
+
end
|
17
21
|
end
|
18
22
|
else
|
19
23
|
struct.define_singleton_method key.to_sym do
|
data/lib/sass.rb
CHANGED
@@ -11,7 +11,6 @@ require_relative 'sass/embedded/compile_context/importer_registry'
|
|
11
11
|
require_relative 'sass/embedded/compile_context/logger_registry'
|
12
12
|
require_relative 'sass/embedded/compile_context/value_protofier'
|
13
13
|
require_relative 'sass/embedded/compiler'
|
14
|
-
require_relative 'sass/embedded/compiler/path'
|
15
14
|
require_relative 'sass/embedded_protocol'
|
16
15
|
require_relative 'sass/embedded/legacy'
|
17
16
|
require_relative 'sass/embedded/protocol_error'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sass-embedded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- なつき
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -135,7 +135,6 @@ files:
|
|
135
135
|
- lib/sass/embedded/compile_context/logger_registry.rb
|
136
136
|
- lib/sass/embedded/compile_context/value_protofier.rb
|
137
137
|
- lib/sass/embedded/compiler.rb
|
138
|
-
- lib/sass/embedded/compiler/path.rb
|
139
138
|
- lib/sass/embedded/legacy.rb
|
140
139
|
- lib/sass/embedded/observer.rb
|
141
140
|
- lib/sass/embedded/protocol_error.rb
|
@@ -165,8 +164,8 @@ homepage: https://github.com/ntkme/sass-embedded-host-ruby
|
|
165
164
|
licenses:
|
166
165
|
- MIT
|
167
166
|
metadata:
|
168
|
-
documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.
|
169
|
-
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.
|
167
|
+
documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.18.3
|
168
|
+
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.18.3
|
170
169
|
funding_uri: https://github.com/sponsors/ntkme
|
171
170
|
post_install_message:
|
172
171
|
rdoc_options: []
|
@@ -176,7 +175,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
175
|
requirements:
|
177
176
|
- - ">="
|
178
177
|
- !ruby/object:Gem::Version
|
179
|
-
version: 2.
|
178
|
+
version: 2.6.0
|
180
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
180
|
requirements:
|
182
181
|
- - ">="
|