autoprefixer-rails 9.4.9 → 9.4.10
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/.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: []
|