sass-embedded 0.15.0 → 0.17.0

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/ext/sass/extconf.rb +3 -48
  3. data/ext/sass/package.json +5 -0
  4. data/lib/sass/compile_error.rb +1 -10
  5. data/lib/sass/compile_result.rb +1 -5
  6. data/lib/sass/embedded/channel.rb +2 -2
  7. data/lib/sass/embedded/compile_context/function_registry.rb +85 -0
  8. data/lib/sass/embedded/compile_context/importer_registry.rb +99 -0
  9. data/lib/sass/embedded/compile_context/logger_registry.rb +45 -0
  10. data/lib/sass/embedded/compile_context/value_protofier.rb +237 -0
  11. data/lib/sass/embedded/compile_context.rb +31 -236
  12. data/lib/sass/embedded/compiler.rb +10 -43
  13. data/lib/sass/embedded/{render.rb → legacy.rb} +41 -0
  14. data/lib/sass/embedded/observer.rb +2 -0
  15. data/lib/sass/embedded/protofier.rb +91 -0
  16. data/lib/sass/embedded/structifier.rb +30 -0
  17. data/lib/sass/embedded/varint.rb +33 -0
  18. data/lib/sass/embedded/version.rb +1 -1
  19. data/lib/sass/embedded/version_context.rb +2 -3
  20. data/lib/sass/embedded.rb +39 -52
  21. data/lib/sass/embedded_protocol.rb +0 -6
  22. data/lib/sass/logger/source_location.rb +3 -9
  23. data/lib/sass/logger/source_span.rb +1 -13
  24. data/lib/sass/logger.rb +3 -3
  25. data/lib/sass/script_error.rb +5 -0
  26. data/lib/sass/value/argument_list.rb +24 -0
  27. data/lib/sass/value/boolean.rb +42 -0
  28. data/lib/sass/value/color.rb +213 -0
  29. data/lib/sass/value/function.rb +35 -0
  30. data/lib/sass/value/fuzzy_math.rb +81 -0
  31. data/lib/sass/value/list.rb +60 -0
  32. data/lib/sass/value/map.rb +57 -0
  33. data/lib/sass/value/null.rb +39 -0
  34. data/lib/sass/value/number/unit.rb +186 -0
  35. data/lib/sass/value/number.rb +272 -0
  36. data/lib/sass/value/string.rb +43 -0
  37. data/lib/sass/value.rb +92 -0
  38. data/lib/sass.rb +51 -48
  39. metadata +31 -53
  40. data/lib/sass/embedded/compiler/requirements.rb +0 -9
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. This communicates with Embedded Dart Sass using
6
- # the Embedded Sass protocol.
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. This instantiates a global {Embedded} instance
10
- # and calls {Embedded#compile}.
45
+ # The global {.compile} method.
11
46
  #
12
- # See {Embedded#compile} for supported options.
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. This instantiates a global {Embedded} instance
24
- # and calls {Embedded#compile_string}.
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 supported options.
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
- # @deprecated
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
- # @example
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.15.0
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - なつき
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-09 00:00:00.000000000 Z
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.6
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.6
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.10.0
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.10.0
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
@@ -163,6 +121,7 @@ files:
163
121
  - README.md
164
122
  - ext/sass/Makefile
165
123
  - ext/sass/extconf.rb
124
+ - ext/sass/package.json
166
125
  - ext/sass/unzip.vbs
167
126
  - lib/sass-embedded.rb
168
127
  - lib/sass.rb
@@ -171,24 +130,43 @@ files:
171
130
  - lib/sass/embedded.rb
172
131
  - lib/sass/embedded/channel.rb
173
132
  - lib/sass/embedded/compile_context.rb
133
+ - lib/sass/embedded/compile_context/function_registry.rb
134
+ - lib/sass/embedded/compile_context/importer_registry.rb
135
+ - lib/sass/embedded/compile_context/logger_registry.rb
136
+ - lib/sass/embedded/compile_context/value_protofier.rb
174
137
  - lib/sass/embedded/compiler.rb
175
138
  - lib/sass/embedded/compiler/path.rb
176
- - 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/render.rb
142
+ - lib/sass/embedded/protofier.rb
143
+ - lib/sass/embedded/structifier.rb
144
+ - lib/sass/embedded/varint.rb
180
145
  - lib/sass/embedded/version.rb
181
146
  - lib/sass/embedded/version_context.rb
182
147
  - lib/sass/embedded_protocol.rb
183
148
  - lib/sass/logger.rb
184
149
  - lib/sass/logger/source_location.rb
185
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
186
164
  homepage: https://github.com/ntkme/sass-embedded-host-ruby
187
165
  licenses:
188
166
  - MIT
189
167
  metadata:
190
- documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.15.0
191
- source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.15.0
168
+ documentation_uri: https://www.rubydoc.info/gems/sass-embedded/0.17.0
169
+ source_code_uri: https://github.com/ntkme/sass-embedded-host-ruby/tree/v0.17.0
192
170
  funding_uri: https://github.com/sponsors/ntkme
193
171
  post_install_message:
194
172
  rdoc_options: []
@@ -205,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
183
  - !ruby/object:Gem::Version
206
184
  version: '0'
207
185
  requirements: []
208
- rubygems_version: 3.3.3
186
+ rubygems_version: 3.3.7
209
187
  signing_key:
210
188
  specification_version: 4
211
189
  summary: Use dart-sass with Ruby!
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Sass
4
- class Embedded
5
- class Compiler
6
- REQUIREMENTS = '~> 1.49.7'
7
- end
8
- end
9
- end