sass-embedded 1.62.1-x86-mingw32 → 1.63.1-x86-mingw32
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/README.md +7 -1
- data/exe/sass +21 -0
- data/ext/sass/cli.rb +12 -0
- data/ext/sass/dart-sass/sass.bat +7 -0
- data/ext/sass/{sass_embedded → dart-sass}/src/LICENSE +157 -34
- data/ext/sass/{sass_embedded → dart-sass}/src/dart.exe +0 -0
- data/ext/sass/{sass_embedded/src/dart-sass-embedded.snapshot → dart-sass/src/sass.snapshot} +0 -0
- data/ext/sass/embedded_sass_pb.rb +24 -291
- data/lib/sass/compile_error.rb +12 -10
- data/lib/sass/compile_result.rb +1 -1
- data/lib/sass/elf.rb +276 -0
- data/lib/sass/embedded/channel.rb +3 -3
- data/lib/sass/embedded/compiler.rb +11 -8
- data/lib/sass/embedded/dispatcher.rb +26 -30
- data/lib/sass/embedded/host/logger_registry.rb +27 -24
- data/lib/sass/embedded/host.rb +50 -20
- data/lib/sass/embedded/protofier.rb +8 -7
- data/lib/sass/embedded/varint.rb +6 -0
- data/lib/sass/embedded/version.rb +1 -1
- data/lib/sass/embedded.rb +3 -4
- data/lib/sass/logger/source_span.rb +2 -2
- metadata +17 -100
- data/ext/sass/embedded.rb +0 -12
- data/ext/sass/sass_embedded/dart-sass-embedded.bat +0 -7
- data/lib/sass/embedded/async.rb +0 -58
- data/lib/sass/embedded/elf.rb +0 -275
@@ -6,17 +6,17 @@ module Sass
|
|
6
6
|
class Embedded
|
7
7
|
# The {Compiler} class.
|
8
8
|
#
|
9
|
-
# It runs the `
|
9
|
+
# It runs the `sass --embedded` process.
|
10
10
|
class Compiler
|
11
11
|
def initialize
|
12
12
|
@stdin, @stdout, @stderr, @wait_thread = begin
|
13
|
-
Open3.popen3(*COMMAND, chdir: __dir__)
|
13
|
+
Open3.popen3(*CLI::COMMAND, '--embedded', chdir: __dir__)
|
14
14
|
rescue Errno::ENOENT
|
15
|
-
require_relative 'elf'
|
15
|
+
require_relative '../elf'
|
16
16
|
|
17
17
|
raise if ELF::INTERPRETER.nil?
|
18
18
|
|
19
|
-
Open3.popen3(ELF::INTERPRETER, *COMMAND, chdir: __dir__)
|
19
|
+
Open3.popen3(ELF::INTERPRETER, *CLI::COMMAND, '--embedded', chdir: __dir__)
|
20
20
|
end
|
21
21
|
|
22
22
|
@stdin.binmode
|
@@ -49,17 +49,20 @@ module Sass
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
-
def write(
|
52
|
+
def write(id, proto)
|
53
53
|
@stdin_mutex.synchronize do
|
54
|
-
Varint.write(@stdin,
|
55
|
-
|
54
|
+
Varint.write(@stdin, Varint.length(id) + proto.length)
|
55
|
+
Varint.write(@stdin, id)
|
56
|
+
@stdin.write(proto)
|
56
57
|
end
|
57
58
|
end
|
58
59
|
|
59
60
|
def read
|
60
61
|
@stdout_mutex.synchronize do
|
61
62
|
length = Varint.read(@stdout)
|
62
|
-
|
63
|
+
id = Varint.read(@stdout)
|
64
|
+
proto = @stdout.read(length - Varint.length(id))
|
65
|
+
return id, proto
|
63
66
|
end
|
64
67
|
end
|
65
68
|
end
|
@@ -6,23 +6,23 @@ module Sass
|
|
6
6
|
#
|
7
7
|
# It dispatches messages between mutliple instances of {Host} and a single {Compiler}.
|
8
8
|
class Dispatcher
|
9
|
-
|
9
|
+
UINT_MAX = 0xffffffff
|
10
10
|
|
11
11
|
def initialize
|
12
12
|
@compiler = Compiler.new
|
13
13
|
@observers = {}
|
14
|
-
@id =
|
14
|
+
@id = 1
|
15
15
|
@mutex = Mutex.new
|
16
16
|
|
17
17
|
Thread.new do
|
18
18
|
loop do
|
19
|
-
|
20
|
-
rescue IOError, Errno::EBADF => e
|
19
|
+
receive_proto
|
20
|
+
rescue IOError, Errno::EBADF, Errno::EPROTO => e
|
21
21
|
@mutex.synchronize do
|
22
|
-
@id =
|
22
|
+
@id = UINT_MAX
|
23
23
|
@observers.values
|
24
24
|
end.each do |observer|
|
25
|
-
observer.error
|
25
|
+
observer.error(e)
|
26
26
|
end
|
27
27
|
break
|
28
28
|
end
|
@@ -31,7 +31,7 @@ module Sass
|
|
31
31
|
|
32
32
|
def subscribe(observer)
|
33
33
|
@mutex.synchronize do
|
34
|
-
raise
|
34
|
+
raise Errno::EBUSY if @id == UINT_MAX
|
35
35
|
|
36
36
|
id = @id
|
37
37
|
@id = id.next
|
@@ -46,10 +46,10 @@ module Sass
|
|
46
46
|
|
47
47
|
return unless @observers.empty?
|
48
48
|
|
49
|
-
if @id ==
|
49
|
+
if @id == UINT_MAX
|
50
50
|
close
|
51
51
|
else
|
52
|
-
@id =
|
52
|
+
@id = 1
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -62,33 +62,29 @@ module Sass
|
|
62
62
|
@compiler.closed?
|
63
63
|
end
|
64
64
|
|
65
|
-
def
|
66
|
-
|
67
|
-
@compiler.write(inbound_message.to_proto)
|
65
|
+
def send_proto(...)
|
66
|
+
@compiler.write(...)
|
68
67
|
end
|
69
68
|
|
70
69
|
private
|
71
70
|
|
72
|
-
def
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
when
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end.each do |observer|
|
82
|
-
observer.public_send(oneof, message)
|
83
|
-
end
|
84
|
-
when :compile_response, :version_response
|
71
|
+
def receive_proto
|
72
|
+
id, proto = @compiler.read
|
73
|
+
case id
|
74
|
+
when 1...UINT_MAX
|
75
|
+
@mutex.synchronize { @observers[id] }.receive_proto(proto)
|
76
|
+
when 0
|
77
|
+
outbound_message = EmbeddedProtocol::OutboundMessage.decode(proto)
|
78
|
+
oneof = outbound_message.message
|
79
|
+
message = outbound_message.public_send(oneof)
|
85
80
|
@mutex.synchronize { @observers[message.id] }.public_send(oneof, message)
|
86
|
-
when
|
87
|
-
|
88
|
-
|
89
|
-
|
81
|
+
when UINT_MAX
|
82
|
+
outbound_message = EmbeddedProtocol::OutboundMessage.decode(proto)
|
83
|
+
oneof = outbound_message.message
|
84
|
+
message = outbound_message.public_send(oneof)
|
85
|
+
raise Errno::EPROTO, message.message
|
90
86
|
else
|
91
|
-
raise
|
87
|
+
raise Errno::EPROTO
|
92
88
|
end
|
93
89
|
end
|
94
90
|
end
|
@@ -7,41 +7,44 @@ module Sass
|
|
7
7
|
#
|
8
8
|
# It stores logger and handles log events.
|
9
9
|
class LoggerRegistry
|
10
|
-
attr_reader :logger
|
11
|
-
|
12
10
|
def initialize(logger)
|
13
|
-
|
14
|
-
end
|
11
|
+
logger = Structifier.to_struct(logger, :debug, :warn)
|
15
12
|
|
16
|
-
|
17
|
-
|
18
|
-
when :DEBUG
|
19
|
-
if logger.respond_to? :debug
|
13
|
+
if logger.respond_to?(:debug)
|
14
|
+
define_singleton_method(:debug) do |event|
|
20
15
|
logger.debug(event.message,
|
21
16
|
span: Protofier.from_proto_source_span(event.span))
|
22
|
-
else
|
23
|
-
warn(event.formatted)
|
24
17
|
end
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
span: Protofier.from_proto_source_span(event.span),
|
30
|
-
stack: event.stack_trace)
|
31
|
-
else
|
32
|
-
warn(event.formatted)
|
33
|
-
end
|
34
|
-
when :WARNING
|
35
|
-
if logger.respond_to? :warn
|
18
|
+
end
|
19
|
+
|
20
|
+
if logger.respond_to?(:warn) # rubocop:disable Style/GuardClause
|
21
|
+
define_singleton_method(:warn) do |event|
|
36
22
|
logger.warn(event.message,
|
37
|
-
deprecation:
|
23
|
+
deprecation: event.type == :DEPRECATION_WARNING,
|
38
24
|
span: Protofier.from_proto_source_span(event.span),
|
39
25
|
stack: event.stack_trace)
|
40
|
-
else
|
41
|
-
warn(event.formatted)
|
42
26
|
end
|
43
27
|
end
|
44
28
|
end
|
29
|
+
|
30
|
+
def log(event)
|
31
|
+
case event.type
|
32
|
+
when :DEBUG
|
33
|
+
debug(event)
|
34
|
+
when :DEPRECATION_WARNING, :WARNING
|
35
|
+
warn(event)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def debug(event)
|
42
|
+
Kernel.warn(event.formatted)
|
43
|
+
end
|
44
|
+
|
45
|
+
def warn(event)
|
46
|
+
Kernel.warn(event.formatted)
|
47
|
+
end
|
45
48
|
end
|
46
49
|
|
47
50
|
private_constant :LoggerRegistry
|
data/lib/sass/embedded/host.rb
CHANGED
@@ -40,7 +40,6 @@ module Sass
|
|
40
40
|
@logger_registry = LoggerRegistry.new(logger)
|
41
41
|
|
42
42
|
send_message(compile_request: EmbeddedProtocol::InboundMessage::CompileRequest.new(
|
43
|
-
id: id,
|
44
43
|
string: unless source.nil?
|
45
44
|
EmbeddedProtocol::InboundMessage::CompileRequest::StringInput.new(
|
46
45
|
source: source,
|
@@ -67,8 +66,8 @@ module Sass
|
|
67
66
|
end
|
68
67
|
|
69
68
|
def version_request
|
70
|
-
version_response =
|
71
|
-
|
69
|
+
version_response = await0 do
|
70
|
+
send_message0(version_request: EmbeddedProtocol::InboundMessage::VersionRequest.new(
|
72
71
|
id: id
|
73
72
|
))
|
74
73
|
end
|
@@ -76,16 +75,23 @@ module Sass
|
|
76
75
|
"sass-embedded\t#{version_response.implementation_version}"
|
77
76
|
end
|
78
77
|
|
79
|
-
def log_event(message)
|
80
|
-
@logger_registry.log(message)
|
81
|
-
end
|
82
|
-
|
83
78
|
def compile_response(message)
|
84
|
-
|
79
|
+
@result = message
|
80
|
+
@queue.close
|
85
81
|
end
|
86
82
|
|
87
83
|
def version_response(message)
|
88
|
-
|
84
|
+
@result = message
|
85
|
+
@queue.close
|
86
|
+
end
|
87
|
+
|
88
|
+
def error(message)
|
89
|
+
@error = message
|
90
|
+
@queue.close
|
91
|
+
end
|
92
|
+
|
93
|
+
def log_event(message)
|
94
|
+
@logger_registry.log(message)
|
89
95
|
end
|
90
96
|
|
91
97
|
def canonicalize_request(message)
|
@@ -104,35 +110,59 @@ module Sass
|
|
104
110
|
send_message(function_call_response: @function_registry.function_call(message))
|
105
111
|
end
|
106
112
|
|
107
|
-
def
|
108
|
-
|
113
|
+
def receive_proto(proto)
|
114
|
+
@queue.push(proto)
|
109
115
|
end
|
110
116
|
|
111
117
|
private
|
112
118
|
|
113
|
-
def
|
119
|
+
def await0
|
114
120
|
@connection = @channel.connect(self)
|
115
|
-
@
|
121
|
+
@queue = Queue.new
|
122
|
+
|
116
123
|
yield
|
117
|
-
|
124
|
+
|
125
|
+
@queue.pop
|
126
|
+
|
127
|
+
raise @error if @error
|
128
|
+
|
129
|
+
@result
|
118
130
|
ensure
|
119
131
|
@connection&.disconnect
|
120
132
|
end
|
121
133
|
|
122
|
-
def
|
123
|
-
@
|
124
|
-
|
134
|
+
def await
|
135
|
+
@connection = @channel.connect(self)
|
136
|
+
@queue = Queue.new
|
137
|
+
|
138
|
+
yield
|
125
139
|
|
126
|
-
|
127
|
-
|
140
|
+
while (proto = @queue.pop)
|
141
|
+
outbound_message = EmbeddedProtocol::OutboundMessage.decode(proto)
|
142
|
+
oneof = outbound_message.message
|
143
|
+
message = outbound_message.public_send(oneof)
|
144
|
+
public_send(oneof, message)
|
145
|
+
end
|
146
|
+
|
147
|
+
raise @error if @error
|
148
|
+
|
149
|
+
@result
|
150
|
+
ensure
|
151
|
+
@connection&.disconnect
|
128
152
|
end
|
129
153
|
|
130
154
|
def id
|
131
155
|
@connection.id
|
132
156
|
end
|
133
157
|
|
158
|
+
def send_message0(...)
|
159
|
+
inbound_message = EmbeddedProtocol::InboundMessage.new(...)
|
160
|
+
@connection.send_proto(0, inbound_message.to_proto)
|
161
|
+
end
|
162
|
+
|
134
163
|
def send_message(...)
|
135
|
-
|
164
|
+
inbound_message = EmbeddedProtocol::InboundMessage.new(...)
|
165
|
+
@connection.send_proto(id, inbound_message.to_proto)
|
136
166
|
end
|
137
167
|
end
|
138
168
|
|
@@ -15,15 +15,16 @@ module Sass
|
|
15
15
|
when :failure
|
16
16
|
raise CompileError.new(
|
17
17
|
result.message,
|
18
|
-
result.formatted,
|
19
|
-
result.stack_trace,
|
20
|
-
from_proto_source_span(result.span)
|
18
|
+
result.formatted == '' ? nil : result.formatted,
|
19
|
+
result.stack_trace == '' ? nil : result.stack_trace,
|
20
|
+
from_proto_source_span(result.span),
|
21
|
+
compile_response.loaded_urls
|
21
22
|
)
|
22
23
|
when :success
|
23
24
|
CompileResult.new(
|
24
25
|
result.css,
|
25
|
-
result.source_map,
|
26
|
-
|
26
|
+
result.source_map == '' ? nil : result.source_map,
|
27
|
+
compile_response.loaded_urls
|
27
28
|
)
|
28
29
|
else
|
29
30
|
raise ArgumentError, "Unknown CompileResponse.result #{result}"
|
@@ -36,8 +37,8 @@ module Sass
|
|
36
37
|
Logger::SourceSpan.new(from_proto_source_location(source_span.start),
|
37
38
|
from_proto_source_location(source_span.end),
|
38
39
|
source_span.text,
|
39
|
-
source_span.url,
|
40
|
-
source_span.context)
|
40
|
+
source_span.url == '' ? nil : source_span.url,
|
41
|
+
source_span.context == '' ? nil : source_span.context)
|
41
42
|
end
|
42
43
|
|
43
44
|
def from_proto_source_location(source_location)
|
data/lib/sass/embedded/varint.rb
CHANGED
data/lib/sass/embedded.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../../ext/sass/
|
3
|
+
require_relative '../../ext/sass/cli'
|
4
4
|
require_relative '../../ext/sass/embedded_sass_pb'
|
5
5
|
require_relative 'compile_error'
|
6
6
|
require_relative 'compile_result'
|
7
|
-
require_relative 'embedded/async'
|
8
7
|
require_relative 'embedded/channel'
|
9
8
|
require_relative 'embedded/compiler'
|
10
9
|
require_relative 'embedded/dispatcher'
|
@@ -80,8 +79,8 @@ module Sass
|
|
80
79
|
end
|
81
80
|
# rubocop:enable Layout/LineLength
|
82
81
|
|
83
|
-
# The {Embedded} host for using dart-sass
|
84
|
-
#
|
82
|
+
# The {Embedded} host for using dart-sass. Each instance creates its own
|
83
|
+
# communication {Channel} with a dedicated compiler process.
|
85
84
|
#
|
86
85
|
# @example
|
87
86
|
# embedded = Sass::Embedded.new
|
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: 1.
|
4
|
+
version: 1.63.1
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- なつき
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -16,123 +16,40 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '3.
|
19
|
+
version: '3.23'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '3.
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 10.0.0
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 10.0.0
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rspec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.12.0
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.12.0
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.50.0
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 1.50.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rubocop-performance
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.17.1
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.17.1
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop-rake
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 0.6.0
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 0.6.0
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-rspec
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 2.20.0
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 2.20.0
|
26
|
+
version: '3.23'
|
111
27
|
description: A Ruby library that will communicate with Embedded Dart Sass using the
|
112
28
|
Embedded Sass protocol.
|
113
29
|
email:
|
114
30
|
- i@ntk.me
|
115
|
-
executables:
|
31
|
+
executables:
|
32
|
+
- sass
|
116
33
|
extensions: []
|
117
34
|
extra_rdoc_files: []
|
118
35
|
files:
|
119
36
|
- LICENSE
|
120
37
|
- README.md
|
121
|
-
-
|
38
|
+
- exe/sass
|
39
|
+
- ext/sass/cli.rb
|
40
|
+
- ext/sass/dart-sass/sass.bat
|
41
|
+
- ext/sass/dart-sass/src/LICENSE
|
42
|
+
- ext/sass/dart-sass/src/dart.exe
|
43
|
+
- ext/sass/dart-sass/src/sass.snapshot
|
122
44
|
- ext/sass/embedded_sass_pb.rb
|
123
|
-
- ext/sass/sass_embedded/dart-sass-embedded.bat
|
124
|
-
- ext/sass/sass_embedded/src/LICENSE
|
125
|
-
- ext/sass/sass_embedded/src/dart-sass-embedded.snapshot
|
126
|
-
- ext/sass/sass_embedded/src/dart.exe
|
127
45
|
- lib/sass-embedded.rb
|
128
46
|
- lib/sass/compile_error.rb
|
129
47
|
- lib/sass/compile_result.rb
|
48
|
+
- lib/sass/elf.rb
|
130
49
|
- lib/sass/embedded.rb
|
131
|
-
- lib/sass/embedded/async.rb
|
132
50
|
- lib/sass/embedded/channel.rb
|
133
51
|
- lib/sass/embedded/compiler.rb
|
134
52
|
- lib/sass/embedded/dispatcher.rb
|
135
|
-
- lib/sass/embedded/elf.rb
|
136
53
|
- lib/sass/embedded/host.rb
|
137
54
|
- lib/sass/embedded/host/function_registry.rb
|
138
55
|
- lib/sass/embedded/host/importer_registry.rb
|
@@ -162,8 +79,8 @@ homepage: https://github.com/ntkme/sass-embedded-host-ruby
|
|
162
79
|
licenses:
|
163
80
|
- MIT
|
164
81
|
metadata:
|
165
|
-
documentation_uri: https://rubydoc.info/gems/sass-embedded/1.
|
166
|
-
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v1.
|
82
|
+
documentation_uri: https://rubydoc.info/gems/sass-embedded/1.63.1
|
83
|
+
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v1.63.1
|
167
84
|
funding_uri: https://github.com/sponsors/ntkme
|
168
85
|
post_install_message:
|
169
86
|
rdoc_options: []
|
@@ -180,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
97
|
- !ruby/object:Gem::Version
|
181
98
|
version: '0'
|
182
99
|
requirements: []
|
183
|
-
rubygems_version: 3.4.
|
100
|
+
rubygems_version: 3.4.13
|
184
101
|
signing_key:
|
185
102
|
specification_version: 4
|
186
103
|
summary: Use dart-sass with Ruby!
|
data/ext/sass/embedded.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Sass
|
4
|
-
class Embedded
|
5
|
-
class Compiler
|
6
|
-
COMMAND = [
|
7
|
-
File.absolute_path('sass_embedded/src/dart.exe', __dir__),
|
8
|
-
File.absolute_path('sass_embedded/src/dart-sass-embedded.snapshot', __dir__)
|
9
|
-
].freeze
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,7 +0,0 @@
|
|
1
|
-
@echo off
|
2
|
-
REM This script drives the standalone sass_embedded package, which bundles together a
|
3
|
-
REM Dart executable and a snapshot of sass_embedded.
|
4
|
-
|
5
|
-
set SCRIPTPATH=%~dp0
|
6
|
-
set arguments=%*
|
7
|
-
"%SCRIPTPATH%\src\dart.exe" "%SCRIPTPATH%\src\dart-sass-embedded.snapshot" %arguments%
|
data/lib/sass/embedded/async.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Sass
|
4
|
-
class Embedded
|
5
|
-
# The {Async} class.
|
6
|
-
#
|
7
|
-
# It awaits until the promise is resolved or rejected.
|
8
|
-
class Async
|
9
|
-
module State
|
10
|
-
PENDING = 0
|
11
|
-
FULFILLED = 1
|
12
|
-
REJECTED = 2
|
13
|
-
end
|
14
|
-
|
15
|
-
private_constant :State
|
16
|
-
|
17
|
-
def initialize
|
18
|
-
@result = nil
|
19
|
-
@state = State::PENDING
|
20
|
-
|
21
|
-
@condition_variable = ConditionVariable.new
|
22
|
-
@mutex = Mutex.new
|
23
|
-
end
|
24
|
-
|
25
|
-
def resolve(value)
|
26
|
-
@mutex.synchronize do
|
27
|
-
return unless @state == State::PENDING
|
28
|
-
|
29
|
-
@result = value
|
30
|
-
@state = State::FULFILLED
|
31
|
-
@condition_variable.broadcast
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def reject(reason)
|
36
|
-
@mutex.synchronize do
|
37
|
-
return unless @state == State::PENDING
|
38
|
-
|
39
|
-
@result = reason
|
40
|
-
@state = State::REJECTED
|
41
|
-
@condition_variable.broadcast
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def await
|
46
|
-
@mutex.synchronize do
|
47
|
-
@condition_variable.wait(@mutex) if @state == State::PENDING
|
48
|
-
|
49
|
-
raise @result if @state == State::REJECTED
|
50
|
-
|
51
|
-
@result
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
private_constant :Async
|
57
|
-
end
|
58
|
-
end
|