autoprefixer-rails 9.8.6.3 → 10.4.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +82 -0
- data/README.md +2 -5
- data/lib/autoprefixer-rails/processor.rb +30 -74
- data/lib/autoprefixer-rails/railtie.rb +4 -0
- data/lib/autoprefixer-rails/sprockets.rb +1 -1
- data/lib/autoprefixer-rails/version.rb +1 -1
- data/vendor/autoprefixer.js +72678 -65987
- metadata +9 -55
- data/spec/app/Rakefile +0 -4
- data/spec/app/app/assets/config/manifest.js +0 -0
- data/spec/app/app/assets/stylesheets/evaluate.css.erb +0 -1
- data/spec/app/app/assets/stylesheets/loaded.sass +0 -2
- data/spec/app/app/assets/stylesheets/sass.sass +0 -1
- data/spec/app/app/assets/stylesheets/test.css +0 -3
- data/spec/app/app/assets/stylesheets/wrong.css +0 -2
- data/spec/app/app/controllers/application_controller.rb +0 -4
- data/spec/app/app/controllers/css_controller.rb +0 -8
- data/spec/app/config/application.rb +0 -16
- data/spec/app/config/autoprefixer.yml +0 -2
- data/spec/app/config/boot.rb +0 -4
- data/spec/app/config/environment.rb +0 -5
- data/spec/app/config/environments/test.rb +0 -11
- data/spec/app/config/initializers/secret_token.rb +0 -3
- data/spec/app/config/routes.rb +0 -5
- data/spec/app/config.ru +0 -4
- data/spec/autoprefixer_spec.rb +0 -123
- data/spec/processor_spec.rb +0 -27
- data/spec/rails_spec.rb +0 -42
- data/spec/railtie_spec.rb +0 -31
- data/spec/spec_helper.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57c218760a92a4c4449c643e59d5c9b99d187c228aaa68c563d03c468fc2a055
|
4
|
+
data.tar.gz: fa282be312c5ad55816deb7475a3d2f3357266a806ac96a624f125f2f0d0fc4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f20ccf58b1661fe3082f9d0487979c42146b21115df430269ca6d7a3a35dfa2f44cb04c1f4f3eb01eaf00bd360f4823d00106101c38bb80a8c278e4d9b764ed4
|
7
|
+
data.tar.gz: beb69b97fb7f92d970fae59bfefff484b1f59973bfcf26b049ecbc738a61db9044e660040531b0f959cb50f17f6ec5412ee8b1f226ba30b0cec359e902ac9bfa
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,87 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 10.4.2.0
|
4
|
+
* Fixed missed `-webkit-` prefix for `width: stretch`.
|
5
|
+
* Fixed `::file-selector-button` data (by Luke Warlow).
|
6
|
+
* Ensure sprockets-rails is loaded before autoprefixer-rails (by Thomas Morgan)
|
7
|
+
|
8
|
+
## 10.4.0.0
|
9
|
+
* Added `:autofill` support (by Luke Warlow).
|
10
|
+
|
11
|
+
## 10.3.3.0
|
12
|
+
* Fixed `::file-selector-button` support (by Usman Yunusov).
|
13
|
+
* Fixed wrong `-moz-` prefix from `::file-selector-button` (by Usman Yunusov).
|
14
|
+
|
15
|
+
## 10.3.1.0
|
16
|
+
* Added `::file-selector-button` support (by Luke Warlow).
|
17
|
+
* Fixed adding wrong prefixes to `content` (by Luke Warlow).
|
18
|
+
* Fix `ReferenceError: Can't find variable: URL` (#213)
|
19
|
+
|
20
|
+
## 10.2.5.1
|
21
|
+
* Remove nodejs version check via ExecJS, to be compatible with 2.8.1 (#203)
|
22
|
+
|
23
|
+
## 10.2.5.0
|
24
|
+
* Fixed `:` support in `@supports` (by Dmitry Semigradsky).
|
25
|
+
* Update Can I Use data.
|
26
|
+
* Lock to execjs < 2.8.0 for now (#203)
|
27
|
+
|
28
|
+
## 10.2.4.0
|
29
|
+
* Fixed `transition-property` warnings (by @Sheraff).
|
30
|
+
|
31
|
+
## 10.2.0.0 "Sub rosa"
|
32
|
+
* Added TypeScript definitions (by Dmitry Semigradsky).
|
33
|
+
* Fixed docs (by Florian Pellet).
|
34
|
+
* Update Can I Use data.
|
35
|
+
* Update postcss to 8.2.2
|
36
|
+
|
37
|
+
## 10.1.0.0 "Pula"
|
38
|
+
* Fixed `Cannot read property 'proxyOf' of undefined` error (by Igor Kamyshev).
|
39
|
+
* Added `dpcm` unit support to `min-resolution: 2dppx` (by Robert Eisele).
|
40
|
+
* Fixed rational approximation in `min-resolution` (by Robert Eisele).
|
41
|
+
|
42
|
+
## 10.0.3.0
|
43
|
+
* Fixed `substract` to `subtract` value for `mask-composite` (by Michelle Enos).
|
44
|
+
* Update Can I Use data
|
45
|
+
|
46
|
+
## 10.0.2.0
|
47
|
+
* Removed -ms-user-select: all because IE and old Edge don’t support it.
|
48
|
+
* Fixed Grid Layout warning.
|
49
|
+
* Update Can I Use data
|
50
|
+
|
51
|
+
## 10.0.1.3
|
52
|
+
* Fix `fileURL.replace is not a function` when reporting warnings (#194)
|
53
|
+
|
54
|
+
## 10.0.1.2
|
55
|
+
* Workaround `existsSync not a function` (#193)
|
56
|
+
|
57
|
+
## 10.0.1.1
|
58
|
+
* Update Can I Use data.
|
59
|
+
* Update postcss to 8.1.4
|
60
|
+
* Fix issue with source map (#190)
|
61
|
+
|
62
|
+
## 10.0.1.0
|
63
|
+
* Update Can I Use data.
|
64
|
+
* Update autoprefixer to 10.0.1
|
65
|
+
* Update postcss to 8.1.1
|
66
|
+
|
67
|
+
## 10.0.0.2
|
68
|
+
* Update postcss to 8.0.5
|
69
|
+
* Update browserslist & caniuse-lite
|
70
|
+
|
71
|
+
## 10.0.0.1
|
72
|
+
* Improved error message for old environments.
|
73
|
+
* Reduced gem file size.
|
74
|
+
|
75
|
+
## 10.0 “Alis volat propriis”
|
76
|
+
* Removed support for Node.js 6.x, 8.x, 11.x.
|
77
|
+
* Moved to PostCSS 8.
|
78
|
+
|
79
|
+
## 9.8.6.5
|
80
|
+
* Fix `9.8.6.4` regression.
|
81
|
+
|
82
|
+
## 9.8.6.4
|
83
|
+
* Remove deprecation warnings.
|
84
|
+
|
3
85
|
## 9.8.6.3
|
4
86
|
* Fix deprecation warning for non-Rails environment.
|
5
87
|
|
data/README.md
CHANGED
@@ -4,8 +4,6 @@
|
|
4
4
|
src="http://postcss.github.io/autoprefixer/logo.svg"
|
5
5
|
title="Autoprefixer logo by Anton Lovchikov">
|
6
6
|
|
7
|
-
**DEPRECATED. [Migration Guide.]**
|
8
|
-
|
9
7
|
[Autoprefixer] is a tool to parse CSS and add vendor prefixes to CSS rules
|
10
8
|
using values from the [Can I Use] database. This gem provides Ruby
|
11
9
|
and Ruby on Rails integration with this JavaScript tool.
|
@@ -14,7 +12,6 @@ and Ruby on Rails integration with this JavaScript tool.
|
|
14
12
|
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54">
|
15
13
|
</a>
|
16
14
|
|
17
|
-
[Migration Guide.]: https://github.com/ai/autoprefixer-rails/wiki/Deprecated
|
18
15
|
[Autoprefixer]: https://github.com/postcss/autoprefixer
|
19
16
|
[Can I Use]: http://caniuse.com/
|
20
17
|
[PostCSS]: https://postcss.org/
|
@@ -36,8 +33,8 @@ Windows users should install [Node.js]. Autoprefixer Rails doesn’t work with
|
|
36
33
|
old JScript in Windows.
|
37
34
|
|
38
35
|
Autoprefixer Rails uses [ExecJS] that will use the best available JavaScript
|
39
|
-
runtime. Currently this gem is tested to work with Node.js version
|
40
|
-
with [mini_racer], but will not work with [therubyracer].
|
36
|
+
runtime. Currently this gem is tested to work with Node.js version 10 and up
|
37
|
+
and with [mini_racer], but will not work with [therubyracer].
|
41
38
|
|
42
39
|
[Node.js]: http://nodejs.org/
|
43
40
|
[ExecJS]: https://github.com/rails/execjs
|
@@ -7,21 +7,10 @@ require "json"
|
|
7
7
|
IS_SECTION = /^\s*\[(.+)\]\s*$/.freeze
|
8
8
|
|
9
9
|
module AutoprefixerRails
|
10
|
-
def self.show_deprecation_message!
|
11
|
-
return unless defined?(ActiveSupport::Deprecation)
|
12
|
-
|
13
|
-
return if defined?(@deprecation_shown)
|
14
|
-
|
15
|
-
ActiveSupport::Deprecation.warn(
|
16
|
-
"autoprefixer-rails was deprected. Migration guide:\n" \
|
17
|
-
"https://github.com/ai/autoprefixer-rails/wiki/Deprecated"
|
18
|
-
)
|
19
|
-
|
20
|
-
@deprecation_shown = true
|
21
|
-
end
|
22
|
-
|
23
10
|
# Ruby to JS wrapper for Autoprefixer processor instance
|
24
11
|
class Processor
|
12
|
+
SUPPORTED_RUNTIMES = [ExecJS::Runtimes::Node, ExecJS::Runtimes::MiniRacer]
|
13
|
+
|
25
14
|
def initialize(params = {})
|
26
15
|
@params = params || {}
|
27
16
|
end
|
@@ -33,15 +22,8 @@ module AutoprefixerRails
|
|
33
22
|
# * `to` with output CSS file name.
|
34
23
|
# * `map` with true to generate new source map or with previous map.
|
35
24
|
def process(css, opts = {})
|
36
|
-
AutoprefixerRails.show_deprecation_message!
|
37
|
-
|
38
25
|
opts = convert_options(opts)
|
39
26
|
|
40
|
-
apply_wrapper =
|
41
|
-
"(function(opts, pluginOpts) {" \
|
42
|
-
"return eval(process.apply(this, opts, pluginOpts));" \
|
43
|
-
"})"
|
44
|
-
|
45
27
|
plugin_opts = params_with_browsers(opts[:from]).merge(opts)
|
46
28
|
process_opts = {
|
47
29
|
from: plugin_opts.delete(:from),
|
@@ -50,10 +32,10 @@ module AutoprefixerRails
|
|
50
32
|
}
|
51
33
|
|
52
34
|
begin
|
53
|
-
result = runtime.call(
|
35
|
+
result = runtime.call("autoprefixer.process", css, process_opts, plugin_opts)
|
54
36
|
rescue ExecJS::ProgramError => e
|
55
37
|
contry_error = "BrowserslistError: " \
|
56
|
-
"Country statistics
|
38
|
+
"Country statistics are not supported " \
|
57
39
|
"in client-side build of Browserslist"
|
58
40
|
if e.message == contry_error
|
59
41
|
raise "Country statistics is not supported in AutoprefixerRails. " \
|
@@ -68,7 +50,7 @@ module AutoprefixerRails
|
|
68
50
|
|
69
51
|
# Return, which browsers and prefixes will be used
|
70
52
|
def info
|
71
|
-
runtime.
|
53
|
+
runtime.call("autoprefixer.info", params_with_browsers)
|
72
54
|
end
|
73
55
|
|
74
56
|
# Parse Browserslist config
|
@@ -113,13 +95,6 @@ module AutoprefixerRails
|
|
113
95
|
params
|
114
96
|
end
|
115
97
|
|
116
|
-
# Convert params to JS string and add browsers from Browserslist config
|
117
|
-
def js_params
|
118
|
-
"{ " +
|
119
|
-
params_with_browsers.map { |k, v| "#{k}: #{v.inspect}" }.join(", ") +
|
120
|
-
" }"
|
121
|
-
end
|
122
|
-
|
123
98
|
# Convert ruby_options to jsOptions
|
124
99
|
def convert_options(opts)
|
125
100
|
converted = {}
|
@@ -155,55 +130,36 @@ module AutoprefixerRails
|
|
155
130
|
# Lazy load for JS library
|
156
131
|
def runtime
|
157
132
|
@runtime ||= begin
|
158
|
-
if ExecJS.eval("typeof Uint8Array") != "function"
|
159
|
-
if ExecJS.runtime.name.start_with?("therubyracer")
|
160
|
-
raise "ExecJS::RubyRacerRuntime is not supported. " \
|
161
|
-
"Please replace therubyracer with mini_racer " \
|
162
|
-
"in your Gemfile or use Node.js as ExecJS runtime."
|
163
|
-
else
|
164
|
-
raise "#{ExecJS.runtime.name} runtime does’t support ES6. " \
|
165
|
-
"Please update or replace your current ExecJS runtime."
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
if ExecJS.runtime == ExecJS::Runtimes::Node
|
170
|
-
version = ExecJS.runtime.eval("process.version")
|
171
|
-
first = version.match(/^v(\d+)/)[1].to_i
|
172
|
-
raise "Autoprefixer doesn’t support Node #{version}. Update it." if first < 6
|
173
|
-
end
|
174
|
-
|
175
133
|
ExecJS.compile(build_js)
|
134
|
+
rescue ExecJS::RuntimeError
|
135
|
+
# Only complain about unsupported runtimes when it failed to parse our script.
|
136
|
+
|
137
|
+
case ExecJS.runtime
|
138
|
+
when ExecJS::Runtimes::Node
|
139
|
+
node_command = ExecJS.runtime.send(:binary) rescue "Unknown"
|
140
|
+
|
141
|
+
raise <<~MSG
|
142
|
+
Your nodejs binary failed to load autoprefixer script file,
|
143
|
+
please check if you're running a supported version (10, 12, 14+)
|
144
|
+
|
145
|
+
ENV["PATH"] = #{ENV["PATH"]}
|
146
|
+
binary = #{node_command}
|
147
|
+
MSG
|
148
|
+
when *SUPPORTED_RUNTIMES
|
149
|
+
raise
|
150
|
+
else
|
151
|
+
raise <<~MSG
|
152
|
+
Your ExecJS runtime #{ExecJS.runtime.name} isn't supported by autoprefixer-rails,
|
153
|
+
please switch to #{SUPPORTED_RUNTIMES.map(&:name).join(' or ')}
|
154
|
+
MSG
|
155
|
+
end
|
176
156
|
end
|
177
157
|
end
|
178
158
|
|
179
|
-
# Cache autoprefixer.js content
|
180
|
-
def read_js
|
181
|
-
@read_js ||= begin
|
182
|
-
root = Pathname(File.dirname(__FILE__))
|
183
|
-
path = root.join("../../vendor/autoprefixer.js")
|
184
|
-
path.read
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
|
-
# Return processor JS with some extra methods
|
189
159
|
def build_js
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
# Return JS code for process method proxy
|
194
|
-
def process_proxy
|
195
|
-
<<-JS
|
196
|
-
var processor;
|
197
|
-
var process = function() {
|
198
|
-
var result = autoprefixer.process.apply(autoprefixer, arguments);
|
199
|
-
var warns = result.warnings().map(function (i) {
|
200
|
-
delete i.plugin;
|
201
|
-
return i.toString();
|
202
|
-
});
|
203
|
-
var map = result.map ? result.map.toString() : null;
|
204
|
-
return { css: result.css, map: map, warnings: warns };
|
205
|
-
};
|
206
|
-
JS
|
160
|
+
root = Pathname(File.dirname(__FILE__))
|
161
|
+
path = root.join("../../vendor/autoprefixer.js")
|
162
|
+
path.read
|
207
163
|
end
|
208
164
|
end
|
209
165
|
end
|