sass-embedded 0.7.26 → 0.8.1
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/Makefile +2 -2
- data/ext/sass/extconf.rb +58 -34
- data/lib/sass/compiler.rb +13 -0
- data/lib/sass/embedded.rb +1 -1
- data/lib/sass/transport.rb +1 -7
- data/lib/sass/version.rb +1 -1
- data/lib/sass-embedded.rb +4 -0
- data/lib/sass.rb +1 -0
- metadata +39 -36
- data/ext/sass/dependencies.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: 36aa31c9cb340c6a95c73c93ea480ab565a9f8f009094ec0f7f7a2239e647f2b
|
4
|
+
data.tar.gz: 71f325cdb5e5db87b97a931b92749c6e0ebbc91b376945fc5aa7b2fb5590928a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f136169a9f697db2cc04c466e2268230d090db81a01e54da74880a5dde4bba1acdafe425cf8b7f35f4030a2ec4d52b56e20dbba82911be974f9c000138f1e67
|
7
|
+
data.tar.gz: 79507aae38d81b506a0d38ddc312bd12533bbe1d6647e0634a3755ff154c4a0a7be917d9cfbe8f7604ce2196fda9a7eb45f0f77a89c0b23513aec5b43f88abb2
|
data/ext/sass/Makefile
CHANGED
@@ -3,7 +3,7 @@ RM = powershell -c "cmd.exe /c del /f /q /s"
|
|
3
3
|
else
|
4
4
|
RM = rm -fr
|
5
5
|
endif
|
6
|
-
EXTCONF = ruby -- extconf.rb
|
6
|
+
EXTCONF = ruby -- extconf.rb
|
7
7
|
|
8
8
|
.PHONY: all
|
9
9
|
all: sass_embedded embedded_sass_pb.rb
|
@@ -44,7 +44,7 @@ else
|
|
44
44
|
unzip -od $@ $<
|
45
45
|
endif
|
46
46
|
|
47
|
-
embedded_sass.proto:
|
47
|
+
embedded_sass.proto: sass_embedded
|
48
48
|
$(EXTCONF) --with-sass-embedded-protocol
|
49
49
|
|
50
50
|
%_pb.rb: %.proto protoc
|
data/ext/sass/extconf.rb
CHANGED
@@ -5,8 +5,8 @@ require 'mkmf'
|
|
5
5
|
require 'json'
|
6
6
|
require 'open-uri'
|
7
7
|
require 'fileutils'
|
8
|
-
require_relative './dependencies'
|
9
8
|
require_relative '../../lib/sass/platform'
|
9
|
+
require_relative '../../lib/sass/compiler'
|
10
10
|
|
11
11
|
module Sass
|
12
12
|
# The dependency downloader. This downloads all the dependencies during gem
|
@@ -22,32 +22,37 @@ module Sass
|
|
22
22
|
# --with-protoc=file:///path/to/protoc-*.zip \
|
23
23
|
# --with-sass-embedded=file:///path/to/sass_embedded-*.(tar.gz|zip) \
|
24
24
|
# --with-sass-embedded-protocol=file:///path/to/embedded_sass.proto
|
25
|
+
# @example
|
26
|
+
# bundle config build.sass-embedded \
|
27
|
+
# --with-protoc=file:///path/to/protoc-*.zip \
|
28
|
+
# --with-sass-embedded=file:///path/to/sass_embedded-*.(tar.gz|zip) \
|
29
|
+
# --with-sass-embedded-protocol=file:///path/to/embedded_sass.proto
|
25
30
|
class Extconf
|
26
31
|
def initialize
|
27
|
-
|
28
|
-
|
29
|
-
|
32
|
+
fetch_with_config('protoc', false) { default_protoc }
|
33
|
+
fetch_with_config('sass-embedded', false) { default_sass_embedded }
|
34
|
+
fetch_with_config('sass-embedded-protocol', false) { default_sass_embedded_protocol }
|
30
35
|
end
|
31
36
|
|
32
37
|
private
|
33
38
|
|
34
|
-
def
|
39
|
+
def fetch_with_config(config, default)
|
35
40
|
val = with_config(config, default)
|
36
41
|
case val
|
37
42
|
when true
|
38
43
|
if block_given?
|
39
|
-
|
44
|
+
fetch yield
|
40
45
|
else
|
41
|
-
|
46
|
+
fetch default
|
42
47
|
end
|
43
48
|
when false
|
44
49
|
nil
|
45
50
|
else
|
46
|
-
|
51
|
+
fetch val
|
47
52
|
end
|
48
53
|
end
|
49
54
|
|
50
|
-
def
|
55
|
+
def fetch(uri_s)
|
51
56
|
uri = URI.parse(uri_s)
|
52
57
|
path = File.absolute_path(File.basename(uri.path), __dir__)
|
53
58
|
if uri.is_a?(URI::File) || uri.instance_of?(URI::Generic)
|
@@ -63,43 +68,60 @@ module Sass
|
|
63
68
|
raise
|
64
69
|
end
|
65
70
|
rescue StandardError
|
66
|
-
warn "
|
71
|
+
warn "ERROR: Error fetching #{uri_s}:"
|
67
72
|
raise
|
68
73
|
end
|
69
74
|
|
70
75
|
def resolve_tag_name(repo, *requirements, gh_release: true)
|
71
76
|
requirements = Gem::Requirement.create(*requirements)
|
72
77
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
78
|
+
satisfied = lambda { |version|
|
79
|
+
Gem::Version.correct?(version) && requirements.satisfied_by?(Gem::Version.new(version))
|
80
|
+
}
|
81
|
+
|
82
|
+
headers = {}
|
83
|
+
headers['Authorization'] = "token #{ENV['GITHUB_TOKEN']}" if ENV['GITHUB_TOKEN']
|
84
|
+
|
85
|
+
begin
|
86
|
+
if gh_release
|
87
|
+
releases_uri = "https://github.com/#{repo}/releases"
|
88
|
+
uri = "#{releases_uri}/latest"
|
89
|
+
tag_name = URI.parse(uri).open do |file|
|
90
|
+
return nil if file.base_uri == releases_uri
|
91
|
+
|
92
|
+
latest = File.basename file.base_uri.to_s
|
93
|
+
latest if satisfied.call latest
|
89
94
|
end
|
90
|
-
|
91
|
-
|
92
|
-
|
95
|
+
|
96
|
+
return tag_name unless tag_name.nil?
|
97
|
+
|
98
|
+
uri = "https://api.github.com/repos/#{repo}/releases?per_page=100"
|
99
|
+
tag_name = URI.parse(uri).open(headers) do |file|
|
100
|
+
JSON.parse(file.read).map { |release| release['tag_name'] }
|
101
|
+
end
|
102
|
+
.find(satisfied)&.peek
|
103
|
+
else
|
104
|
+
uri = "https://api.github.com/repos/#{repo}/tags?per_page=100"
|
105
|
+
tag_name = URI.parse(uri).open(headers) do |file|
|
106
|
+
JSON.parse(file.read).map { |tag| tag['name'] }
|
107
|
+
end
|
108
|
+
.find(satisfied)&.peek
|
93
109
|
end
|
94
|
-
|
95
|
-
|
110
|
+
|
111
|
+
return tag_name unless tag_name.nil?
|
112
|
+
rescue OpenURI::HTTPError => e
|
113
|
+
warn "WARNING: Error fetching #{uri}: #{e}"
|
96
114
|
end
|
115
|
+
|
116
|
+
requirements.requirements
|
117
|
+
.map { |requirement| requirement.last.to_s.gsub('.pre.', '-') }
|
118
|
+
.find(satisfied)&.peek
|
97
119
|
end
|
98
120
|
|
99
121
|
def default_sass_embedded
|
100
122
|
repo = 'sass/dart-sass-embedded'
|
101
123
|
|
102
|
-
tag_name = resolve_tag_name(repo,
|
124
|
+
tag_name = resolve_tag_name(repo, Compiler::REQUIREMENTS)
|
103
125
|
|
104
126
|
os = case Platform::OS
|
105
127
|
when 'darwin'
|
@@ -138,7 +160,7 @@ module Sass
|
|
138
160
|
def default_protoc
|
139
161
|
repo = 'protocolbuffers/protobuf'
|
140
162
|
|
141
|
-
spec = Gem::Dependency.new('google-protobuf'
|
163
|
+
spec = Gem::Dependency.new('google-protobuf').to_spec
|
142
164
|
|
143
165
|
tag_name = "v#{spec.version}"
|
144
166
|
|
@@ -187,7 +209,9 @@ module Sass
|
|
187
209
|
def default_sass_embedded_protocol
|
188
210
|
repo = 'sass/embedded-protocol'
|
189
211
|
|
190
|
-
tag_name =
|
212
|
+
tag_name = IO.popen([Compiler::DART_SASS_EMBEDDED, '--version']) do |file|
|
213
|
+
JSON.parse(file.read)['protocolVersion']
|
214
|
+
end
|
191
215
|
|
192
216
|
"https://raw.githubusercontent.com/#{repo}/#{tag_name}/embedded_sass.proto"
|
193
217
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Sass
|
4
|
+
module Compiler
|
5
|
+
DART_SASS_EMBEDDED = File.absolute_path(
|
6
|
+
"../../ext/sass/sass_embedded/dart-sass-embedded#{Platform::OS == 'windows' ? '.bat' : ''}", __dir__
|
7
|
+
)
|
8
|
+
|
9
|
+
PROTOCOL_ERROR_ID = 4_294_967_295
|
10
|
+
|
11
|
+
REQUIREMENTS = '~> 1.0.0-beta.11'
|
12
|
+
end
|
13
|
+
end
|
data/lib/sass/embedded.rb
CHANGED
data/lib/sass/transport.rb
CHANGED
@@ -11,12 +11,6 @@ module Sass
|
|
11
11
|
class Transport
|
12
12
|
include Observable
|
13
13
|
|
14
|
-
DART_SASS_EMBEDDED = File.absolute_path(
|
15
|
-
"../../ext/sass/sass_embedded/dart-sass-embedded#{Platform::OS == 'windows' ? '.bat' : ''}", __dir__
|
16
|
-
)
|
17
|
-
|
18
|
-
PROTOCOL_ERROR_ID = 4_294_967_295
|
19
|
-
|
20
14
|
ONEOF_MESSAGE = EmbeddedProtocol::InboundMessage
|
21
15
|
.descriptor
|
22
16
|
.lookup_oneof('message')
|
@@ -29,7 +23,7 @@ module Sass
|
|
29
23
|
def initialize
|
30
24
|
@observerable_mutex = Mutex.new
|
31
25
|
@stdin_mutex = Mutex.new
|
32
|
-
@stdin, @stdout, @stderr, @wait_thread = Open3.popen3(DART_SASS_EMBEDDED)
|
26
|
+
@stdin, @stdout, @stderr, @wait_thread = Open3.popen3(Compiler::DART_SASS_EMBEDDED)
|
33
27
|
|
34
28
|
[@stdin, @stdout].each(&:binmode)
|
35
29
|
|
data/lib/sass/version.rb
CHANGED
data/lib/sass.rb
CHANGED
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.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- なつき
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -25,103 +25,103 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.18.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 5.14.4
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 5.14.4
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest
|
42
|
+
name: minitest-around
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 5.
|
47
|
+
version: 0.5.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 5.
|
54
|
+
version: 0.5.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 13.0.6
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 13.0.6
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.21.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 1.21.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop
|
84
|
+
name: rubocop-minitest
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 0.15.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 0.15.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-
|
98
|
+
name: rubocop-performance
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 1.11.5
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 1.11.5
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rubocop-rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 0.6.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 0.6.0
|
125
125
|
description: A Ruby library that will communicate with Embedded Dart Sass using the
|
126
126
|
Embedded Sass protocol.
|
127
127
|
email:
|
@@ -134,11 +134,12 @@ files:
|
|
134
134
|
- LICENSE
|
135
135
|
- README.md
|
136
136
|
- ext/sass/Makefile
|
137
|
-
- ext/sass/dependencies.rb
|
138
137
|
- ext/sass/extconf.rb
|
139
138
|
- ext/sass/unzip.vbs
|
139
|
+
- lib/sass-embedded.rb
|
140
140
|
- lib/sass.rb
|
141
141
|
- lib/sass/compile.rb
|
142
|
+
- lib/sass/compiler.rb
|
142
143
|
- lib/sass/embedded.rb
|
143
144
|
- lib/sass/error.rb
|
144
145
|
- lib/sass/info.rb
|
@@ -153,7 +154,9 @@ homepage: https://github.com/ntkme/sass-embedded-host-ruby
|
|
153
154
|
licenses:
|
154
155
|
- MIT
|
155
156
|
metadata:
|
156
|
-
|
157
|
+
documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.8.1
|
158
|
+
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.8.1
|
159
|
+
funding_uri: https://github.com/sponsors/ntkme
|
157
160
|
post_install_message:
|
158
161
|
rdoc_options: []
|
159
162
|
require_paths:
|
data/ext/sass/dependencies.rb
DELETED