sass-embedded 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
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: