autoprefixer-rails 9.4.9 → 9.4.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.standard.yml +1 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +5 -5
- data/Rakefile +25 -20
- data/autoprefixer-rails.gemspec +22 -17
- data/lib/autoprefixer-rails.rb +13 -13
- data/lib/autoprefixer-rails/processor.rb +62 -69
- 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 +4 -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 +37 -37
- data/spec/compass/.sass-cache/9d2b36f9e9dcbcd2558ccf9e4f73aa1cad8bcbb4/screen.scssc +0 -0
- data/spec/compass/config.rb +16 -23
- data/spec/compass_spec.rb +9 -10
- data/spec/processor_spec.rb +4 -6
- data/spec/rails_spec.rb +14 -14
- data/spec/railtie_spec.rb +9 -9
- data/spec/spec_helper.rb +5 -5
- data/sprockets4.gemfile +5 -5
- data/vendor/autoprefixer.js +24 -13
- metadata +24 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55aa75133a8250c25f7b7e285607a0315d13453989a970011946f87ab9d777f0
|
4
|
+
data.tar.gz: d5fd367da79f5094b05aec07d82c2b94d13e67932a3141cce9b5f7a20b74aa2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d53ac4357010c956a86cfc40f94dd053d76d73031295431d332857dbac6befae6b13809c2fa459e27f929f30b2a3ce7a4c10eafb714283d934a8b7b1b649cb1d
|
7
|
+
data.tar.gz: 28e319a72466ad47c5e627529e428d3cee3e748af199e8bdfcdbe632d18703877ba55599eba137d14fd9352a61b4cdd08928e778f688cadc729a741403614cbf
|
data/.standard.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby_version: 2.3
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
gem
|
6
|
-
gem
|
7
|
-
gem
|
5
|
+
gem "execjs"
|
6
|
+
gem "rails", ">= 5.0.0.beta2"
|
7
|
+
gem "sprockets", ">= 4.0.0.beta1"
|
8
8
|
|
9
|
-
gem
|
9
|
+
gem "mini_racer"
|
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,33 @@
|
|
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 "compass"
|
27
|
+
s.add_development_dependency "rspec-rails"
|
28
|
+
s.add_development_dependency "standard"
|
29
|
+
|
30
|
+
s.metadata["changelog_uri"] = "https://github.com/ai/autoprefixer-rails/blob/master/CHANGELOG.md"
|
31
|
+
s.metadata["source_code_uri"] = "https://github.com/ai/autoprefixer-rails"
|
32
|
+
s.metadata["bug_tracker_uri"] = "https://github.com/ai/autoprefixer-rails/issues"
|
28
33
|
end
|
data/lib/autoprefixer-rails.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
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
|
-
params[:browsers] = opts.delete(:browsers) if opts.
|
10
|
-
params[:cascade] = opts.delete(:cascade) if opts.
|
11
|
-
params[:remove] = opts.delete(:remove) if opts.
|
12
|
-
params[:env] = opts.delete(:env) if opts.
|
7
|
+
def self.process(css, opts = {})
|
8
|
+
params = {}
|
9
|
+
params[:browsers] = opts.delete(:browsers) if opts.key?(:browsers)
|
10
|
+
params[:cascade] = opts.delete(:cascade) if opts.key?(:cascade)
|
11
|
+
params[:remove] = opts.delete(:remove) if opts.key?(:remove)
|
12
|
+
params[:env] = opts.delete(:env) if opts.key?(:env)
|
13
13
|
processor(params).process(css, opts)
|
14
14
|
end
|
15
15
|
|
16
16
|
# Add Autoprefixer for Sprockets environment in `assets`.
|
17
17
|
# You can specify `browsers` actual in your project.
|
18
|
-
def self.install(assets, params = {
|
18
|
+
def self.install(assets, params = {})
|
19
19
|
Sprockets.register_processor(processor(params))
|
20
20
|
Sprockets.install(assets)
|
21
21
|
end
|
@@ -26,13 +26,13 @@ module AutoprefixerRails
|
|
26
26
|
end
|
27
27
|
|
28
28
|
# Cache processor instances
|
29
|
-
def self.processor(params = {
|
29
|
+
def self.processor(params = {})
|
30
30
|
Processor.new(params)
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
require_relative
|
35
|
-
require_relative
|
36
|
-
require_relative
|
34
|
+
require_relative "autoprefixer-rails/result"
|
35
|
+
require_relative "autoprefixer-rails/version"
|
36
|
+
require_relative "autoprefixer-rails/processor"
|
37
37
|
|
38
|
-
require_relative
|
38
|
+
require_relative "autoprefixer-rails/railtie" if defined?(Rails)
|
@@ -1,15 +1,14 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "pathname"
|
2
|
+
require "execjs"
|
3
|
+
require "json"
|
4
4
|
|
5
5
|
IS_SECTION = /^\s*\[(.+)\]\s*$/
|
6
6
|
|
7
7
|
module AutoprefixerRails
|
8
8
|
# Ruby to JS wrapper for Autoprefixer processor instance
|
9
9
|
class Processor
|
10
|
-
|
11
|
-
|
12
|
-
@params = params || { }
|
10
|
+
def initialize(params = {})
|
11
|
+
@params = params || {}
|
13
12
|
end
|
14
13
|
|
15
14
|
# Process `css` and return result.
|
@@ -18,85 +17,79 @@ module AutoprefixerRails
|
|
18
17
|
# * `from` with input CSS file name. Will be used in error messages.
|
19
18
|
# * `to` with output CSS file name.
|
20
19
|
# * `map` with true to generate new source map or with previous map.
|
21
|
-
def process(css, opts = {
|
20
|
+
def process(css, opts = {})
|
22
21
|
opts = convert_options(opts)
|
23
22
|
|
24
23
|
apply_wrapper =
|
25
|
-
"(function(opts, pluginOpts) {"
|
26
|
-
"return eval(process.apply(this, opts, pluginOpts));"
|
24
|
+
"(function(opts, pluginOpts) {" \
|
25
|
+
"return eval(process.apply(this, opts, pluginOpts));" \
|
27
26
|
"})"
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
from:
|
32
|
-
to:
|
33
|
-
map:
|
28
|
+
plugin_opts = params_with_browsers(opts[:from]).merge(opts)
|
29
|
+
process_opts = {
|
30
|
+
from: plugin_opts.delete(:from),
|
31
|
+
to: plugin_opts.delete(:to),
|
32
|
+
map: plugin_opts.delete(:map),
|
34
33
|
}
|
35
34
|
|
36
35
|
begin
|
37
|
-
result = runtime.call(apply_wrapper, [css,
|
36
|
+
result = runtime.call(apply_wrapper, [css, process_opts, plugin_opts])
|
38
37
|
rescue ExecJS::ProgramError => e
|
39
|
-
contry_error =
|
40
|
-
|
41
|
-
|
38
|
+
contry_error = "BrowserslistError: " \
|
39
|
+
"Country statistics is not supported " \
|
40
|
+
"in client-side build of Browserslist"
|
42
41
|
if e.message == contry_error
|
43
|
-
raise
|
44
|
-
|
42
|
+
raise "Country statistics is not supported in AutoprefixerRails. " \
|
43
|
+
"Use Autoprefixer with webpack or other Node.js builder."
|
45
44
|
else
|
46
45
|
raise e
|
47
46
|
end
|
48
47
|
end
|
49
48
|
|
50
|
-
Result.new(result[
|
49
|
+
Result.new(result["css"], result["map"], result["warnings"])
|
51
50
|
end
|
52
51
|
|
53
52
|
# Return, which browsers and prefixes will be used
|
54
53
|
def info
|
55
|
-
runtime.eval("autoprefixer(#{
|
54
|
+
runtime.eval("autoprefixer(#{js_params}).info()")
|
56
55
|
end
|
57
56
|
|
58
57
|
# Parse Browserslist config
|
59
58
|
def parse_config(config)
|
60
|
-
sections = {
|
61
|
-
current =
|
62
|
-
config.gsub(/#[^\n]*/,
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
59
|
+
sections = {"defaults" => []}
|
60
|
+
current = "defaults"
|
61
|
+
config.gsub(/#[^\n]*/, "")
|
62
|
+
.split(/\n/)
|
63
|
+
.map(&:strip)
|
64
|
+
.reject(&:empty?)
|
65
|
+
.each do |line|
|
66
|
+
if IS_SECTION.match?(line)
|
67
|
+
current = line.match(IS_SECTION)[1].strip
|
68
|
+
sections[current] ||= []
|
69
|
+
else
|
70
|
+
sections[current] << line
|
71
|
+
end
|
72
|
+
end
|
74
73
|
sections
|
75
74
|
end
|
76
75
|
|
77
76
|
private
|
78
77
|
|
79
78
|
def params_with_browsers(from = nil)
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
from = '.'
|
85
|
-
end
|
79
|
+
from ||= if defined? Rails&.respond_to?(:root) && Rails&.root
|
80
|
+
Rails.root.join("app/assets/stylesheets").to_s
|
81
|
+
else
|
82
|
+
"."
|
86
83
|
end
|
87
84
|
|
88
85
|
params = @params
|
89
|
-
if
|
86
|
+
if !params.key?(:browsers) && from
|
90
87
|
file = find_config(from)
|
91
88
|
if file
|
92
|
-
env = params[:env].to_s ||
|
89
|
+
env = params[:env].to_s || "development"
|
93
90
|
config = parse_config(file)
|
94
91
|
params = params.dup
|
95
|
-
|
96
|
-
params[:browsers] = config[env]
|
97
|
-
else
|
98
|
-
params[:browsers] = config['defaults']
|
99
|
-
end
|
92
|
+
params[:browsers] = (config[env] || config["defaults"])
|
100
93
|
end
|
101
94
|
end
|
102
95
|
|
@@ -105,18 +98,18 @@ module AutoprefixerRails
|
|
105
98
|
|
106
99
|
# Convert params to JS string and add browsers from Browserslist config
|
107
100
|
def js_params
|
108
|
-
|
109
|
-
params_with_browsers.map { |k, v| "#{k}: #{v.inspect}"}.join(
|
110
|
-
|
101
|
+
"{ " +
|
102
|
+
params_with_browsers.map { |k, v| "#{k}: #{v.inspect}"}.join(", ") +
|
103
|
+
" }"
|
111
104
|
end
|
112
105
|
|
113
106
|
# Convert ruby_options to jsOptions
|
114
107
|
def convert_options(opts)
|
115
|
-
converted = {
|
108
|
+
converted = {}
|
116
109
|
|
117
110
|
opts.each_pair do |name, value|
|
118
|
-
if
|
119
|
-
name = name.to_s.gsub(/_\w/) { |i| i.
|
111
|
+
if /_/.match?(name)
|
112
|
+
name = name.to_s.gsub(/_\w/) { |i| i.delete("_").upcase }.to_sym
|
120
113
|
end
|
121
114
|
value = convert_options(value) if value.is_a? Hash
|
122
115
|
converted[name] = value
|
@@ -130,11 +123,11 @@ module AutoprefixerRails
|
|
130
123
|
path = Pathname(file).expand_path
|
131
124
|
|
132
125
|
while path.parent != path
|
133
|
-
config1 = path.join(
|
134
|
-
return config1.read if config1.exist?
|
126
|
+
config1 = path.join("browserslist")
|
127
|
+
return config1.read if config1.exist? && !config1.directory?
|
135
128
|
|
136
|
-
config2 = path.join(
|
137
|
-
return config2.read if config2.exist?
|
129
|
+
config2 = path.join(".browserslistrc")
|
130
|
+
return config2.read if config2.exist? && !config1.directory?
|
138
131
|
|
139
132
|
path = path.parent
|
140
133
|
end
|
@@ -145,22 +138,22 @@ module AutoprefixerRails
|
|
145
138
|
# Lazy load for JS library
|
146
139
|
def runtime
|
147
140
|
@runtime ||= begin
|
148
|
-
if ExecJS.eval(
|
149
|
-
if ExecJS.runtime.name.start_with?(
|
150
|
-
raise "ExecJS::RubyRacerRuntime is not supported. "
|
151
|
-
|
152
|
-
|
141
|
+
if ExecJS.eval("typeof Uint8Array") != "function"
|
142
|
+
if ExecJS.runtime.name.start_with?("therubyracer")
|
143
|
+
raise "ExecJS::RubyRacerRuntime is not supported. " \
|
144
|
+
"Please replace therubyracer with mini_racer " \
|
145
|
+
"in your Gemfile or use Node.js as ExecJS runtime."
|
153
146
|
else
|
154
|
-
raise "#{ExecJS.runtime.name} runtime does’t support ES6. "
|
155
|
-
|
147
|
+
raise "#{ExecJS.runtime.name} runtime does’t support ES6. " \
|
148
|
+
"Please update or replace your current ExecJS runtime."
|
156
149
|
end
|
157
150
|
end
|
158
151
|
|
159
152
|
if ExecJS.runtime == ExecJS::Runtimes::Node
|
160
|
-
version = ExecJS.runtime.eval(
|
153
|
+
version = ExecJS.runtime.eval("process.version")
|
161
154
|
first = version.match(/^v(\d+)/)[1].to_i
|
162
155
|
if first < 6
|
163
|
-
raise "Autoprefixer doesn’t support Node #{
|
156
|
+
raise "Autoprefixer doesn’t support Node #{version}. Update it."
|
164
157
|
end
|
165
158
|
end
|
166
159
|
|
@@ -179,7 +172,7 @@ module AutoprefixerRails
|
|
179
172
|
|
180
173
|
# Return processor JS with some extra methods
|
181
174
|
def build_js
|
182
|
-
|
175
|
+
"var global = this;" + read_js + process_proxy
|
183
176
|
end
|
184
177
|
|
185
178
|
# Return JS code for process method proxy
|
@@ -1,20 +1,20 @@
|
|
1
|
-
require
|
1
|
+
require "yaml"
|
2
2
|
|
3
3
|
begin
|
4
4
|
module AutoprefixedRails
|
5
5
|
class Railtie < ::Rails::Railtie
|
6
6
|
rake_tasks do |app|
|
7
|
-
require
|
8
|
-
Rake::AutoprefixerTasks.new(
|
7
|
+
require "rake/autoprefixer_tasks"
|
8
|
+
Rake::AutoprefixerTasks.new(config) if defined? app.assets
|
9
9
|
end
|
10
10
|
|
11
|
-
if config.respond_to?(:assets)
|
11
|
+
if config.respond_to?(:assets) && !config.assets.nil?
|
12
12
|
config.assets.configure do |env|
|
13
13
|
AutoprefixerRails.install(env, config)
|
14
14
|
end
|
15
15
|
else
|
16
16
|
initializer :setup_autoprefixer, group: :all do |app|
|
17
|
-
if defined? app.assets
|
17
|
+
if defined? app.assets && !app.assets.nil?
|
18
18
|
AutoprefixerRails.install(app.assets, config)
|
19
19
|
end
|
20
20
|
end
|
@@ -25,7 +25,7 @@ begin
|
|
25
25
|
params = {}
|
26
26
|
|
27
27
|
roots.each do |root|
|
28
|
-
file = File.join(root,
|
28
|
+
file = File.join(root, "config/autoprefixer.yml")
|
29
29
|
|
30
30
|
if File.exist?(file)
|
31
31
|
parsed = ::YAML.load_file(file)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "pathname"
|
2
2
|
|
3
3
|
module AutoprefixerRails
|
4
4
|
# Register autoprefixer postprocessor in Sprockets and fix common issues
|
@@ -16,11 +16,11 @@ module AutoprefixerRails
|
|
16
16
|
|
17
17
|
# Add prefixes to `css`
|
18
18
|
def self.run(filename, css)
|
19
|
-
output = filename.chomp(File.extname(filename)) +
|
19
|
+
output = filename.chomp(File.extname(filename)) + ".css"
|
20
20
|
result = @processor.process(css, from: filename, to: output)
|
21
21
|
|
22
22
|
result.warnings.each do |warning|
|
23
|
-
|
23
|
+
warn "autoprefixer: #{warning}"
|
24
24
|
end
|
25
25
|
|
26
26
|
result.css
|
@@ -29,10 +29,10 @@ module AutoprefixerRails
|
|
29
29
|
# Register postprocessor in Sprockets depend on issues with other gems
|
30
30
|
def self.install(env)
|
31
31
|
if ::Sprockets::VERSION.to_f < 4
|
32
|
-
env.register_postprocessor(
|
32
|
+
env.register_postprocessor("text/css",
|
33
33
|
::AutoprefixerRails::Sprockets)
|
34
34
|
else
|
35
|
-
env.register_bundle_processor(
|
35
|
+
env.register_bundle_processor("text/css",
|
36
36
|
::AutoprefixerRails::Sprockets)
|
37
37
|
end
|
38
38
|
end
|
@@ -40,18 +40,18 @@ module AutoprefixerRails
|
|
40
40
|
# Register postprocessor in Sprockets depend on issues with other gems
|
41
41
|
def self.uninstall(env)
|
42
42
|
if ::Sprockets::VERSION.to_f < 4
|
43
|
-
env.unregister_postprocessor(
|
43
|
+
env.unregister_postprocessor("text/css",
|
44
44
|
::AutoprefixerRails::Sprockets)
|
45
45
|
else
|
46
|
-
env.unregister_bundle_processor(
|
46
|
+
env.unregister_bundle_processor("text/css",
|
47
47
|
::AutoprefixerRails::Sprockets)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
51
|
# Sprockets 2 API new and render
|
52
|
-
def initialize(filename
|
52
|
+
def initialize(filename)
|
53
53
|
@filename = filename
|
54
|
-
@source =
|
54
|
+
@source = yield
|
55
55
|
end
|
56
56
|
|
57
57
|
# Sprockets 2 API new and render
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "rake"
|
2
|
+
require "rake/tasklib"
|
3
|
+
require "autoprefixer-rails"
|
4
4
|
|
5
5
|
module Rake
|
6
6
|
# Define task to inspect Autoprefixer browsers, properties and values.
|
@@ -18,7 +18,7 @@ module Rake
|
|
18
18
|
|
19
19
|
def define
|
20
20
|
namespace :autoprefixer do
|
21
|
-
desc
|
21
|
+
desc "Show selected browsers and prefixed CSS properties and values"
|
22
22
|
task :info do
|
23
23
|
puts @processor.info
|
24
24
|
end
|
data/spec/app/Rakefile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path("../config/application", __FILE__)
|
2
2
|
App::Application.load_tasks
|
data/spec/app/config.ru
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
require ::File.expand_path(
|
1
|
+
require ::File.expand_path("../config/environment", __FILE__)
|
2
2
|
run App::Application
|
@@ -1,10 +1,10 @@
|
|
1
|
-
require File.expand_path(
|
1
|
+
require File.expand_path("../boot", __FILE__)
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "action_controller/railtie"
|
4
|
+
require "sprockets/railtie"
|
5
5
|
|
6
6
|
if defined?(Bundler)
|
7
|
-
Bundler.require(*Rails.groups(assets: %w
|
7
|
+
Bundler.require(*Rails.groups(assets: %w[development test]))
|
8
8
|
end
|
9
9
|
|
10
10
|
module App
|
data/spec/app/config/boot.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
ENV[
|
2
|
-
require
|
1
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../../../Gemfile", __FILE__)
|
2
|
+
require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
|
@@ -1,3 +1,3 @@
|
|
1
|
-
require
|
2
|
-
require File.expand_path(
|
1
|
+
require "tzinfo"
|
2
|
+
require File.expand_path("../application", __FILE__)
|
3
3
|
App::Application.initialize!
|
@@ -1 +1 @@
|
|
1
|
-
App::Application.config.secret_key_base =
|
1
|
+
App::Application.config.secret_key_base = "test"
|
data/spec/app/config/routes.rb
CHANGED
data/spec/autoprefixer_spec.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative "spec_helper"
|
2
2
|
|
3
3
|
describe AutoprefixerRails do
|
4
4
|
before :all do
|
5
5
|
@dir = Pathname(__FILE__).dirname
|
6
|
-
@css = @dir.join(
|
6
|
+
@css = @dir.join("app/app/assets/stylesheets/test.css").read
|
7
7
|
end
|
8
8
|
|
9
9
|
it "process CSS" do
|
@@ -12,101 +12,101 @@ describe AutoprefixerRails do
|
|
12
12
|
|
13
13
|
it "process CSS for selected browsers" do
|
14
14
|
css = "a {\n tab-size: 2\n}"
|
15
|
-
result = AutoprefixerRails.process(css, browsers: [
|
16
|
-
expect(result.css).to eq "a {\n"
|
17
|
-
|
18
|
-
|
19
|
-
|
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
20
|
end
|
21
21
|
|
22
22
|
it "process @supports" do
|
23
23
|
css = "@supports (display: flex) { }"
|
24
|
-
result = AutoprefixerRails.process(css, browsers: [
|
24
|
+
result = AutoprefixerRails.process(css, browsers: ["chrome 28"])
|
25
25
|
expect(result.css).to eq(
|
26
|
-
|
26
|
+
"@supports ((display: -webkit-flex) or (display: flex)) { }"
|
27
|
+
)
|
27
28
|
end
|
28
29
|
|
29
30
|
it "generates source map" do
|
30
31
|
result = AutoprefixerRails.process(@css, map: true)
|
31
|
-
expect(result.css).to include(
|
32
|
+
expect(result.css).to include("/*# sourceMappingURL=data:")
|
32
33
|
end
|
33
34
|
|
34
35
|
it "generates separated source map" do
|
35
|
-
result = AutoprefixerRails.process(@css, map: {
|
36
|
+
result = AutoprefixerRails.process(@css, map: {inline: false})
|
36
37
|
expect(result.map).to be_a(String)
|
37
38
|
end
|
38
39
|
|
39
40
|
it "uses file name in syntax errors", not_jruby: true do
|
40
41
|
expect {
|
41
|
-
AutoprefixerRails.process(
|
42
|
+
AutoprefixerRails.process("a {", from: "a.css")
|
42
43
|
}.to raise_error(/a.css:/)
|
43
44
|
end
|
44
45
|
|
45
46
|
it "includes sourcesContent by default" do
|
46
|
-
map = AutoprefixerRails.process(
|
47
|
-
expect(map).to include(
|
47
|
+
map = AutoprefixerRails.process("a{}", map: {inline: false}).map
|
48
|
+
expect(map).to include("sourcesContent")
|
48
49
|
end
|
49
50
|
|
50
51
|
it "maps options from Ruby style" do
|
51
|
-
map = AutoprefixerRails.process(
|
52
|
+
map = AutoprefixerRails.process("a{}", map: {
|
52
53
|
sources_content: false,
|
53
|
-
inline:
|
54
|
+
inline: false,
|
54
55
|
}).map
|
55
56
|
|
56
|
-
expect(map).not_to include(
|
57
|
+
expect(map).not_to include("sourcesContent")
|
57
58
|
end
|
58
59
|
|
59
60
|
it "does not remove old prefixes on request" do
|
60
|
-
css =
|
61
|
+
css = "a { -moz-border-radius: 5px; border-radius: 5px }"
|
61
62
|
result = AutoprefixerRails.process(css, remove: false)
|
62
63
|
expect(result.css).to eq(css)
|
63
64
|
end
|
64
65
|
|
65
66
|
it "shows debug" do
|
66
|
-
info = AutoprefixerRails.processor(browsers: [
|
67
|
+
info = AutoprefixerRails.processor(browsers: ["chrome 25"]).info
|
67
68
|
expect(info).to match(/Browsers:\n Chrome: 25\n\n/)
|
68
69
|
expect(info).to match(/ transition: webkit/)
|
69
70
|
end
|
70
71
|
|
71
72
|
it "returns warnings" do
|
72
|
-
css =
|
73
|
+
css = "a{background:linear-gradient(top,white,black)}"
|
73
74
|
result = AutoprefixerRails.process(css)
|
74
|
-
expect(result.warnings).to eq([
|
75
|
-
|
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`."])
|
76
77
|
end
|
77
78
|
|
78
79
|
it "shows correct error on country statistics" do
|
79
80
|
expect {
|
80
|
-
AutoprefixerRails.process(
|
81
|
+
AutoprefixerRails.process("", browsers: "> 1% in US")
|
81
82
|
}.to raise_error(/Use Autoprefixer with webpack/)
|
82
83
|
end
|
83
84
|
|
84
|
-
context
|
85
|
+
context "Sprockets" do
|
85
86
|
before :each do
|
86
87
|
@assets = Sprockets::Environment.new
|
87
|
-
@assets.append_path(@dir.join(
|
88
|
-
AutoprefixerRails.install(@assets, browsers: [
|
88
|
+
@assets.append_path(@dir.join("app/app/assets/stylesheets"))
|
89
|
+
AutoprefixerRails.install(@assets, browsers: ["chrome 25"])
|
89
90
|
end
|
90
91
|
|
91
92
|
it "integrates with Sprockets" do
|
92
|
-
css = @assets[
|
93
|
-
expect(css).to eq "a {\n"
|
94
|
-
|
95
|
-
|
96
|
-
|
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"
|
97
98
|
end
|
98
99
|
|
99
100
|
it "shows file name from Sprockets", not_jruby: true do
|
100
|
-
expect { @assets[
|
101
|
+
expect { @assets["wrong.css"] }.to raise_error(/wrong/)
|
101
102
|
end
|
102
103
|
|
103
104
|
it "supports disabling", not_jruby: true do
|
104
105
|
AutoprefixerRails.uninstall(@assets)
|
105
|
-
css = @assets[
|
106
|
-
expect(css).to eq "a {\n"
|
107
|
-
|
108
|
-
|
106
|
+
css = @assets["test.css"].to_s
|
107
|
+
expect(css).to eq "a {\n" \
|
108
|
+
" mask: none\n" \
|
109
|
+
"}\n"
|
109
110
|
end
|
110
|
-
|
111
111
|
end
|
112
112
|
end
|
Binary file
|
data/spec/compass/config.rb
CHANGED
@@ -1,34 +1,27 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
images_dir = "images"
|
5
|
-
javascripts_dir = "javascripts"
|
1
|
+
self.sourcemap = true
|
2
|
+
self.output_style = :compressed
|
3
|
+
self.sass_options = {cache: false}
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
sass_options = { cache: false }
|
10
|
-
line_comments = false
|
11
|
-
|
12
|
-
require 'rubygems'
|
13
|
-
require 'bundler'
|
5
|
+
require "rubygems"
|
6
|
+
require "bundler"
|
14
7
|
Bundler.require
|
15
|
-
require
|
8
|
+
require "../../lib/autoprefixer-rails"
|
16
9
|
|
17
10
|
on_stylesheet_saved do |file|
|
18
11
|
css = File.read(file)
|
19
|
-
map = file +
|
12
|
+
map = file + ".map"
|
20
13
|
|
21
|
-
if File.
|
14
|
+
if File.exist? map
|
22
15
|
result = AutoprefixerRails.process(css,
|
23
|
-
browsers: [
|
24
|
-
from:
|
25
|
-
to:
|
26
|
-
map:
|
27
|
-
File.open(file,
|
28
|
-
File.open(map,
|
16
|
+
browsers: ["chrome 25"],
|
17
|
+
from: file,
|
18
|
+
to: file,
|
19
|
+
map: {prev: File.read(map), inline: false})
|
20
|
+
File.open(file, "w") { |io| io << result.css }
|
21
|
+
File.open(map, "w") { |io| io << result.map }
|
29
22
|
else
|
30
|
-
File.open(file,
|
31
|
-
io << AutoprefixerRails.process(css, browsers: [
|
23
|
+
File.open(file, "w") do |io|
|
24
|
+
io << AutoprefixerRails.process(css, browsers: ["chrome 25"])
|
32
25
|
end
|
33
26
|
end
|
34
27
|
end
|
data/spec/compass_spec.rb
CHANGED
@@ -1,21 +1,20 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative "spec_helper"
|
2
2
|
|
3
|
-
COMPASS_DIR = Pathname(__FILE__).dirname.join(
|
4
|
-
STYLESHEETS_DIR = COMPASS_DIR.join(
|
3
|
+
COMPASS_DIR = Pathname(__FILE__).dirname.join("compass")
|
4
|
+
STYLESHEETS_DIR = COMPASS_DIR.join("stylesheets")
|
5
5
|
|
6
|
-
describe
|
6
|
+
describe "Compass integration" do
|
7
7
|
after do
|
8
8
|
STYLESHEETS_DIR.rmtree if STYLESHEETS_DIR.exist?
|
9
9
|
end
|
10
10
|
|
11
|
-
it
|
11
|
+
it "works from config.rb" do
|
12
12
|
`cd #{ COMPASS_DIR }; bundle exec compass compile`
|
13
|
-
expect(STYLESHEETS_DIR.join(
|
14
|
-
.to eq("a{display:-webkit-flex;display:flex}\n\n"
|
13
|
+
expect(STYLESHEETS_DIR.join("screen.css").read)
|
14
|
+
.to eq("a{display:-webkit-flex;display:flex}\n\n" \
|
15
15
|
"/*# sourceMappingURL=screen.css.map */")
|
16
|
-
expect(STYLESHEETS_DIR.join(
|
17
|
-
.to eq('{"version":3,"sources":["../sass/screen.scss"],"names":[],'
|
16
|
+
expect(STYLESHEETS_DIR.join("screen.css.map").read)
|
17
|
+
.to eq('{"version":3,"sources":["../sass/screen.scss"],"names":[],' \
|
18
18
|
'"mappings":"AAAA,EACI,oBAAS,CAAT,YAAa","file":"screen.css"}')
|
19
19
|
end
|
20
|
-
|
21
20
|
end
|
data/spec/processor_spec.rb
CHANGED
@@ -1,14 +1,12 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative "spec_helper"
|
2
2
|
|
3
3
|
describe AutoprefixerRails::Processor do
|
4
|
-
|
5
|
-
it 'parses config' do
|
4
|
+
it "parses config" do
|
6
5
|
config = "# Comment\n ie 11\n \nie 8 # sorry\n[test ]\nios 8"
|
7
6
|
processor = AutoprefixerRails::Processor.new
|
8
7
|
expect(processor.parse_config(config)).to eql({
|
9
|
-
|
10
|
-
|
8
|
+
"defaults" => ["ie 11", "ie 8"],
|
9
|
+
"test" => ["ios 8"],
|
11
10
|
})
|
12
11
|
end
|
13
|
-
|
14
12
|
end
|
data/spec/rails_spec.rb
CHANGED
@@ -1,47 +1,47 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative "spec_helper"
|
2
2
|
|
3
3
|
describe CssController, type: :controller do
|
4
4
|
before :all do
|
5
|
-
cache = Rails.root.join(
|
5
|
+
cache = Rails.root.join("tmp/cache")
|
6
6
|
cache.rmtree if cache.exist?
|
7
7
|
end
|
8
8
|
|
9
9
|
def test_file(file)
|
10
|
-
if Rails.version.split(
|
11
|
-
get :test, params: {
|
10
|
+
if Rails.version.split(".").first.to_i >= 5
|
11
|
+
get :test, params: {file: file}
|
12
12
|
else
|
13
13
|
get :test, file: file
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
it "integrates with Rails and Sass" do
|
18
|
-
test_file
|
18
|
+
test_file "sass"
|
19
19
|
expect(response).to be_successful
|
20
|
-
clear_css = response.body.
|
20
|
+
clear_css = response.body.tr("\n", " ").squeeze(" ").strip
|
21
21
|
expect(clear_css).to eq "a { -webkit-mask: none; mask: none }"
|
22
22
|
end
|
23
23
|
|
24
24
|
if Sprockets::Context.instance_methods.include?(:evaluate)
|
25
|
-
it
|
26
|
-
test_file
|
25
|
+
it "supports evaluate" do
|
26
|
+
test_file "evaluate"
|
27
27
|
expect(response).to be_successful
|
28
|
-
clear_css = response.body.
|
29
|
-
expect(clear_css).to eq
|
28
|
+
clear_css = response.body.tr("\n", " ").squeeze(" ").strip
|
29
|
+
expect(clear_css).to eq "a { -webkit-mask: none; mask: none }"
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
33
|
if sprockets_4?
|
34
34
|
it "works with sprockets 4 source maps" do
|
35
|
-
get :test, params: {
|
35
|
+
get :test, params: {exact_file: "sass.css.map"}
|
36
36
|
expect(response).to be_successful
|
37
37
|
|
38
|
-
source_map = JSON.parse(response.body)[
|
39
|
-
expect(source_map[
|
38
|
+
source_map = JSON.parse(response.body)["sections"].first["map"]
|
39
|
+
expect(source_map["sources"].first).to match(/loaded.*.sass/)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
describe
|
44
|
+
describe "Rake task" do
|
45
45
|
it "shows debug" do
|
46
46
|
info = `cd spec/app; bundle exec rake autoprefixer:info`
|
47
47
|
expect(info).to match(/Browsers:\n Chrome: 25\n\n/)
|
data/spec/railtie_spec.rb
CHANGED
@@ -1,29 +1,29 @@
|
|
1
|
-
require_relative
|
1
|
+
require_relative "spec_helper"
|
2
2
|
|
3
3
|
describe AutoprefixedRails::Railtie do
|
4
4
|
before do
|
5
5
|
@railtie = AutoprefixedRails::Railtie.instance
|
6
6
|
end
|
7
7
|
|
8
|
-
context
|
9
|
-
it
|
10
|
-
expect(@railtie.config).to eq(cascade: false, supports: false, env:
|
8
|
+
context "with config/autoprefixer.yml" do
|
9
|
+
it "works" do
|
10
|
+
expect(@railtie.config).to eq(cascade: false, supports: false, env: "test")
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
context
|
14
|
+
context "with empty config/autoprefixer.yml" do
|
15
15
|
before do
|
16
|
-
file_path = File.join(Rails.application.root,
|
16
|
+
file_path = File.join(Rails.application.root, "config/autoprefixer.yml")
|
17
17
|
allow(File).to receive(:exists?).with(file_path) { true }
|
18
18
|
allow(::YAML).to receive(:load_file).with(file_path) { false } # empty yaml
|
19
19
|
end
|
20
20
|
|
21
|
-
it
|
21
|
+
it "skips empty YAML" do
|
22
22
|
expect { @railtie.config }.not_to raise_error
|
23
23
|
end
|
24
24
|
|
25
|
-
it
|
26
|
-
expect(@railtie.config).to eq(env:
|
25
|
+
it "works" do
|
26
|
+
expect(@railtie.config).to eq(env: "test")
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
ENV[
|
1
|
+
ENV["RAILS_ENV"] ||= "test"
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
3
|
+
require_relative "app/config/environment"
|
4
|
+
require_relative "../lib/autoprefixer-rails"
|
5
5
|
|
6
|
-
require
|
6
|
+
require "rspec/rails"
|
7
7
|
|
8
8
|
STDERR.puts "ExecJS runtime is #{ExecJS.runtime.class}"
|
9
9
|
|
10
10
|
RSpec.configure do |c|
|
11
|
-
c.filter_run_excluding not_jruby: RUBY_PLATFORM ==
|
11
|
+
c.filter_run_excluding not_jruby: RUBY_PLATFORM == "java"
|
12
12
|
end
|
13
13
|
|
14
14
|
def sprockets_4?
|
data/sprockets4.gemfile
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
gem
|
6
|
-
gem
|
7
|
-
gem
|
5
|
+
gem "execjs"
|
6
|
+
gem "rails", ">= 5.0.0.beta2"
|
7
|
+
gem "sprockets", ">= 4.0.0.beta1"
|
8
8
|
|
9
|
-
gem
|
9
|
+
gem "mini_racer"
|
data/vendor/autoprefixer.js
CHANGED
@@ -9222,6 +9222,11 @@ function () {
|
|
9222
9222
|
word: 'auto-fill'
|
9223
9223
|
});
|
9224
9224
|
return undefined;
|
9225
|
+
} else if (/^grid-template/.test(prop) && value.indexOf('[') !== -1) {
|
9226
|
+
result.warn('Autoprefixer currently does not support line names. ' + 'Try using grid-template-areas instead.', {
|
9227
|
+
node: decl,
|
9228
|
+
word: '['
|
9229
|
+
});
|
9225
9230
|
}
|
9226
9231
|
}
|
9227
9232
|
|
@@ -28701,10 +28706,9 @@ module.exports = {
|
|
28701
28706
|
"8": "1 C d J M H I"
|
28702
28707
|
},
|
28703
28708
|
C: {
|
28704
|
-
"2": "1 dB EB F N K D G E A B C d J M H I O P Q R XB WB",
|
28709
|
+
"2": "1 2 3 6 7 8 9 dB EB F N K D G E A B C d J M H I O P Q R AB CB DB XB WB",
|
28705
28710
|
"194": "S T U V W X Y",
|
28706
|
-
"200": "0 5 Z a b c e f g h i j k l m n o L q r s t u v w x y z GB"
|
28707
|
-
"328": "2 3 6 7 8 9 AB CB DB"
|
28711
|
+
"200": "0 5 Z a b c e f g h i j k l m n o L q r s t u v w x y z GB"
|
28708
28712
|
},
|
28709
28713
|
D: {
|
28710
28714
|
"1": "0 2 3 5 6 7 8 9 c e f g h i j k l m n o L q r s t u v w x y z GB AB CB DB QB iB KB IB LB",
|
@@ -28742,7 +28746,7 @@ module.exports = {
|
|
28742
28746
|
"1": "IB"
|
28743
28747
|
},
|
28744
28748
|
M: {
|
28745
|
-
"
|
28749
|
+
"2": "2"
|
28746
28750
|
},
|
28747
28751
|
N: {
|
28748
28752
|
"2": "A B"
|
@@ -28760,8 +28764,8 @@ module.exports = {
|
|
28760
28764
|
"1": "6B"
|
28761
28765
|
}
|
28762
28766
|
},
|
28763
|
-
B:
|
28764
|
-
C: "Custom Elements
|
28767
|
+
B: 7,
|
28768
|
+
C: "Custom Elements (deprecated V0 spec)"
|
28765
28769
|
};
|
28766
28770
|
|
28767
28771
|
},{}],265:[function(require,module,exports){
|
@@ -28841,7 +28845,7 @@ module.exports = {
|
|
28841
28845
|
}
|
28842
28846
|
},
|
28843
28847
|
B: 1,
|
28844
|
-
C: "Custom Elements
|
28848
|
+
C: "Custom Elements (V1)"
|
28845
28849
|
};
|
28846
28850
|
|
28847
28851
|
},{}],266:[function(require,module,exports){
|
@@ -42986,7 +42990,8 @@ module.exports = {
|
|
42986
42990
|
"2": "0 1 5 6 7 8 9 dB EB F N K D G E A B C d J M H I O P Q R S T U V W X Y Z a b c e f g h i j k l m n o L q r s t u v w x y z GB XB WB"
|
42987
42991
|
},
|
42988
42992
|
D: {
|
42989
|
-
"
|
42993
|
+
"1": "NB OB",
|
42994
|
+
"2": "0 1 2 3 5 6 7 8 9 F N K D G E A B C d J M H I O P Q R S T U V W X Y Z a b c e f g h i j k l m n o L q r s t u v w x y z GB AB CB DB QB iB KB IB LB MB"
|
42990
42995
|
},
|
42991
42996
|
E: {
|
42992
42997
|
"1": "4 B C VB p YB",
|
@@ -45577,9 +45582,9 @@ module.exports = {
|
|
45577
45582
|
"2": "1 C d J M H I"
|
45578
45583
|
},
|
45579
45584
|
C: {
|
45580
|
-
"2": "1 dB EB F N K D G E A B C d J M H I O P Q R S T U V W X XB WB",
|
45585
|
+
"2": "1 2 3 8 9 dB EB F N K D G E A B C d J M H I O P Q R S T U V W X AB CB DB XB WB",
|
45581
45586
|
"194": "0 5 Y Z a b c e f g h i j k l m n o L q r s t u v w x y z GB",
|
45582
|
-
"322": "
|
45587
|
+
"322": "6 7"
|
45583
45588
|
},
|
45584
45589
|
D: {
|
45585
45590
|
"1": "0 2 3 6 7 8 9 e f g h i j k l m n o L q r s t u v w x y z GB AB CB DB QB iB KB IB LB",
|
@@ -45635,8 +45640,8 @@ module.exports = {
|
|
45635
45640
|
"1": "6B"
|
45636
45641
|
}
|
45637
45642
|
},
|
45638
|
-
B:
|
45639
|
-
C: "Shadow DOM
|
45643
|
+
B: 7,
|
45644
|
+
C: "Shadow DOM (deprecated V0 spec)"
|
45640
45645
|
};
|
45641
45646
|
|
45642
45647
|
},{}],497:[function(require,module,exports){
|
@@ -45711,7 +45716,7 @@ module.exports = {
|
|
45711
45716
|
}
|
45712
45717
|
},
|
45713
45718
|
B: 5,
|
45714
|
-
C: "Shadow DOM
|
45719
|
+
C: "Shadow DOM (V1)"
|
45715
45720
|
};
|
45716
45721
|
|
45717
45722
|
},{}],498:[function(require,module,exports){
|
@@ -52862,6 +52867,12 @@ module.exports=[
|
|
52862
52867
|
"date": "2018-12-26",
|
52863
52868
|
"lts": "Boron"
|
52864
52869
|
},
|
52870
|
+
{
|
52871
|
+
"name": "nodejs",
|
52872
|
+
"version": "6.17.0",
|
52873
|
+
"date": "2019-02-28",
|
52874
|
+
"lts": "Boron"
|
52875
|
+
},
|
52865
52876
|
{
|
52866
52877
|
"name": "nodejs",
|
52867
52878
|
"version": "7.0.0",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autoprefixer-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.4.
|
4
|
+
version: 9.4.10
|
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-
|
11
|
+
date: 2019-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: execjs
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: standard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
description:
|
84
98
|
email: andrey@sitnik.ru
|
85
99
|
executables: []
|
@@ -91,6 +105,7 @@ extra_rdoc_files:
|
|
91
105
|
files:
|
92
106
|
- ".gitignore"
|
93
107
|
- ".rspec"
|
108
|
+
- ".standard.yml"
|
94
109
|
- ".travis.yml"
|
95
110
|
- CHANGELOG.md
|
96
111
|
- Gemfile
|
@@ -126,6 +141,7 @@ files:
|
|
126
141
|
- spec/app/config/initializers/secret_token.rb
|
127
142
|
- spec/app/config/routes.rb
|
128
143
|
- spec/autoprefixer_spec.rb
|
144
|
+
- spec/compass/.sass-cache/9d2b36f9e9dcbcd2558ccf9e4f73aa1cad8bcbb4/screen.scssc
|
129
145
|
- spec/compass/config.rb
|
130
146
|
- spec/compass/sass/screen.scss
|
131
147
|
- spec/compass_spec.rb
|
@@ -138,7 +154,10 @@ files:
|
|
138
154
|
homepage: https://github.com/ai/autoprefixer-rails
|
139
155
|
licenses:
|
140
156
|
- MIT
|
141
|
-
metadata:
|
157
|
+
metadata:
|
158
|
+
changelog_uri: https://github.com/ai/autoprefixer-rails/blob/master/CHANGELOG.md
|
159
|
+
source_code_uri: https://github.com/ai/autoprefixer-rails
|
160
|
+
bug_tracker_uri: https://github.com/ai/autoprefixer-rails/issues
|
142
161
|
post_install_message:
|
143
162
|
rdoc_options: []
|
144
163
|
require_paths:
|
@@ -158,6 +177,6 @@ rubyforge_project:
|
|
158
177
|
rubygems_version: 2.7.6
|
159
178
|
signing_key:
|
160
179
|
specification_version: 4
|
161
|
-
summary: Parse CSS and add vendor prefixes to CSS rules
|
162
|
-
|
180
|
+
summary: Parse CSS and add vendor prefixes to CSS rules usingvalues from the Can I
|
181
|
+
Use website.
|
163
182
|
test_files: []
|