autoprefixer-rails 8.6.5 → 9.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.standard.yml +1 -0
- data/.travis.yml +7 -24
- data/CHANGELOG.md +130 -0
- data/Gemfile +10 -1
- data/README.md +27 -27
- data/Rakefile +25 -20
- data/autoprefixer-rails.gemspec +21 -17
- data/lib/autoprefixer-rails.rb +16 -13
- data/lib/autoprefixer-rails/processor.rb +71 -141
- data/lib/autoprefixer-rails/railtie.rb +6 -6
- data/lib/autoprefixer-rails/sprockets.rb +9 -9
- data/lib/autoprefixer-rails/version.rb +1 -1
- data/lib/rake/autoprefixer_tasks.rb +4 -4
- data/spec/app/Rakefile +1 -1
- data/spec/app/app/controllers/css_controller.rb +1 -1
- data/spec/app/config.ru +1 -1
- data/spec/app/config/application.rb +6 -4
- data/spec/app/config/boot.rb +2 -2
- data/spec/app/config/environment.rb +2 -2
- data/spec/app/config/initializers/secret_token.rb +1 -1
- data/spec/app/config/routes.rb +1 -1
- data/spec/autoprefixer_spec.rb +46 -37
- data/spec/processor_spec.rb +16 -5
- data/spec/rails_spec.rb +12 -22
- data/spec/railtie_spec.rb +9 -9
- data/spec/spec_helper.rb +5 -5
- data/vendor/autoprefixer.js +58511 -15781
- metadata +13 -17
- data/mini_racer.gemfile +0 -16
- data/shared.gemfile +0 -7
- data/spec/app/config/initializers/compress.rb +0 -1
- data/spec/compass/config.rb +0 -34
- data/spec/compass/sass/screen.scss +0 -3
- data/spec/compass_spec.rb +0 -21
- data/sprockets3.gemfile +0 -9
- data/sprockets4.gemfile +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 680449e585a1801eaffcff50b1a36e4ab44476c8e9109bba8673806ea72eb760
|
4
|
+
data.tar.gz: f68169a9f0c8e0241ffcf85fa71c3e61c74c99666d0a82493d34a4276d3241e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b08175a1998b9cd4d7cbb3ecaecff51db36dcd6cb308c4817d0fb8d7907b9fa09705369a64c39cebfb2ea4d16c41657632a109fee02dfc9fe65e29b3d757ebd8
|
7
|
+
data.tar.gz: d121637b9ef955095366010a1df86f5772c0a0ffb133ba5936f9a740487487cf648f78f687057e095e331a315ec086464880d8b7c0fd217133ee0ec5a0e19e26
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
tidelift: rubygems/autoprefixer-rails
|
data/.standard.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby_version: 2.3
|
data/.travis.yml
CHANGED
@@ -1,30 +1,13 @@
|
|
1
|
-
sudo: false
|
2
1
|
language: ruby
|
3
2
|
rvm:
|
4
|
-
- "2.
|
5
|
-
- "2.
|
6
|
-
git:
|
7
|
-
depth: 5
|
3
|
+
- "2.6"
|
4
|
+
- "2.5"
|
8
5
|
cache: bundler
|
9
|
-
gemfile:
|
10
|
-
- sprockets3.gemfile
|
11
|
-
- sprockets4.gemfile
|
12
|
-
- mini_racer.gemfile
|
13
6
|
before_install:
|
14
|
-
-
|
15
|
-
|
16
|
-
|
17
|
-
# mini_racer / rubyracer or rubyrhino depending on platform:
|
18
|
-
-
|
7
|
+
- gem update --system
|
8
|
+
- nvm install node
|
9
|
+
env: "EXECJS_RUNTIME=MiniRacer"
|
19
10
|
matrix:
|
20
|
-
|
21
|
-
- rvm: "2.
|
11
|
+
include:
|
12
|
+
- rvm: "2.6"
|
22
13
|
env: "EXECJS_RUNTIME=Node"
|
23
|
-
- rvm: "2.3.5"
|
24
|
-
gemfile: mini_racer.gemfile
|
25
|
-
|
26
|
-
- rvm: "2.4.2"
|
27
|
-
gemfile: sprockets3.gemfile
|
28
|
-
|
29
|
-
- env: "EXECJS_RUNTIME=Node"
|
30
|
-
gemfile: mini_racer.gemfile
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,135 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 9.6.5
|
4
|
+
* Fix selector prefixing (by Andrey Alexandrov).
|
5
|
+
|
6
|
+
## 9.6.4
|
7
|
+
* Now the real fix for `'startsWith' of undefined` error.
|
8
|
+
|
9
|
+
## 9.6.3
|
10
|
+
* Fix `Cannot read property 'startsWith' of undefined` error.
|
11
|
+
|
12
|
+
## 9.6.2
|
13
|
+
* Fix false `Replace fill to stretch` warning.
|
14
|
+
|
15
|
+
## 9.6.1.1
|
16
|
+
* Update Can I Use data.
|
17
|
+
|
18
|
+
## 9.6.1
|
19
|
+
* Fix `-webkit-line-clamp` truncating multi-line text support.
|
20
|
+
|
21
|
+
## 9.6 “Nunc id vides, nunc ne vides”
|
22
|
+
* Add warning-less `overrideBrowserslist` option.
|
23
|
+
* Add `text-orientation` support.
|
24
|
+
* Add `min-resolution: 2x` alias support.
|
25
|
+
|
26
|
+
## 9.5.1.1
|
27
|
+
* Fix `register_postprocessor' for nil:NilClass` error.
|
28
|
+
* Update Can I Use data.
|
29
|
+
|
30
|
+
## 9.5.1
|
31
|
+
* Fix `backdrop-filter` for Edge (by Oleh Aloshkin).
|
32
|
+
* Fix `min-resolution` media query support in Firefox < 16.
|
33
|
+
|
34
|
+
## 9.5 “Draco dormiens nunquam titillandus”
|
35
|
+
* Add `mask-composite` support (by Semen Levenson).
|
36
|
+
|
37
|
+
## 9.4.10.2
|
38
|
+
* Fix Ruby < 2.4 support (by Jack Ford).
|
39
|
+
* Update Can I Use data.
|
40
|
+
|
41
|
+
## 9.4.10.1
|
42
|
+
* Fix non-Rails environments support (by Junya Ogura).
|
43
|
+
* Update Can I Use data.
|
44
|
+
|
45
|
+
## 9.4.10
|
46
|
+
* Add warning for named Grid rows.
|
47
|
+
|
48
|
+
## 9.4.9
|
49
|
+
* Fix `grid-template` and `@media` case (by Bogdan Dolin).
|
50
|
+
|
51
|
+
## 9.4.8
|
52
|
+
* Fix `calc()` support in Grid gap.
|
53
|
+
|
54
|
+
## 9.4.7
|
55
|
+
* Fix infinite loop on mismatched parens.
|
56
|
+
|
57
|
+
## 9.4.6
|
58
|
+
* Fix warning text (by Albert Juhé Lluveras).
|
59
|
+
|
60
|
+
## 9.4.5
|
61
|
+
* Fix `text-decoration-skip-ink` support.
|
62
|
+
|
63
|
+
## 9.4.4
|
64
|
+
* Use `direction` value for `-ms-writing-mode` (by Denys Kniazevych).
|
65
|
+
* Fix warning text (by @zzzzBov).
|
66
|
+
|
67
|
+
## 9.4.3
|
68
|
+
* Add warning to force `flex-start` instead of `start` (by Antoine du Hamel).
|
69
|
+
|
70
|
+
## 9.4.2
|
71
|
+
* Fix Grid autoplacement warning.
|
72
|
+
|
73
|
+
## 9.4.1
|
74
|
+
* Fix unnecessary Flexbox prefixes in Grid elements.
|
75
|
+
|
76
|
+
## 9.4 “Advance Australia”
|
77
|
+
* Add Grid autoplacement for `-ms-` (by Bogdan Dolin).
|
78
|
+
* Improve warnings (by Daniel Tonon).
|
79
|
+
* Remove some unnecessary warnings for Grid (by Andrey Alexandrov).
|
80
|
+
|
81
|
+
## 9.3.1
|
82
|
+
* Fix Grid prefixes with `repeat()` value (by Bogdan Dolin).
|
83
|
+
|
84
|
+
## 9.3 “Labor omnia vincit”
|
85
|
+
* Add `place-self` support (by Bogdan Dolin).
|
86
|
+
* Fix Grid row/column span inheritance bug (by Bogdan Dolin).
|
87
|
+
|
88
|
+
## 9.2.1
|
89
|
+
* Update Can I Use data.
|
90
|
+
|
91
|
+
## 9.2 “Ony est glavnaya krepost”
|
92
|
+
* Add `/* autoprefixer grid: on */` control comment (by Andrey Alexandrov).
|
93
|
+
* Add duplicate `grid-area` support (by Bogdan Dolin).
|
94
|
+
* Fix `grid-gap` support for rules with different specifity (by Bogdan Dolin).
|
95
|
+
* Disable Grid in `@supports` at-rule with non-supported Grid features.
|
96
|
+
* Improve Grid warnings (by Daniel Tonon).
|
97
|
+
|
98
|
+
## 9.1.4
|
99
|
+
* Fix `ExecJS` runtime test (by Patrice Chalin).
|
100
|
+
|
101
|
+
## 9.1.3
|
102
|
+
* Sort properties in `rake autoprefixer` alphabetically.
|
103
|
+
* Fix old Firefox gradient prefix.
|
104
|
+
|
105
|
+
## 9.1.2
|
106
|
+
* Fix `autoprefixer --info` in new Node.js.
|
107
|
+
* Fix ExecJS runtime warning.
|
108
|
+
|
109
|
+
## 9.1.1
|
110
|
+
* Retain `grid-gap` through `@media` (by Bogdan Dolin).
|
111
|
+
* Fix `grid-template` and `@media` (by Bogdan Dolin).
|
112
|
+
* Fix Grid areas searching error (by Bogdan Dolin).
|
113
|
+
* Fix `span X` Grid prefix (by Bogdan Dolin).
|
114
|
+
* Fix `log2` error.
|
115
|
+
|
116
|
+
## 9.1 “Equality before the law”
|
117
|
+
* Add `background-clip: text` support.
|
118
|
+
* Fix adding Grid span for IE (by Bogdan).
|
119
|
+
|
120
|
+
## 9.0.2
|
121
|
+
* Show warning on Grid area names conflict (by Bogdan).
|
122
|
+
* Fix ExecJS warning (by Jan Kmet).
|
123
|
+
|
124
|
+
## 9.0.1
|
125
|
+
* Fix nested at-rules in Grid prefixes (by Ivan Malov).
|
126
|
+
|
127
|
+
## 9.0 “A Mari Usque Ad Mare”
|
128
|
+
* Remove Node.js 9 and Node.js 4 support.
|
129
|
+
* Remove RubyRacer and Sprockets 3 support.
|
130
|
+
* Use PostCSS 7.0.
|
131
|
+
* Use Browserslist 4.0.
|
132
|
+
|
3
133
|
## 8.6.5
|
4
134
|
* Do not show Grid warnings if IE was not selected.
|
5
135
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -28,8 +28,17 @@ Autoprefixer Rails doesn’t support these Autoprefixer features:
|
|
28
28
|
|
29
29
|
## Usage
|
30
30
|
|
31
|
-
Windows users should install [
|
32
|
-
|
31
|
+
Windows users should install [Node.js]. Autoprefixer Rails doesn’t work with
|
32
|
+
old JScript in Windows.
|
33
|
+
|
34
|
+
Autoprefixer Rails uses [ExecJS] that will use the best available JavaScript
|
35
|
+
runtime. Currently this gem is tested to work with Node.js version 6 and up and
|
36
|
+
with [mini_racer], but will not work with [therubyracer].
|
37
|
+
|
38
|
+
[Node.js]: http://nodejs.org/
|
39
|
+
[ExecJS]: https://github.com/rails/execjs
|
40
|
+
[mini_racer]: https://github.com/discourse/mini_racer
|
41
|
+
[therubyracer]: https://github.com/cowboyd/therubyracer
|
33
42
|
|
34
43
|
### Ruby on Rails
|
35
44
|
|
@@ -78,26 +87,15 @@ support to add vendor prefixes automatically using the Asset Pipeline:
|
|
78
87
|
}
|
79
88
|
```
|
80
89
|
|
81
|
-
If you need to specify browsers for your Rails project, you can save them
|
82
|
-
|
83
|
-
|
84
|
-
or any of its ancestor directories
|
85
|
-
|
86
|
-
```
|
87
|
-
> 1%
|
88
|
-
last 2 versions
|
89
|
-
IE > 8 # comment
|
90
|
-
```
|
90
|
+
If you need to specify browsers for your Rails project, you can save them
|
91
|
+
to `.browserslistrc` and place it under `app/assets/stylesheets/`
|
92
|
+
or any of its ancestor directories
|
91
93
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
- "> 1%"
|
98
|
-
- "last 2 versions"
|
99
|
-
- "IE > 8"
|
100
|
-
```
|
94
|
+
```
|
95
|
+
> 1%
|
96
|
+
last 2 versions
|
97
|
+
IE > 8 # comment
|
98
|
+
```
|
101
99
|
|
102
100
|
See [Browserslist docs] for config format. But `> 5% in US` query is not
|
103
101
|
supported in Rails, because of ExecJS limitations. You should migrate to webpack
|
@@ -145,12 +143,6 @@ require "autoprefixer-rails"
|
|
145
143
|
prefixed = AutoprefixerRails.process(css, from: 'main.css').css
|
146
144
|
```
|
147
145
|
|
148
|
-
You can specify browsers with the `browsers` option:
|
149
|
-
|
150
|
-
```ruby
|
151
|
-
AutoprefixerRails.process(css, from: 'a.css', browsers: ['> 1%', 'ie 10']).css
|
152
|
-
```
|
153
|
-
|
154
146
|
### Compass
|
155
147
|
|
156
148
|
You should consider using Gulp instead of Compass binary,
|
@@ -235,3 +227,11 @@ to JS style, so you can use `map: { sources_content: false }`
|
|
235
227
|
instead of camelcase `sourcesContent`.
|
236
228
|
|
237
229
|
[PostCSS docs]: https://github.com/postcss/postcss#source-map-1
|
230
|
+
|
231
|
+
|
232
|
+
## Security Contact
|
233
|
+
|
234
|
+
To report a security vulnerability, please use the [Tidelift security contact].
|
235
|
+
Tidelift will coordinate the fix and disclosure.
|
236
|
+
|
237
|
+
[Tidelift security contact]: https://tidelift.com/security
|
data/Rakefile
CHANGED
@@ -1,31 +1,36 @@
|
|
1
|
-
|
2
|
-
require 'rubygems'
|
1
|
+
require "rubygems"
|
3
2
|
|
4
|
-
require
|
3
|
+
require "bundler/setup"
|
5
4
|
Bundler::GemHelper.install_tasks
|
6
5
|
|
7
|
-
require
|
6
|
+
require "standard/rake"
|
7
|
+
|
8
|
+
require "rspec/core/rake_task"
|
8
9
|
RSpec::Core::RakeTask.new
|
9
|
-
task :
|
10
|
+
task default: [:spec, "standard:fix"]
|
10
11
|
|
11
12
|
task :clobber_package do
|
12
|
-
|
13
|
+
begin
|
14
|
+
rm_r "pkg"
|
15
|
+
rescue
|
16
|
+
nil
|
17
|
+
end
|
13
18
|
end
|
14
19
|
|
15
|
-
desc
|
16
|
-
task :
|
20
|
+
desc "Delete all generated files"
|
21
|
+
task clobber: [:clobber_package]
|
17
22
|
|
18
|
-
desc
|
23
|
+
desc "Test all Gemfiles from spec/*.gemfile"
|
19
24
|
task :test_all do
|
20
|
-
require
|
21
|
-
require
|
22
|
-
cmd =
|
23
|
-
statuses = Dir.glob(
|
25
|
+
require "pty"
|
26
|
+
require "shellwords"
|
27
|
+
cmd = "bundle update && bundle exec rake --trace"
|
28
|
+
statuses = Dir.glob("./sprockets*.gemfile").map { |gemfile|
|
24
29
|
Bundler.with_clean_env do
|
25
|
-
env = {
|
26
|
-
|
27
|
-
|
28
|
-
|
30
|
+
env = {"BUNDLE_GEMFILE" => gemfile}
|
31
|
+
warn "Testing #{File.basename(gemfile)}:"
|
32
|
+
warn " export BUNDLE_GEMFILE=#{gemfile}"
|
33
|
+
warn " #{cmd}"
|
29
34
|
PTY.spawn(env, cmd) do |r, _w, pid|
|
30
35
|
begin
|
31
36
|
r.each_line { |l| puts l }
|
@@ -37,12 +42,12 @@ task :test_all do
|
|
37
42
|
end
|
38
43
|
[$? && $?.exitstatus == 0, gemfile]
|
39
44
|
end
|
40
|
-
|
45
|
+
}
|
41
46
|
failed = statuses.reject(&:first).map(&:last)
|
42
47
|
if failed.empty?
|
43
|
-
|
48
|
+
warn "✓ Tests pass with all #{statuses.size} gemfiles"
|
44
49
|
else
|
45
|
-
|
50
|
+
warn "❌ FAILING #{failed * "\n"}"
|
46
51
|
exit 1
|
47
52
|
end
|
48
53
|
end
|
data/autoprefixer-rails.gemspec
CHANGED
@@ -1,28 +1,32 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path("../lib/autoprefixer-rails/version", __FILE__)
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
|
-
s.name =
|
5
|
+
s.name = "autoprefixer-rails"
|
6
6
|
s.version = AutoprefixerRails::VERSION.dup
|
7
|
-
s.date = Time.now.strftime(
|
8
|
-
s.summary =
|
9
|
-
|
7
|
+
s.date = Time.now.strftime("%Y-%m-%d")
|
8
|
+
s.summary = "Parse CSS and add vendor prefixes to CSS rules using" \
|
9
|
+
"values from the Can I Use website."
|
10
10
|
|
11
11
|
s.files = `git ls-files`.split("\n")
|
12
12
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
13
|
-
s.extra_rdoc_files = [
|
14
|
-
s.require_path =
|
15
|
-
s.required_ruby_version =
|
13
|
+
s.extra_rdoc_files = ["README.md", "LICENSE", "CHANGELOG.md"]
|
14
|
+
s.require_path = "lib"
|
15
|
+
s.required_ruby_version = ">= 2.0"
|
16
16
|
|
17
|
-
s.author =
|
18
|
-
s.email =
|
19
|
-
s.homepage =
|
20
|
-
s.license =
|
17
|
+
s.author = "Andrey Sitnik"
|
18
|
+
s.email = "andrey@sitnik.ru"
|
19
|
+
s.homepage = "https://github.com/ai/autoprefixer-rails"
|
20
|
+
s.license = "MIT"
|
21
21
|
|
22
|
-
s.add_dependency
|
22
|
+
s.add_dependency "execjs", ">= 0"
|
23
23
|
|
24
|
-
s.add_development_dependency
|
25
|
-
s.add_development_dependency
|
26
|
-
s.add_development_dependency
|
27
|
-
s.add_development_dependency
|
24
|
+
s.add_development_dependency "rake"
|
25
|
+
s.add_development_dependency "rails"
|
26
|
+
s.add_development_dependency "rspec-rails"
|
27
|
+
s.add_development_dependency "standard"
|
28
|
+
|
29
|
+
s.metadata["changelog_uri"] = "https://github.com/ai/autoprefixer-rails/blob/master/CHANGELOG.md"
|
30
|
+
s.metadata["source_code_uri"] = "https://github.com/ai/autoprefixer-rails"
|
31
|
+
s.metadata["bug_tracker_uri"] = "https://github.com/ai/autoprefixer-rails/issues"
|
28
32
|
end
|
data/lib/autoprefixer-rails.rb
CHANGED
@@ -1,21 +1,24 @@
|
|
1
1
|
# Ruby integration with Autoprefixer JS library, which parse CSS and adds
|
2
2
|
# only actual prefixed
|
3
3
|
module AutoprefixerRails
|
4
|
-
autoload :Sprockets,
|
4
|
+
autoload :Sprockets, "autoprefixer-rails/sprockets"
|
5
5
|
|
6
6
|
# Add prefixes to `css`. See `Processor#process` for options.
|
7
|
-
def self.process(css, opts = {
|
8
|
-
params = {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
params[:
|
7
|
+
def self.process(css, opts = {})
|
8
|
+
params = {}
|
9
|
+
if opts.key?(:overrideBrowserslist)
|
10
|
+
params[:overrideBrowserslist] = opts.delete(:overrideBrowserslist)
|
11
|
+
end
|
12
|
+
params[:browsers] = opts.delete(:browsers) if opts.key?(:browsers)
|
13
|
+
params[:cascade] = opts.delete(:cascade) if opts.key?(:cascade)
|
14
|
+
params[:remove] = opts.delete(:remove) if opts.key?(:remove)
|
15
|
+
params[:env] = opts.delete(:env) if opts.key?(:env)
|
13
16
|
processor(params).process(css, opts)
|
14
17
|
end
|
15
18
|
|
16
19
|
# Add Autoprefixer for Sprockets environment in `assets`.
|
17
20
|
# You can specify `browsers` actual in your project.
|
18
|
-
def self.install(assets, params = {
|
21
|
+
def self.install(assets, params = {})
|
19
22
|
Sprockets.register_processor(processor(params))
|
20
23
|
Sprockets.install(assets)
|
21
24
|
end
|
@@ -26,13 +29,13 @@ module AutoprefixerRails
|
|
26
29
|
end
|
27
30
|
|
28
31
|
# Cache processor instances
|
29
|
-
def self.processor(params = {
|
32
|
+
def self.processor(params = {})
|
30
33
|
Processor.new(params)
|
31
34
|
end
|
32
35
|
end
|
33
36
|
|
34
|
-
require_relative
|
35
|
-
require_relative
|
36
|
-
require_relative
|
37
|
+
require_relative "autoprefixer-rails/result"
|
38
|
+
require_relative "autoprefixer-rails/version"
|
39
|
+
require_relative "autoprefixer-rails/processor"
|
37
40
|
|
38
|
-
require_relative
|
41
|
+
require_relative "autoprefixer-rails/railtie" if defined?(Rails)
|