sass-embedded 0.7.10 → 0.7.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/ext/dependencies.rb +11 -0
- data/ext/extconf.rb +39 -23
- data/lib/sass/compile.rb +5 -1
- data/lib/sass/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5fcfb496509a39af1ede196579891f3f618c8ae112a636abded14712811acbc6
|
4
|
+
data.tar.gz: ce47457cf14a9f79129a638909785a3edda3c93835fdd2d5d29a1d721c7dd3ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz: '
|
6
|
+
metadata.gz: 8233f64b021b3a51c199383ad9327a5d9ddf4df340c151a761a2fa54cd403e96c003d7922ea8bd7ead2c5b66be15c101d297528d81fe7b597e36527df4a5637b
|
7
|
+
data.tar.gz: '058dfbfbfe9afe0f39d23191c943ca00ebdcd94706fb0d9cfca68ecd347d45ed935c011e387812c4fe2579c1f16b42cf9f183b83dd74c7166e2ebcb5f8a54200'
|
data/ext/dependencies.rb
ADDED
data/ext/extconf.rb
CHANGED
@@ -5,13 +5,14 @@ require 'mkmf'
|
|
5
5
|
require 'json'
|
6
6
|
require 'open-uri'
|
7
7
|
require 'fileutils'
|
8
|
+
require_relative './dependencies'
|
8
9
|
require_relative '../lib/sass/platform'
|
9
10
|
|
10
11
|
module Sass
|
11
12
|
# The dependency downloader. This downloads all the dependencies during gem
|
12
13
|
# installation. The companion Makefile then unpacks all downloaded
|
13
|
-
# dependencies. By default it downloads the
|
14
|
-
#
|
14
|
+
# dependencies. By default it downloads the release of each dependency
|
15
|
+
# from GitHub releases.
|
15
16
|
#
|
16
17
|
# It is possible to specify an alternative source or version of each
|
17
18
|
# dependency. Local sources can be used for offline installation.
|
@@ -23,9 +24,9 @@ module Sass
|
|
23
24
|
# --with-sass-embedded-protocol=file:///path/to/embedded_sass.proto
|
24
25
|
class Extconf
|
25
26
|
def initialize
|
26
|
-
get_with_config('protoc', true) {
|
27
|
-
get_with_config('sass-embedded', true) {
|
28
|
-
get_with_config('sass-embedded-protocol', true) {
|
27
|
+
get_with_config('protoc', true) { default_protoc }
|
28
|
+
get_with_config('sass-embedded', true) { default_sass_embedded }
|
29
|
+
get_with_config('sass-embedded-protocol', true) { default_sass_embedded_protocol }
|
29
30
|
end
|
30
31
|
|
31
32
|
private
|
@@ -52,6 +53,7 @@ module Sass
|
|
52
53
|
if uri.is_a?(URI::File) || uri.instance_of?(URI::Generic)
|
53
54
|
FileUtils.copy_file uri.path, path
|
54
55
|
elsif uri.respond_to? :open
|
56
|
+
puts "curl -fsSLo #{path} -- #{uri}"
|
55
57
|
uri.open do |source|
|
56
58
|
File.open(path, 'wb') do |destination|
|
57
59
|
destination.write source.read
|
@@ -61,28 +63,42 @@ module Sass
|
|
61
63
|
raise
|
62
64
|
end
|
63
65
|
rescue StandardError
|
64
|
-
raise "Failed to get: #{
|
66
|
+
raise "Failed to get: #{uri_s}"
|
65
67
|
end
|
66
68
|
|
67
|
-
def
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
URI.parse("https://api.github.com/repos/#{repo}/releases").open(headers) do |file|
|
72
|
-
JSON.parse(file.read)[0]['tag_name']
|
73
|
-
end
|
74
|
-
else
|
69
|
+
def resolve_tag_name(repo, *requirements, gh_release: true)
|
70
|
+
requirements = Gem::Requirement.create(*requirements)
|
71
|
+
|
72
|
+
if requirements == Gem::Requirement.default && gh_release
|
75
73
|
URI.parse("https://github.com/#{repo}/releases/latest").open do |file|
|
76
74
|
File.basename file.base_uri.to_s
|
77
75
|
end
|
76
|
+
else
|
77
|
+
begin
|
78
|
+
headers = {}
|
79
|
+
headers['Authorization'] = "token #{ENV['GITHUB_TOKEN']}" if ENV['GITHUB_TOKEN']
|
80
|
+
if gh_release
|
81
|
+
URI.parse("https://api.github.com/repos/#{repo}/releases?per_page=100").open(headers) do |file|
|
82
|
+
JSON.parse(file.read).map { |release| release['tag_name'] }
|
83
|
+
end
|
84
|
+
else
|
85
|
+
URI.parse("https://api.github.com/repos/#{repo}/tags?per_page=100").open(headers) do |file|
|
86
|
+
JSON.parse(file.read).map { |tag| tag['name'] }
|
87
|
+
end
|
88
|
+
end
|
89
|
+
rescue OpenURI::HTTPError
|
90
|
+
requirements.requirements
|
91
|
+
.map { |requirement| requirement.last.to_s.gsub('.pre.', '-') }
|
92
|
+
end
|
93
|
+
.find { |version| Gem::Version.correct?(version) && requirements.satisfied_by?(Gem::Version.new(version)) }
|
94
|
+
&.to_s
|
78
95
|
end
|
79
96
|
end
|
80
97
|
|
81
|
-
def
|
98
|
+
def default_sass_embedded
|
82
99
|
repo = 'sass/dart-sass-embedded'
|
83
100
|
|
84
|
-
|
85
|
-
tag_name = latest_release repo, prerelease: true
|
101
|
+
tag_name = resolve_tag_name(repo, Sass::Dependencies::REQUIREMENTS[repo])
|
86
102
|
|
87
103
|
os = case Platform::OS
|
88
104
|
when 'darwin'
|
@@ -118,10 +134,12 @@ module Sass
|
|
118
134
|
"https://github.com/#{repo}/releases/download/#{tag_name}/sass_embedded-#{tag_name}-#{os}-#{arch}.#{ext}"
|
119
135
|
end
|
120
136
|
|
121
|
-
def
|
137
|
+
def default_protoc
|
122
138
|
repo = 'protocolbuffers/protobuf'
|
123
139
|
|
124
|
-
|
140
|
+
spec = Gem::Dependency.new('google-protobuf', Sass::Dependencies::REQUIREMENTS[repo]).to_spec
|
141
|
+
|
142
|
+
tag_name = "v#{spec.version}"
|
125
143
|
|
126
144
|
os = case Platform::OS
|
127
145
|
when 'darwin'
|
@@ -165,12 +183,10 @@ module Sass
|
|
165
183
|
"https://github.com/#{repo}/releases/download/#{tag_name}/protoc-#{tag_name[1..]}-#{os_arch}.#{ext}"
|
166
184
|
end
|
167
185
|
|
168
|
-
def
|
186
|
+
def default_sass_embedded_protocol
|
169
187
|
repo = 'sass/embedded-protocol'
|
170
188
|
|
171
|
-
|
172
|
-
# tag_name = latest_release repo
|
173
|
-
tag_name = 'HEAD'
|
189
|
+
tag_name = resolve_tag_name(repo, Sass::Dependencies::REQUIREMENTS[repo], gh_release: false)
|
174
190
|
|
175
191
|
"https://raw.githubusercontent.com/#{repo}/#{tag_name}/embedded_sass.proto"
|
176
192
|
end
|
data/lib/sass/compile.rb
CHANGED
@@ -161,9 +161,13 @@ module Sass
|
|
161
161
|
end
|
162
162
|
|
163
163
|
def function_call_response(function_call_request)
|
164
|
+
# TODO: convert argument_list to **kwargs
|
164
165
|
EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
|
165
166
|
id: function_call_request.id,
|
166
|
-
success: @functions[function_call_request.name].call(*function_call_request.arguments)
|
167
|
+
success: @functions[function_call_request.name].call(*function_call_request.arguments),
|
168
|
+
accessed_argument_lists: function_call_request.arguments
|
169
|
+
.filter { |argument| argument.value == :argument_list }
|
170
|
+
.map { |argument| argument.argument_list.id }
|
167
171
|
)
|
168
172
|
rescue StandardError => e
|
169
173
|
EmbeddedProtocol::InboundMessage::FunctionCallResponse.new(
|
data/lib/sass/version.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.7.
|
4
|
+
version: 0.7.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- なつき
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.17
|
19
|
+
version: '3.17'
|
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.17
|
26
|
+
version: '3.17'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,6 +148,7 @@ files:
|
|
148
148
|
- LICENSE
|
149
149
|
- README.md
|
150
150
|
- ext/Makefile
|
151
|
+
- ext/dependencies.rb
|
151
152
|
- ext/extconf.rb
|
152
153
|
- lib/sass.rb
|
153
154
|
- lib/sass/compile.rb
|
@@ -165,8 +166,8 @@ homepage: https://github.com/ntkme/sass-embedded-host-ruby
|
|
165
166
|
licenses:
|
166
167
|
- MIT
|
167
168
|
metadata:
|
168
|
-
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.7.
|
169
|
-
post_install_message:
|
169
|
+
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.7.14
|
170
|
+
post_install_message:
|
170
171
|
rdoc_options: []
|
171
172
|
require_paths:
|
172
173
|
- lib
|
@@ -181,8 +182,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
182
|
- !ruby/object:Gem::Version
|
182
183
|
version: '0'
|
183
184
|
requirements: []
|
184
|
-
rubygems_version: 3.2.
|
185
|
-
signing_key:
|
185
|
+
rubygems_version: 3.2.26
|
186
|
+
signing_key:
|
186
187
|
specification_version: 4
|
187
188
|
summary: Use dart-sass with Ruby!
|
188
189
|
test_files: []
|