autoprefixer-rails 9.5.1.1 → 10.4.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +165 -0
  3. data/README.md +17 -33
  4. data/lib/autoprefixer-rails/processor.rb +45 -74
  5. data/lib/autoprefixer-rails/railtie.rb +15 -10
  6. data/lib/autoprefixer-rails/result.rb +2 -0
  7. data/lib/autoprefixer-rails/sprockets.rb +7 -5
  8. data/lib/autoprefixer-rails/version.rb +4 -2
  9. data/lib/autoprefixer-rails.rb +3 -0
  10. data/lib/rake/autoprefixer_tasks.rb +2 -0
  11. data/vendor/autoprefixer.js +72773 -61310
  12. metadata +39 -42
  13. data/.gitignore +0 -7
  14. data/.rspec +0 -1
  15. data/.standard.yml +0 -1
  16. data/.travis.yml +0 -25
  17. data/Gemfile +0 -10
  18. data/Rakefile +0 -53
  19. data/autoprefixer-rails.gemspec +0 -32
  20. data/spec/app/.browserslistrc +0 -4
  21. data/spec/app/.gitignore +0 -2
  22. data/spec/app/Rakefile +0 -2
  23. data/spec/app/app/assets/config/manifest.js +0 -0
  24. data/spec/app/app/assets/stylesheets/evaluate.css.erb +0 -1
  25. data/spec/app/app/assets/stylesheets/loaded.sass +0 -2
  26. data/spec/app/app/assets/stylesheets/sass.sass +0 -1
  27. data/spec/app/app/assets/stylesheets/test.css +0 -3
  28. data/spec/app/app/assets/stylesheets/wrong.css +0 -2
  29. data/spec/app/app/controllers/application_controller.rb +0 -2
  30. data/spec/app/app/controllers/css_controller.rb +0 -6
  31. data/spec/app/config/application.rb +0 -16
  32. data/spec/app/config/autoprefixer.yml +0 -2
  33. data/spec/app/config/boot.rb +0 -2
  34. data/spec/app/config/environment.rb +0 -3
  35. data/spec/app/config/environments/test.rb +0 -9
  36. data/spec/app/config/initializers/secret_token.rb +0 -1
  37. data/spec/app/config/routes.rb +0 -3
  38. data/spec/app/config.ru +0 -2
  39. data/spec/autoprefixer_spec.rb +0 -112
  40. data/spec/processor_spec.rb +0 -25
  41. data/spec/rails_spec.rb +0 -40
  42. data/spec/railtie_spec.rb +0 -29
  43. data/spec/spec_helper.rb +0 -16
metadata CHANGED
@@ -1,31 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autoprefixer-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.5.1.1
4
+ version: 10.4.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Sitnik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-06 00:00:00.000000000 Z
11
+ date: 2022-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: execjs
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rails
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.85.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.85.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-packaging
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.1.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.1.1
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: standard
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -89,16 +117,9 @@ extra_rdoc_files:
89
117
  - LICENSE
90
118
  - CHANGELOG.md
91
119
  files:
92
- - ".gitignore"
93
- - ".rspec"
94
- - ".standard.yml"
95
- - ".travis.yml"
96
120
  - CHANGELOG.md
97
- - Gemfile
98
121
  - LICENSE
99
122
  - README.md
100
- - Rakefile
101
- - autoprefixer-rails.gemspec
102
123
  - lib/autoprefixer-rails.rb
103
124
  - lib/autoprefixer-rails/processor.rb
104
125
  - lib/autoprefixer-rails/railtie.rb
@@ -106,30 +127,6 @@ files:
106
127
  - lib/autoprefixer-rails/sprockets.rb
107
128
  - lib/autoprefixer-rails/version.rb
108
129
  - lib/rake/autoprefixer_tasks.rb
109
- - spec/app/.browserslistrc
110
- - spec/app/.gitignore
111
- - spec/app/Rakefile
112
- - spec/app/app/assets/config/manifest.js
113
- - spec/app/app/assets/stylesheets/evaluate.css.erb
114
- - spec/app/app/assets/stylesheets/loaded.sass
115
- - spec/app/app/assets/stylesheets/sass.sass
116
- - spec/app/app/assets/stylesheets/test.css
117
- - spec/app/app/assets/stylesheets/wrong.css
118
- - spec/app/app/controllers/application_controller.rb
119
- - spec/app/app/controllers/css_controller.rb
120
- - spec/app/config.ru
121
- - spec/app/config/application.rb
122
- - spec/app/config/autoprefixer.yml
123
- - spec/app/config/boot.rb
124
- - spec/app/config/environment.rb
125
- - spec/app/config/environments/test.rb
126
- - spec/app/config/initializers/secret_token.rb
127
- - spec/app/config/routes.rb
128
- - spec/autoprefixer_spec.rb
129
- - spec/processor_spec.rb
130
- - spec/rails_spec.rb
131
- - spec/railtie_spec.rb
132
- - spec/spec_helper.rb
133
130
  - vendor/autoprefixer.js
134
131
  homepage: https://github.com/ai/autoprefixer-rails
135
132
  licenses:
@@ -146,7 +143,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
143
  requirements:
147
144
  - - ">="
148
145
  - !ruby/object:Gem::Version
149
- version: '2.0'
146
+ version: '2.4'
150
147
  required_rubygems_version: !ruby/object:Gem::Requirement
151
148
  requirements:
152
149
  - - ">="
@@ -156,6 +153,6 @@ requirements: []
156
153
  rubygems_version: 3.0.3
157
154
  signing_key:
158
155
  specification_version: 4
159
- summary: Parse CSS and add vendor prefixes to CSS rules usingvalues from the Can I
160
- Use website.
156
+ summary: Parse CSS and add vendor prefixes to CSS rules using values from the Can
157
+ I Use website.
161
158
  test_files: []
data/.gitignore DELETED
@@ -1,7 +0,0 @@
1
- *.DS_Store
2
- *~
3
-
4
- pkg/
5
-
6
- .bundle
7
- *.lock
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --format documentation --colour
data/.standard.yml DELETED
@@ -1 +0,0 @@
1
- ruby_version: 2.3
data/.travis.yml DELETED
@@ -1,25 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - "2.6"
4
- - "2.5"
5
- - "2.4"
6
- - "2.3"
7
- git:
8
- depth: 5
9
- cache: bundler
10
- before_install:
11
- - gem update --system
12
- - nvm install node
13
- env:
14
- - EXECJS_RUNTIME=Node
15
- - EXECJS_RUNTIME=MiniRacer
16
- matrix:
17
- exclude:
18
- - rvm: "2.3"
19
- env: "EXECJS_RUNTIME=Node"
20
-
21
- - rvm: "2.4"
22
- env: "EXECJS_RUNTIME=Node"
23
-
24
- - rvm: "2.5"
25
- env: "EXECJS_RUNTIME=Node"
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
4
-
5
- gem "execjs"
6
- gem "sassc-rails"
7
- gem "rails", ">= 5.0.0.beta2"
8
- gem "sprockets", ">= 4.0.0.beta1"
9
-
10
- gem "mini_racer"
data/Rakefile DELETED
@@ -1,53 +0,0 @@
1
- require "rubygems"
2
-
3
- require "bundler/setup"
4
- Bundler::GemHelper.install_tasks
5
-
6
- require "standard/rake"
7
-
8
- require "rspec/core/rake_task"
9
- RSpec::Core::RakeTask.new
10
- task default: [:spec, "standard:fix"]
11
-
12
- task :clobber_package do
13
- begin
14
- rm_r "pkg"
15
- rescue
16
- nil
17
- end
18
- end
19
-
20
- desc "Delete all generated files"
21
- task clobber: [:clobber_package]
22
-
23
- desc "Test all Gemfiles from spec/*.gemfile"
24
- task :test_all do
25
- require "pty"
26
- require "shellwords"
27
- cmd = "bundle update && bundle exec rake --trace"
28
- statuses = Dir.glob("./sprockets*.gemfile").map { |gemfile|
29
- Bundler.with_clean_env do
30
- env = {"BUNDLE_GEMFILE" => gemfile}
31
- warn "Testing #{File.basename(gemfile)}:"
32
- warn " export BUNDLE_GEMFILE=#{gemfile}"
33
- warn " #{cmd}"
34
- PTY.spawn(env, cmd) do |r, _w, pid|
35
- begin
36
- r.each_line { |l| puts l }
37
- rescue Errno::EIO
38
- # Errno:EIO error means that the process has finished giving output.
39
- ensure
40
- ::Process.wait pid
41
- end
42
- end
43
- [$? && $?.exitstatus == 0, gemfile]
44
- end
45
- }
46
- failed = statuses.reject(&:first).map(&:last)
47
- if failed.empty?
48
- warn "✓ Tests pass with all #{statuses.size} gemfiles"
49
- else
50
- warn "❌ FAILING #{failed * "\n"}"
51
- exit 1
52
- end
53
- end
@@ -1,32 +0,0 @@
1
- require File.expand_path("../lib/autoprefixer-rails/version", __FILE__)
2
-
3
- Gem::Specification.new do |s|
4
- s.platform = Gem::Platform::RUBY
5
- s.name = "autoprefixer-rails"
6
- s.version = AutoprefixerRails::VERSION.dup
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
-
11
- s.files = `git ls-files`.split("\n")
12
- s.test_files = `git ls-files -- {spec}/*`.split("\n")
13
- s.extra_rdoc_files = ["README.md", "LICENSE", "CHANGELOG.md"]
14
- s.require_path = "lib"
15
- s.required_ruby_version = ">= 2.0"
16
-
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
-
22
- s.add_dependency "execjs", ">= 0"
23
-
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"
32
- end
@@ -1,4 +0,0 @@
1
- ie 11
2
-
3
- [test]
4
- chrome 25
data/spec/app/.gitignore DELETED
@@ -1,2 +0,0 @@
1
- /log
2
- /tmp
data/spec/app/Rakefile DELETED
@@ -1,2 +0,0 @@
1
- require File.expand_path("../config/application", __FILE__)
2
- App::Application.load_tasks
File without changes
@@ -1 +0,0 @@
1
- <%= evaluate 'test.css' %>
@@ -1,2 +0,0 @@
1
- a
2
- mask: none
@@ -1 +0,0 @@
1
- @import "loaded"
@@ -1,3 +0,0 @@
1
- a {
2
- mask: none
3
- }
@@ -1,2 +0,0 @@
1
- a {
2
- background: linear-gradient(top, white, black)
@@ -1,2 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- end
@@ -1,6 +0,0 @@
1
- class CssController < ApplicationController
2
- def test
3
- file = params[:exact_file] || params[:file] + ".css"
4
- render plain: Rails.application.assets[file].to_s.gsub(/;(\s})/, '\1')
5
- end
6
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path("../boot", __FILE__)
2
-
3
- require "action_controller/railtie"
4
- require "sprockets/railtie"
5
-
6
- if defined?(Bundler)
7
- Bundler.require(*Rails.groups(assets: %w[development test]))
8
- end
9
-
10
- module App
11
- class Application < Rails::Application
12
- config.assets.enabled = true
13
- config.sass.line_comments = false
14
- config.sass.inline_source_maps = true
15
- end
16
- end
@@ -1,2 +0,0 @@
1
- supports: false
2
- cascade: false
@@ -1,2 +0,0 @@
1
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../Gemfile", __FILE__)
2
- require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
@@ -1,3 +0,0 @@
1
- require "tzinfo"
2
- require File.expand_path("../application", __FILE__)
3
- App::Application.initialize!
@@ -1,9 +0,0 @@
1
- App::Application.configure do
2
- config.cache_classes = true
3
- config.eager_load = false
4
- config.consider_all_requests_local = true
5
- config.action_controller.perform_caching = false
6
- config.action_dispatch.show_exceptions = false
7
- config.action_controller.allow_forgery_protection = false
8
- config.active_support.deprecation = :stderr
9
- end
@@ -1 +0,0 @@
1
- App::Application.config.secret_key_base = "test"
@@ -1,3 +0,0 @@
1
- App::Application.routes.draw do
2
- root to: "css#test"
3
- end
data/spec/app/config.ru DELETED
@@ -1,2 +0,0 @@
1
- require ::File.expand_path("../config/environment", __FILE__)
2
- run App::Application
@@ -1,112 +0,0 @@
1
- require_relative "spec_helper"
2
-
3
- describe AutoprefixerRails do
4
- before :all do
5
- @dir = Pathname(__FILE__).dirname
6
- @css = @dir.join("app/app/assets/stylesheets/test.css").read
7
- end
8
-
9
- it "process CSS" do
10
- expect(AutoprefixerRails.process(@css)).to be_a(AutoprefixerRails::Result)
11
- end
12
-
13
- it "process CSS for selected browsers" do
14
- css = "a {\n tab-size: 2\n}"
15
- result = AutoprefixerRails.process(css, browsers: ["opera 12"])
16
- expect(result.css).to eq "a {\n" \
17
- " -o-tab-size: 2;\n" \
18
- " tab-size: 2\n" \
19
- "}"
20
- end
21
-
22
- it "process @supports" do
23
- css = "@supports (display: flex) { }"
24
- result = AutoprefixerRails.process(css, browsers: ["chrome 28"])
25
- expect(result.css).to eq(
26
- "@supports ((display: -webkit-flex) or (display: flex)) { }"
27
- )
28
- end
29
-
30
- it "generates source map" do
31
- result = AutoprefixerRails.process(@css, map: true)
32
- expect(result.css).to include("/*# sourceMappingURL=data:")
33
- end
34
-
35
- it "generates separated source map" do
36
- result = AutoprefixerRails.process(@css, map: {inline: false})
37
- expect(result.map).to be_a(String)
38
- end
39
-
40
- it "uses file name in syntax errors", not_jruby: true do
41
- expect {
42
- AutoprefixerRails.process("a {", from: "a.css")
43
- }.to raise_error(/a.css:/)
44
- end
45
-
46
- it "includes sourcesContent by default" do
47
- map = AutoprefixerRails.process("a{}", map: {inline: false}).map
48
- expect(map).to include("sourcesContent")
49
- end
50
-
51
- it "maps options from Ruby style" do
52
- map = AutoprefixerRails.process("a{}", map: {
53
- sources_content: false,
54
- inline: false,
55
- }).map
56
-
57
- expect(map).not_to include("sourcesContent")
58
- end
59
-
60
- it "does not remove old prefixes on request" do
61
- css = "a { -moz-border-radius: 5px; border-radius: 5px }"
62
- result = AutoprefixerRails.process(css, remove: false)
63
- expect(result.css).to eq(css)
64
- end
65
-
66
- it "shows debug" do
67
- info = AutoprefixerRails.processor(browsers: ["chrome 25"]).info
68
- expect(info).to match(/Browsers:\n Chrome: 25\n\n/)
69
- expect(info).to match(/ transition: webkit/)
70
- end
71
-
72
- it "returns warnings" do
73
- css = "a{background:linear-gradient(top,white,black)}"
74
- result = AutoprefixerRails.process(css)
75
- expect(result.warnings).to eq(["<css input>:1:3: Gradient has outdated " \
76
- "direction syntax. New syntax is like `to left` instead of `right`."])
77
- end
78
-
79
- it "shows correct error on country statistics" do
80
- expect {
81
- AutoprefixerRails.process("", browsers: "> 1% in US")
82
- }.to raise_error(/Use Autoprefixer with webpack/)
83
- end
84
-
85
- context "Sprockets" do
86
- before :each do
87
- @assets = Sprockets::Environment.new
88
- @assets.append_path(@dir.join("app/app/assets/stylesheets"))
89
- AutoprefixerRails.install(@assets, browsers: ["chrome 25"])
90
- end
91
-
92
- it "integrates with Sprockets" do
93
- css = @assets["test.css"].to_s
94
- expect(css).to eq "a {\n" \
95
- " -webkit-mask: none;\n" \
96
- " mask: none\n" \
97
- "}\n"
98
- end
99
-
100
- it "shows file name from Sprockets", not_jruby: true do
101
- expect { @assets["wrong.css"] }.to raise_error(/wrong/)
102
- end
103
-
104
- it "supports disabling", not_jruby: true do
105
- AutoprefixerRails.uninstall(@assets)
106
- css = @assets["test.css"].to_s
107
- expect(css).to eq "a {\n" \
108
- " mask: none\n" \
109
- "}\n"
110
- end
111
- end
112
- end
@@ -1,25 +0,0 @@
1
- require_relative "spec_helper"
2
-
3
- describe AutoprefixerRails::Processor do
4
- it "parses config" do
5
- config = "# Comment\n ie 11\n \nie 8 # sorry\n[test ]\nios 8"
6
- processor = AutoprefixerRails::Processor.new
7
- expect(processor.parse_config(config)).to eql({
8
- "defaults" => ["ie 11", "ie 8"],
9
- "test" => ["ios 8"],
10
- })
11
- end
12
-
13
- context "without Rails" do
14
- before do
15
- hide_const("Rails")
16
- end
17
-
18
- it "doesn't raise error during processing" do
19
- processor = AutoprefixerRails::Processor.new
20
- expect {
21
- processor.process("")
22
- }.not_to raise_error
23
- end
24
- end
25
- end
data/spec/rails_spec.rb DELETED
@@ -1,40 +0,0 @@
1
- require_relative "spec_helper"
2
-
3
- describe CssController, type: :controller do
4
- before :all do
5
- cache = Rails.root.join("tmp/cache")
6
- cache.rmtree if cache.exist?
7
- end
8
-
9
- def test_file(file)
10
- if Rails.version.split(".").first.to_i >= 5
11
- get :test, params: {file: file}
12
- else
13
- get :test, file: file
14
- end
15
- end
16
-
17
- it "integrates with Rails and Sass" do
18
- test_file "sass"
19
- expect(response).to be_successful
20
- clear_css = response.body.tr("\n", " ").squeeze(" ").strip
21
- expect(clear_css).to eq "a{-webkit-mask:none;mask:none}"
22
- end
23
-
24
- if Sprockets::Context.instance_methods.include?(:evaluate)
25
- it "supports evaluate" do
26
- test_file "evaluate"
27
- expect(response).to be_successful
28
- clear_css = response.body.tr("\n", " ").squeeze(" ").strip
29
- expect(clear_css).to eq "a { -webkit-mask: none; mask: none }"
30
- end
31
- end
32
- end
33
-
34
- describe "Rake task" do
35
- it "shows debug" do
36
- info = `cd spec/app; bundle exec rake autoprefixer:info`
37
- expect(info).to match(/Browsers:\n Chrome: 25\n\n/)
38
- expect(info).to match(/ transition: webkit/)
39
- end
40
- end
data/spec/railtie_spec.rb DELETED
@@ -1,29 +0,0 @@
1
- require_relative "spec_helper"
2
-
3
- describe AutoprefixedRails::Railtie do
4
- before do
5
- @railtie = AutoprefixedRails::Railtie.instance
6
- end
7
-
8
- context "with config/autoprefixer.yml" do
9
- it "works" do
10
- expect(@railtie.config).to eq(cascade: false, supports: false, env: "test")
11
- end
12
- end
13
-
14
- context "with empty config/autoprefixer.yml" do
15
- before do
16
- file_path = File.join(Rails.application.root, "config/autoprefixer.yml")
17
- allow(File).to receive(:exists?).with(file_path) { true }
18
- allow(::YAML).to receive(:load_file).with(file_path) { false } # empty yaml
19
- end
20
-
21
- it "skips empty YAML" do
22
- expect { @railtie.config }.not_to raise_error
23
- end
24
-
25
- it "works" do
26
- expect(@railtie.config).to eq(env: "test")
27
- end
28
- end
29
- end
data/spec/spec_helper.rb DELETED
@@ -1,16 +0,0 @@
1
- ENV["RAILS_ENV"] ||= "test"
2
-
3
- require_relative "app/config/environment"
4
- require_relative "../lib/autoprefixer-rails"
5
-
6
- require "rspec/rails"
7
-
8
- STDERR.puts "ExecJS runtime is #{ExecJS.runtime.class}"
9
-
10
- RSpec.configure do |c|
11
- c.filter_run_excluding not_jruby: RUBY_PLATFORM == "java"
12
- end
13
-
14
- def sprockets_4?
15
- Gem::Version.new(Sprockets::VERSION) > Gem::Version.new("4.0.x")
16
- end