sass-embedded 0.7.3 → 0.7.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65d80ba547e32d13dc4a4b9f0760e8203df64c5481dea662564e1872bff6bec9
4
- data.tar.gz: 363baff44d6a57b5ad5cd6e8963c915b582a147b2c360182e8218ce4ae7a7338
3
+ metadata.gz: 8a920bc1fd2f9767c87dcc604c8ad44266b285310a7b0e9e46cf65c7a610ba4d
4
+ data.tar.gz: 8041922c104b94fb0bc4634735444315692a0d9a37a50db3cf213a9914455bb0
5
5
  SHA512:
6
- metadata.gz: 12f310e82141b47c7fe61b06a03df7abd00ec06cb9b268aa6c29bd28a523d7182014caaabdd314bebcaeeddad7c62517cb0fda180a81a4ca276862207f8f796b
7
- data.tar.gz: 5d4a397ec28e27cedc67c3467a2ffa91b9d8fe0e3ae02b0939fb29fa05a61a0156a7a5a3a6c6eceb6a8049b23867136a94b3962e360db29dd8d3427032f2a52e
6
+ metadata.gz: 180d0212926afd166fafc991cf30e8af33adc843171ec69d53a4b42ad7d587857e77a224cf8c25f343af7bacd6b76eeb5f2b93fd7c9886d2fd83105de3d891cc
7
+ data.tar.gz: 3d91c28089e6157b815a63cdc5b93d8adc2bb81f56828d6e3554c633ed31d845c070361797f32b45ae3bfbc39e034866a2c8e17f80a2222b5c827f9a2669a985
data/lib/sass/embedded.rb CHANGED
@@ -75,7 +75,7 @@ module Sass
75
75
  elsif message.failure.span.url == ''
76
76
  'stdin'
77
77
  else
78
- Util.path(message.failure.span.url)
78
+ Util.path_from_file_uri(message.failure.span.url)
79
79
  end,
80
80
  message.failure.span ? message.failure.span.start.line + 1 : nil,
81
81
  message.failure.span ? message.failure.span.start.column + 1 : nil,
@@ -138,7 +138,7 @@ module Sass
138
138
  source_map_dir = File.dirname(source_map_path)
139
139
 
140
140
  if out_file
141
- map_data['file'] = Util.relative(source_map_dir, out_file)
141
+ map_data['file'] = Util.relative_path(source_map_dir, out_file)
142
142
  elsif file
143
143
  ext = File.extname(file)
144
144
  map_data['file'] = "#{file[0..(ext.empty? ? -1 : -ext.length - 1)]}.css"
@@ -149,10 +149,10 @@ module Sass
149
149
  map_data['sourcesContent'] = [] if source_map_contents
150
150
 
151
151
  map_data['sources'].map! do |source|
152
- if source.start_with? Util::FILE_PROTOCOL
153
- path = Util.path(source)
152
+ if source.start_with? 'file://'
153
+ path = Util.path_from_file_uri(source)
154
154
  map_data['sourcesContent'].push(File.read(path)) if source_map_contents
155
- Util.relative(source_map_dir, path)
155
+ Util.relative_path(source_map_dir, path)
156
156
  else
157
157
  map_data['sourcesContent'].push(nil) if source_map_contents
158
158
  source
@@ -184,7 +184,7 @@ module Sass
184
184
  url = if source_map_embed
185
185
  "data:application/json;base64,#{Base64.strict_encode64(map)}"
186
186
  elsif out_file
187
- Util.relative(File.dirname(out_file), source_map)
187
+ Util.relative_path(File.dirname(out_file), source_map)
188
188
  else
189
189
  source_map
190
190
  end
data/lib/sass/render.rb CHANGED
@@ -97,7 +97,7 @@ module Sass
97
97
  end
98
98
 
99
99
  def canonicalize_response(canonicalize_request)
100
- url = Util.file_uri(File.absolute_path(canonicalize_request.url, (@file.nil? ? 'stdin' : @file)))
100
+ url = Util.file_uri_from_path(File.absolute_path(canonicalize_request.url, (@file.nil? ? 'stdin' : @file)))
101
101
 
102
102
  begin
103
103
  result = @importer[canonicalize_request.importer_id].call canonicalize_request.url, @file
@@ -123,7 +123,7 @@ module Sass
123
123
  url: url
124
124
  )
125
125
  elsif result&.key? :file
126
- canonicalized_url = Util.file_uri(result[:file])
126
+ canonicalized_url = Util.file_uri_from_path(result[:file])
127
127
 
128
128
  # TODO: FileImportRequest is not supported yet.
129
129
  # Workaround by reading contents and return it when server asks
@@ -185,7 +185,7 @@ module Sass
185
185
  def url
186
186
  return if @file.nil?
187
187
 
188
- Util.file_uri @file
188
+ Util.file_uri_from_path @file
189
189
  end
190
190
 
191
191
  def string
data/lib/sass/util.rb CHANGED
@@ -1,39 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'pathname'
4
+ require 'uri'
4
5
 
5
6
  module Sass
6
7
  # The {Util} module.
7
8
  module Util
8
9
  module_function
9
10
 
10
- FILE_PROTOCOL = 'file://'
11
+ URI_PARSER = URI::Parser.new({ RESERVED: ';/?:@&=+$,' })
11
12
 
12
- def file_uri(path)
13
+ def file_uri_from_path(path)
13
14
  absolute_path = File.absolute_path(path)
14
15
 
15
- unless absolute_path.start_with? File::SEPARATOR
16
- components = absolute_path.split File::SEPARATOR
17
- components[0] = components[0][0].downcase
18
- absolute_path = components.join File::SEPARATOR
19
- end
16
+ absolute_path = File::SEPARATOR + absolute_path unless absolute_path.start_with? File::SEPARATOR
20
17
 
21
- "#{FILE_PROTOCOL}#{absolute_path}"
18
+ URI_PARSER.escape("file://#{absolute_path}")
22
19
  end
23
20
 
24
- def path(file_uri)
25
- absolute_path = file_uri[FILE_PROTOCOL.length..]
26
-
27
- unless absolute_path.start_with? File::SEPARATOR
28
- components = absolute_path.split File::SEPARATOR
29
- components[0] = "#{components[0].upcase}:"
30
- absolute_path = components.join File::SEPARATOR
31
- end
32
-
33
- absolute_path
21
+ def path_from_file_uri(file_uri)
22
+ URI_PARSER.unescape(file_uri)[7..]
34
23
  end
35
24
 
36
- def relative(from, to)
25
+ def relative_path(from, to)
37
26
  Pathname.new(File.absolute_path(to)).relative_path_from(Pathname.new(File.absolute_path(from))).to_s
38
27
  end
39
28
 
data/lib/sass/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sass
4
- VERSION = '0.7.3'
4
+ VERSION = '0.7.4'
5
5
  end
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.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-30 00:00:00.000000000 Z
11
+ date: 2021-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-protobuf
@@ -165,7 +165,7 @@ homepage: https://github.com/ntkme/sass-embedded-host-ruby
165
165
  licenses:
166
166
  - MIT
167
167
  metadata:
168
- source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.7.3
168
+ source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.7.4
169
169
  post_install_message:
170
170
  rdoc_options: []
171
171
  require_paths: