sass-embedded 0.14.0 → 0.16.2
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/lib/sass/compile_error.rb +1 -10
- data/lib/sass/compile_result.rb +1 -5
- data/lib/sass/embedded/channel.rb +2 -2
- data/lib/sass/embedded/compile_context/function_registry.rb +85 -0
- data/lib/sass/embedded/compile_context/importer_registry.rb +99 -0
- data/lib/sass/embedded/compile_context/logger_registry.rb +45 -0
- data/lib/sass/embedded/compile_context/value_protofier.rb +237 -0
- data/lib/sass/embedded/compile_context.rb +31 -238
- data/lib/sass/embedded/compiler/requirements.rb +1 -1
- data/lib/sass/embedded/compiler.rb +10 -43
- data/lib/sass/embedded/{render.rb → legacy.rb} +79 -3
- data/lib/sass/embedded/observer.rb +2 -0
- data/lib/sass/embedded/protofier.rb +91 -0
- data/lib/sass/embedded/structifier.rb +30 -0
- data/lib/sass/embedded/varint.rb +33 -0
- data/lib/sass/embedded/version.rb +1 -1
- data/lib/sass/embedded/version_context.rb +2 -3
- data/lib/sass/embedded.rb +39 -54
- data/lib/sass/embedded_protocol.rb +0 -6
- data/lib/sass/logger/source_location.rb +3 -9
- data/lib/sass/logger/source_span.rb +1 -13
- data/lib/sass/logger.rb +3 -3
- data/lib/sass/script_error.rb +5 -0
- data/lib/sass/value/argument_list.rb +24 -0
- data/lib/sass/value/boolean.rb +42 -0
- data/lib/sass/value/color.rb +213 -0
- data/lib/sass/value/function.rb +35 -0
- data/lib/sass/value/fuzzy_math.rb +81 -0
- data/lib/sass/value/list.rb +60 -0
- data/lib/sass/value/map.rb +57 -0
- data/lib/sass/value/null.rb +39 -0
- data/lib/sass/value/number/unit.rb +186 -0
- data/lib/sass/value/number.rb +272 -0
- data/lib/sass/value/string.rb +43 -0
- data/lib/sass/value.rb +92 -0
- data/lib/sass.rb +51 -48
- metadata +30 -56
- data/lib/sass/embedded/url.rb +0 -35
- data/lib/sass/file_importer.rb +0 -10
- data/lib/sass/importer.rb +0 -14
- data/lib/sass/importer_result.rb +0 -14
data/lib/sass.rb
CHANGED
@@ -1,83 +1,86 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative 'sass/compile_error'
|
4
|
+
require_relative 'sass/compile_result'
|
3
5
|
require_relative 'sass/embedded'
|
6
|
+
require_relative 'sass/embedded/channel'
|
7
|
+
require_relative 'sass/embedded/observer'
|
8
|
+
require_relative 'sass/embedded/compile_context'
|
9
|
+
require_relative 'sass/embedded/compile_context/function_registry'
|
10
|
+
require_relative 'sass/embedded/compile_context/importer_registry'
|
11
|
+
require_relative 'sass/embedded/compile_context/logger_registry'
|
12
|
+
require_relative 'sass/embedded/compile_context/value_protofier'
|
13
|
+
require_relative 'sass/embedded/compiler'
|
14
|
+
require_relative 'sass/embedded/compiler/path'
|
15
|
+
require_relative 'sass/embedded_protocol'
|
16
|
+
require_relative 'sass/embedded/legacy'
|
17
|
+
require_relative 'sass/embedded/protocol_error'
|
18
|
+
require_relative 'sass/embedded/protofier'
|
19
|
+
require_relative 'sass/embedded/structifier'
|
20
|
+
require_relative 'sass/embedded/varint'
|
21
|
+
require_relative 'sass/embedded/version'
|
22
|
+
require_relative 'sass/embedded/version_context'
|
23
|
+
require_relative 'sass/logger'
|
24
|
+
require_relative 'sass/logger/source_location'
|
25
|
+
require_relative 'sass/logger/source_span'
|
26
|
+
require_relative 'sass/script_error'
|
27
|
+
require_relative 'sass/value'
|
28
|
+
require_relative 'sass/value/list'
|
29
|
+
require_relative 'sass/value/argument_list'
|
30
|
+
require_relative 'sass/value/boolean'
|
31
|
+
require_relative 'sass/value/color'
|
32
|
+
require_relative 'sass/value/function'
|
33
|
+
require_relative 'sass/value/fuzzy_math'
|
34
|
+
require_relative 'sass/value/map'
|
35
|
+
require_relative 'sass/value/null'
|
36
|
+
require_relative 'sass/value/number'
|
37
|
+
require_relative 'sass/value/number/unit'
|
38
|
+
require_relative 'sass/value/string'
|
4
39
|
|
5
|
-
# The Sass module.
|
6
|
-
#
|
40
|
+
# The Sass module.
|
41
|
+
#
|
42
|
+
# This communicates with Embedded Dart Sass using the Embedded Sass protocol.
|
7
43
|
module Sass
|
8
44
|
class << self
|
9
|
-
# The global {.compile} method.
|
10
|
-
# and calls {Embedded#compile}.
|
45
|
+
# The global {.compile} method.
|
11
46
|
#
|
12
|
-
#
|
47
|
+
# This instantiates a global {Embedded} instance and calls {Embedded#compile}.
|
48
|
+
#
|
49
|
+
# See {Embedded#compile} for keyword arguments.
|
13
50
|
#
|
14
51
|
# @example
|
15
52
|
# Sass.compile('style.scss')
|
16
53
|
# @return [CompileResult]
|
17
54
|
# @raise [CompileError]
|
18
|
-
# @raise [ProtocolError]
|
55
|
+
# @raise [Embedded::ProtocolError]
|
19
56
|
def compile(path, **kwargs)
|
20
57
|
instance.compile(path, **kwargs)
|
21
58
|
end
|
22
59
|
|
23
|
-
# The global {.compile_string} method.
|
24
|
-
#
|
60
|
+
# The global {.compile_string} method.
|
61
|
+
#
|
62
|
+
# This instantiates a global {Embedded} instance and calls {Embedded#compile_string}.
|
25
63
|
#
|
26
|
-
# See {Embedded#compile_string} for
|
64
|
+
# See {Embedded#compile_string} for keyword arguments.
|
27
65
|
#
|
28
66
|
# @example
|
29
67
|
# Sass.compile_string('h1 { font-size: 40px; }')
|
30
68
|
# @return [CompileResult]
|
31
69
|
# @raise [CompileError]
|
32
|
-
# @raise [ProtocolError]
|
70
|
+
# @raise [Embedded::ProtocolError]
|
33
71
|
def compile_string(source, **kwargs)
|
34
72
|
instance.compile_string(source, **kwargs)
|
35
73
|
end
|
36
74
|
|
37
|
-
#
|
38
|
-
# The global {.include_paths} for Sass files. This is meant for plugins and
|
39
|
-
# libraries to register the paths to their Sass stylesheets to that they may
|
40
|
-
# be included via `@import` or `@use`. This include path is used by every
|
41
|
-
# instance of {Sass::Embedded}. They are lower-precedence than any include
|
42
|
-
# paths passed in via the `include_paths` option.
|
43
|
-
#
|
44
|
-
# If the `SASS_PATH` environment variable is set,
|
45
|
-
# the initial value of `include_paths` will be initialized based on that.
|
46
|
-
# The variable should be a colon-separated list of path names
|
47
|
-
# (semicolon-separated on Windows).
|
75
|
+
# The global {.info} method.
|
48
76
|
#
|
49
|
-
#
|
50
|
-
# Sass.include_paths << File.dirname(__FILE__) + '/sass'
|
51
|
-
# @return [Array]
|
52
|
-
def include_paths
|
53
|
-
Embedded.include_paths
|
54
|
-
end
|
55
|
-
|
56
|
-
# The global {.info} method. This instantiates a global {Embedded} instance
|
57
|
-
# and calls {Embedded#info}.
|
77
|
+
# This instantiates a global {Embedded} instance and calls {Embedded#info}.
|
58
78
|
#
|
59
|
-
# @raise [ProtocolError]
|
79
|
+
# @raise [Embedded::ProtocolError]
|
60
80
|
def info
|
61
81
|
instance.info
|
62
82
|
end
|
63
83
|
|
64
|
-
# @deprecated
|
65
|
-
# The global {.render} method. This instantiates a global {Embedded} instance
|
66
|
-
# and calls {Embedded#render}.
|
67
|
-
#
|
68
|
-
# See {Embedded#render} for supported options.
|
69
|
-
#
|
70
|
-
# @example
|
71
|
-
# Sass.render(data: 'h1 { font-size: 40px; }')
|
72
|
-
# @example
|
73
|
-
# Sass.render(file: 'style.css')
|
74
|
-
# @return [Result]
|
75
|
-
# @raise [ProtocolError]
|
76
|
-
# @raise [RenderError]
|
77
|
-
def render(**kwargs)
|
78
|
-
instance.render(**kwargs)
|
79
|
-
end
|
80
|
-
|
81
84
|
private
|
82
85
|
|
83
86
|
def instance
|
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.16.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- なつき
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -24,62 +24,34 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.19.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: minitest
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 5.15.0
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 5.15.0
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest-around
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.5.0
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 0.5.0
|
55
27
|
- !ruby/object:Gem::Dependency
|
56
28
|
name: rake
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
58
30
|
requirements:
|
59
31
|
- - "~>"
|
60
32
|
- !ruby/object:Gem::Version
|
61
|
-
version: 13.0.
|
33
|
+
version: 13.0.0
|
62
34
|
type: :development
|
63
35
|
prerelease: false
|
64
36
|
version_requirements: !ruby/object:Gem::Requirement
|
65
37
|
requirements:
|
66
38
|
- - "~>"
|
67
39
|
- !ruby/object:Gem::Version
|
68
|
-
version: 13.0.
|
40
|
+
version: 13.0.0
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
42
|
name: rspec
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
72
44
|
requirements:
|
73
45
|
- - "~>"
|
74
46
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.
|
47
|
+
version: 3.11.0
|
76
48
|
type: :development
|
77
49
|
prerelease: false
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
79
51
|
requirements:
|
80
52
|
- - "~>"
|
81
53
|
- !ruby/object:Gem::Version
|
82
|
-
version: 3.
|
54
|
+
version: 3.11.0
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
56
|
name: rubocop
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +66,6 @@ dependencies:
|
|
94
66
|
- - "~>"
|
95
67
|
- !ruby/object:Gem::Version
|
96
68
|
version: 1.25.0
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: rubocop-minitest
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 0.17.0
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.17.0
|
111
69
|
- !ruby/object:Gem::Dependency
|
112
70
|
name: rubocop-performance
|
113
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,28 +129,44 @@ files:
|
|
171
129
|
- lib/sass/embedded.rb
|
172
130
|
- lib/sass/embedded/channel.rb
|
173
131
|
- lib/sass/embedded/compile_context.rb
|
132
|
+
- lib/sass/embedded/compile_context/function_registry.rb
|
133
|
+
- lib/sass/embedded/compile_context/importer_registry.rb
|
134
|
+
- lib/sass/embedded/compile_context/logger_registry.rb
|
135
|
+
- lib/sass/embedded/compile_context/value_protofier.rb
|
174
136
|
- lib/sass/embedded/compiler.rb
|
175
137
|
- lib/sass/embedded/compiler/path.rb
|
176
138
|
- lib/sass/embedded/compiler/requirements.rb
|
139
|
+
- lib/sass/embedded/legacy.rb
|
177
140
|
- lib/sass/embedded/observer.rb
|
178
141
|
- lib/sass/embedded/protocol_error.rb
|
179
|
-
- lib/sass/embedded/
|
180
|
-
- lib/sass/embedded/
|
142
|
+
- lib/sass/embedded/protofier.rb
|
143
|
+
- lib/sass/embedded/structifier.rb
|
144
|
+
- lib/sass/embedded/varint.rb
|
181
145
|
- lib/sass/embedded/version.rb
|
182
146
|
- lib/sass/embedded/version_context.rb
|
183
147
|
- lib/sass/embedded_protocol.rb
|
184
|
-
- lib/sass/file_importer.rb
|
185
|
-
- lib/sass/importer.rb
|
186
|
-
- lib/sass/importer_result.rb
|
187
148
|
- lib/sass/logger.rb
|
188
149
|
- lib/sass/logger/source_location.rb
|
189
150
|
- lib/sass/logger/source_span.rb
|
151
|
+
- lib/sass/script_error.rb
|
152
|
+
- lib/sass/value.rb
|
153
|
+
- lib/sass/value/argument_list.rb
|
154
|
+
- lib/sass/value/boolean.rb
|
155
|
+
- lib/sass/value/color.rb
|
156
|
+
- lib/sass/value/function.rb
|
157
|
+
- lib/sass/value/fuzzy_math.rb
|
158
|
+
- lib/sass/value/list.rb
|
159
|
+
- lib/sass/value/map.rb
|
160
|
+
- lib/sass/value/null.rb
|
161
|
+
- lib/sass/value/number.rb
|
162
|
+
- lib/sass/value/number/unit.rb
|
163
|
+
- lib/sass/value/string.rb
|
190
164
|
homepage: https://github.com/ntkme/sass-embedded-host-ruby
|
191
165
|
licenses:
|
192
166
|
- MIT
|
193
167
|
metadata:
|
194
|
-
documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.
|
195
|
-
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.
|
168
|
+
documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.16.2
|
169
|
+
source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.16.2
|
196
170
|
funding_uri: https://github.com/sponsors/ntkme
|
197
171
|
post_install_message:
|
198
172
|
rdoc_options: []
|
@@ -209,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
183
|
- !ruby/object:Gem::Version
|
210
184
|
version: '0'
|
211
185
|
requirements: []
|
212
|
-
rubygems_version: 3.3.
|
186
|
+
rubygems_version: 3.3.7
|
213
187
|
signing_key:
|
214
188
|
specification_version: 4
|
215
189
|
summary: Use dart-sass with Ruby!
|
data/lib/sass/embedded/url.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'uri'
|
4
|
-
|
5
|
-
module Sass
|
6
|
-
class Embedded
|
7
|
-
# The {Url} module.
|
8
|
-
module Url
|
9
|
-
# The {::URI::Parser} that is in consistent with RFC 2396 (URI Generic Syntax) and dart:core library.
|
10
|
-
URI_PARSER = URI::Parser.new({ RESERVED: ';/?:@&=+$,' })
|
11
|
-
|
12
|
-
FILE_SCHEME = 'file://'
|
13
|
-
|
14
|
-
private_constant :URI_PARSER, :FILE_SCHEME
|
15
|
-
|
16
|
-
module_function
|
17
|
-
|
18
|
-
def path_to_file_url(path)
|
19
|
-
if File.absolute_path? path
|
20
|
-
URI_PARSER.escape "#{FILE_SCHEME}#{Gem.win_platform? ? File::SEPARATOR : ''}#{path}"
|
21
|
-
else
|
22
|
-
URI_PARSER.escape path
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def file_url_to_path(url)
|
27
|
-
if url.start_with? FILE_SCHEME
|
28
|
-
URI_PARSER.unescape url[(FILE_SCHEME.length + (Gem.win_platform? ? 1 : 0))..]
|
29
|
-
else
|
30
|
-
URI_PARSER.unescape url
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
data/lib/sass/file_importer.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Sass
|
4
|
-
# The {FileImporter} interface.
|
5
|
-
class FileImporter
|
6
|
-
def find_file_url(url, from_import:) # rubocop:disable Lint/UnusedMethodArgument
|
7
|
-
raise NotImplementedError, 'FileImporter#find_file_url must be implemented'
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
data/lib/sass/importer.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Sass
|
4
|
-
# The {Importer} interface.
|
5
|
-
class Importer
|
6
|
-
def canonicalize(url) # rubocop:disable Lint/UnusedMethodArgument
|
7
|
-
raise NotImplementedError, 'Importer#canonicalize must be implemented'
|
8
|
-
end
|
9
|
-
|
10
|
-
def load(canonical_url) # rubocop:disable Lint/UnusedMethodArgument
|
11
|
-
raise NotImplementedError, 'Importer#load must be implemented'
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
data/lib/sass/importer_result.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Sass
|
4
|
-
# The {ImporterResult} of {Importer#load}.
|
5
|
-
class ImporterResult
|
6
|
-
attr_reader :contents, :syntax, :source_map_url
|
7
|
-
|
8
|
-
def initialize(contents, syntax, source_map_url = nil)
|
9
|
-
@contents = contents
|
10
|
-
@syntax = syntax
|
11
|
-
@source_map_url = source_map_url
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|