sass-embedded 0.7.9 → 0.7.13
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 +56 -32
- 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: 103336d18b4ff3eba9898df0ee3dc4c28b7f3e9ab81d8548b1665f1636a518ed
|
4
|
+
data.tar.gz: 9cba67666361efb314c98798a3de2fc9370e5a6eb0c42b3fdbab96fc4f64a566
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3d2307ce9fdaaf8635c8803e24a85aa82a3a1ee8b72e5284fe282adc28cb20ee69f9f7a3612ecc5a4e09423034a3d0dc680c47d7eebe489f806da916d85532e
|
7
|
+
data.tar.gz: c105838b5b082e657acc917600c0b7fb664e53541800ebda1f4fcd1b44be2f16c3849d06b34c1ba19e82c029144f264d22dacdb678d928cee3a210ba8d90b89d
|
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,30 +63,44 @@ 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
|
-
os = case
|
103
|
+
os = case Platform::OS
|
88
104
|
when 'darwin'
|
89
105
|
'macos'
|
90
106
|
when 'linux'
|
@@ -92,16 +108,20 @@ module Sass
|
|
92
108
|
when 'windows'
|
93
109
|
'windows'
|
94
110
|
else
|
95
|
-
raise "Unsupported OS: #{
|
111
|
+
raise "Unsupported OS: #{Platform::OS}"
|
96
112
|
end
|
97
113
|
|
98
|
-
arch = case
|
114
|
+
arch = case Platform::ARCH
|
99
115
|
when 'x86_64'
|
100
116
|
'x64'
|
101
117
|
when 'i386'
|
102
118
|
'ia32'
|
119
|
+
when 'aarch64'
|
120
|
+
raise "Unsupported Arch: #{Platform::ARCH}" unless Platform::OS == 'darwin'
|
121
|
+
|
122
|
+
'x64'
|
103
123
|
else
|
104
|
-
raise "Unsupported Arch: #{
|
124
|
+
raise "Unsupported Arch: #{Platform::ARCH}"
|
105
125
|
end
|
106
126
|
|
107
127
|
ext = case os
|
@@ -114,12 +134,14 @@ module Sass
|
|
114
134
|
"https://github.com/#{repo}/releases/download/#{tag_name}/sass_embedded-#{tag_name}-#{os}-#{arch}.#{ext}"
|
115
135
|
end
|
116
136
|
|
117
|
-
def
|
137
|
+
def default_protoc
|
118
138
|
repo = 'protocolbuffers/protobuf'
|
119
139
|
|
120
|
-
|
140
|
+
spec = Gem::Dependency.new('google-protobuf', Sass::Dependencies::REQUIREMENTS[repo]).to_spec
|
141
|
+
|
142
|
+
tag_name = "v#{spec.version}"
|
121
143
|
|
122
|
-
os = case
|
144
|
+
os = case Platform::OS
|
123
145
|
when 'darwin'
|
124
146
|
'osx'
|
125
147
|
when 'linux'
|
@@ -127,12 +149,16 @@ module Sass
|
|
127
149
|
when 'windows'
|
128
150
|
'win'
|
129
151
|
else
|
130
|
-
raise "Unsupported OS: #{
|
152
|
+
raise "Unsupported OS: #{Platform::OS}"
|
131
153
|
end
|
132
154
|
|
133
|
-
arch = case
|
155
|
+
arch = case Platform::ARCH
|
134
156
|
when 'aarch64'
|
135
|
-
'
|
157
|
+
if Platform::OS == 'darwin'
|
158
|
+
'x86_64'
|
159
|
+
else
|
160
|
+
'aarch_64'
|
161
|
+
end
|
136
162
|
when 'sparcv9'
|
137
163
|
's390'
|
138
164
|
when 'i386'
|
@@ -142,7 +168,7 @@ module Sass
|
|
142
168
|
when 'powerpc64'
|
143
169
|
'ppcle_64'
|
144
170
|
else
|
145
|
-
raise "Unsupported Arch: #{
|
171
|
+
raise "Unsupported Arch: #{Platform::ARCH}"
|
146
172
|
end
|
147
173
|
|
148
174
|
os_arch = case os
|
@@ -157,12 +183,10 @@ module Sass
|
|
157
183
|
"https://github.com/#{repo}/releases/download/#{tag_name}/protoc-#{tag_name[1..]}-#{os_arch}.#{ext}"
|
158
184
|
end
|
159
185
|
|
160
|
-
def
|
186
|
+
def default_sass_embedded_protocol
|
161
187
|
repo = 'sass/embedded-protocol'
|
162
188
|
|
163
|
-
|
164
|
-
# tag_name = latest_release repo
|
165
|
-
tag_name = 'HEAD'
|
189
|
+
tag_name = resolve_tag_name(repo, Sass::Dependencies::REQUIREMENTS[repo], gh_release: false)
|
166
190
|
|
167
191
|
"https://raw.githubusercontent.com/#{repo}/#{tag_name}/embedded_sass.proto"
|
168
192
|
end
|
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.13
|
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-20 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.13
|
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: []
|