autoprefixer-rails 6.3.3 → 6.3.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -2
- data/.travis.yml +17 -5
- data/CHANGELOG.md +6 -0
- data/Gemfile +1 -19
- data/README.md +1 -1
- data/Rakefile +33 -0
- data/autoprefixer-rails.gemspec +5 -1
- data/lib/autoprefixer-rails.rb +7 -1
- data/lib/autoprefixer-rails/sprockets.rb +46 -9
- data/lib/autoprefixer-rails/version.rb +1 -1
- data/shared.gemfile +7 -0
- data/spec/app/app/assets/stylesheets/evaluate.css.erb +1 -0
- data/spec/app/app/controllers/css_controller.rb +1 -1
- data/spec/app/config/application.rb +2 -3
- data/spec/app/config/environments/test.rb +0 -1
- data/spec/autoprefixer_spec.rb +10 -2
- data/spec/rails_spec.rb +9 -0
- data/sprockets2.gemfile +8 -0
- data/sprockets3.gemfile +8 -0
- data/sprockets4.gemfile +9 -0
- data/vendor/autoprefixer.js +381 -366
- metadata +51 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ebd6d11f1a873676d34a44eb9023636aa1099f66
|
4
|
+
data.tar.gz: 3579bb17eb9980966b440351a61cd2d10b2af552
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a4094f4fc6a81fa5ca93b5ddabdf19179385e51b2dd5d5299ec61e0f8cb6d3900493a49a4319114d26cc747eeb6fa0efed0ce3d20fcfa6a536bc097fb9f406f
|
7
|
+
data.tar.gz: 76a49779c906862692e7229591a48189ac91ed1fd5a02bf25513fa520ef38d21550e4f5010a4e9b28ad35adfc1700c6f0c2990876991a26fafbc82e91a88eda0
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,12 +1,24 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
- "2.0"
|
5
|
-
- "2.1"
|
6
|
-
- "2.2"
|
4
|
+
- "2.0.0"
|
5
|
+
- "2.1.8"
|
6
|
+
- "2.2.4"
|
7
7
|
- "2.3.0"
|
8
|
-
- jruby-21mode
|
9
|
-
|
8
|
+
- "jruby-21mode"
|
9
|
+
cache: bundler
|
10
|
+
gemfile:
|
11
|
+
- sprockets2.gemfile
|
12
|
+
- sprockets3.gemfile
|
13
|
+
- sprockets4.gemfile
|
10
14
|
env:
|
11
15
|
- EXECJS_RUNTIME=Node
|
12
16
|
- EXECJS_RUNTIME= # Rubyracer or rubyrhino depending on platform
|
17
|
+
matrix:
|
18
|
+
exclude:
|
19
|
+
- rvm: "2.0.0"
|
20
|
+
gemfile: sprockets4.gemfile
|
21
|
+
- rvm: "2.1.8"
|
22
|
+
gemfile: sprockets4.gemfile
|
23
|
+
- rvm: "jruby-21mode"
|
24
|
+
gemfile: sprockets4.gemfile
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -1,19 +1 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
gemspec
|
4
|
-
gem 'rake'
|
5
|
-
gem 'rails'
|
6
|
-
gem 'compass'
|
7
|
-
gem 'sass-rails'
|
8
|
-
gem 'rspec-rails'
|
9
|
-
|
10
|
-
gem 'execjs'
|
11
|
-
gem 'sprockets'
|
12
|
-
|
13
|
-
gem 'therubyrhino', platforms: 'jruby'
|
14
|
-
gem 'therubyracer', platforms: ['mri', 'rbx']
|
15
|
-
|
16
|
-
gem 'racc', platforms: 'rbx'
|
17
|
-
gem 'rubysl', platforms: 'rbx'
|
18
|
-
|
19
|
-
gem 'tzinfo-data', platforms: [:mingw, :mswin, :jruby]
|
1
|
+
eval_gemfile "#{ File.dirname(__FILE__) }/sprockets4.gemfile"
|
data/README.md
CHANGED
@@ -106,7 +106,7 @@ rake autoprefixer:info
|
|
106
106
|
To disable Autoprefixer just remove postprocessor:
|
107
107
|
|
108
108
|
```ruby
|
109
|
-
Rails.application.assets
|
109
|
+
AutoprefixerRails.uninstall(Rails.application.assets)
|
110
110
|
```
|
111
111
|
|
112
112
|
[Browserslist docs]: https://github.com/ai/browserslist
|
data/Rakefile
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require 'rubygems'
|
2
3
|
|
3
4
|
require 'bundler/setup'
|
@@ -13,3 +14,35 @@ end
|
|
13
14
|
|
14
15
|
desc 'Delete all generated files'
|
15
16
|
task :clobber => [:clobber_package]
|
17
|
+
|
18
|
+
desc 'Test all Gemfiles from spec/*.gemfile'
|
19
|
+
task :test_all do
|
20
|
+
require 'pty'
|
21
|
+
require 'shellwords'
|
22
|
+
cmd = 'bundle update && bundle exec rake --trace'
|
23
|
+
statuses = Dir.glob('./sprockets*.gemfile').map do |gemfile|
|
24
|
+
Bundler.with_clean_env do
|
25
|
+
env = { 'BUNDLE_GEMFILE' => gemfile }
|
26
|
+
$stderr.puts "Testing #{ File.basename(gemfile) }:"
|
27
|
+
$stderr.puts " export BUNDLE_GEMFILE=#{ gemfile }"
|
28
|
+
$stderr.puts " #{ cmd }"
|
29
|
+
PTY.spawn(env, cmd) do |r, _w, pid|
|
30
|
+
begin
|
31
|
+
r.each_line { |l| puts l }
|
32
|
+
rescue Errno::EIO
|
33
|
+
# Errno:EIO error means that the process has finished giving output.
|
34
|
+
ensure
|
35
|
+
::Process.wait pid
|
36
|
+
end
|
37
|
+
end
|
38
|
+
[$? && $?.exitstatus == 0, gemfile]
|
39
|
+
end
|
40
|
+
end
|
41
|
+
failed = statuses.reject(&:first).map(&:last)
|
42
|
+
if failed.empty?
|
43
|
+
$stderr.puts "✓ Tests pass with all #{ statuses.size } gemfiles"
|
44
|
+
else
|
45
|
+
$stderr.puts "❌ FAILING #{ failed * "\n" }"
|
46
|
+
exit 1
|
47
|
+
end
|
48
|
+
end
|
data/autoprefixer-rails.gemspec
CHANGED
@@ -20,5 +20,9 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.license = 'MIT'
|
21
21
|
|
22
22
|
s.add_dependency 'execjs', '>= 0'
|
23
|
-
|
23
|
+
|
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'
|
24
28
|
end
|
data/lib/autoprefixer-rails.rb
CHANGED
@@ -15,7 +15,13 @@ module AutoprefixerRails
|
|
15
15
|
# Add Autoprefixer for Sprockets environment in `assets`.
|
16
16
|
# You can specify `browsers` actual in your project.
|
17
17
|
def self.install(assets, params = { })
|
18
|
-
Sprockets.
|
18
|
+
Sprockets.register_processor(processor(params))
|
19
|
+
Sprockets.install(assets)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Disable installed Autoprefixer
|
23
|
+
def self.uninstall(assets)
|
24
|
+
Sprockets.uninstall(assets)
|
19
25
|
end
|
20
26
|
|
21
27
|
# Cache processor instances
|
@@ -3,15 +3,26 @@ require 'pathname'
|
|
3
3
|
module AutoprefixerRails
|
4
4
|
# Register autoprefixer postprocessor in Sprockets and fix common issues
|
5
5
|
class Sprockets
|
6
|
-
def
|
6
|
+
def self.register_processor(processor)
|
7
7
|
@processor = processor
|
8
8
|
end
|
9
9
|
|
10
|
-
#
|
11
|
-
def
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
# Sprockets 3 and 4 API
|
11
|
+
def self.call(input)
|
12
|
+
filename = input[:source_path] || input[:filename]
|
13
|
+
source = input[:data]
|
14
|
+
run(filename, source)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Sprockets 2 compatibility
|
18
|
+
def self.process(context, css)
|
19
|
+
self.run(context.pathname.to_s, css)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Add prefixes to `css`
|
23
|
+
def self.run(filename, css)
|
24
|
+
output = filename.chomp(File.extname(filename)) + '.css'
|
25
|
+
result = @processor.process(css, from: filename, to: output)
|
15
26
|
|
16
27
|
result.warnings.each do |warning|
|
17
28
|
$stderr.puts "autoprefixer: #{ warning }"
|
@@ -21,10 +32,36 @@ module AutoprefixerRails
|
|
21
32
|
end
|
22
33
|
|
23
34
|
# Register postprocessor in Sprockets depend on issues with other gems
|
24
|
-
def install(
|
25
|
-
|
26
|
-
|
35
|
+
def self.install(env)
|
36
|
+
if ::Sprockets::VERSION.to_i < 4
|
37
|
+
env.register_postprocessor('text/css', :autoprefixer) do |context, css|
|
38
|
+
process(context, css)
|
39
|
+
end
|
40
|
+
else
|
41
|
+
env.register_bundle_processor('text/css',
|
42
|
+
::AutoprefixerRails::Sprockets)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
# Register postprocessor in Sprockets depend on issues with other gems
|
47
|
+
def self.uninstall(env)
|
48
|
+
if ::Sprockets::VERSION.to_i < 4
|
49
|
+
env.unregister_postprocessor('text/css', :autoprefixer)
|
50
|
+
else
|
51
|
+
env.unregister_bundle_processor('text/css',
|
52
|
+
::AutoprefixerRails::Sprockets)
|
27
53
|
end
|
28
54
|
end
|
55
|
+
|
56
|
+
# Sprockets 2 API new and render
|
57
|
+
def initialize(filename, &block)
|
58
|
+
@filename = filename
|
59
|
+
@source = block.call
|
60
|
+
end
|
61
|
+
|
62
|
+
# Sprockets 2 API new and render
|
63
|
+
def render(_, _)
|
64
|
+
self.class.run(@filename, @source)
|
65
|
+
end
|
29
66
|
end
|
30
67
|
end
|
data/shared.gemfile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
<%= evaluate 'test.css' %>
|
@@ -1,7 +1,7 @@
|
|
1
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
7
|
Bundler.require(*Rails.groups(assets: %w(development test)))
|
@@ -10,6 +10,5 @@ end
|
|
10
10
|
module App
|
11
11
|
class Application < Rails::Application
|
12
12
|
config.assets.enabled = true
|
13
|
-
config.sass.line_comments = false
|
14
13
|
end
|
15
14
|
end
|
data/spec/autoprefixer_spec.rb
CHANGED
@@ -69,7 +69,7 @@ describe AutoprefixerRails do
|
|
69
69
|
end
|
70
70
|
|
71
71
|
context 'Sprockets' do
|
72
|
-
before :
|
72
|
+
before :each do
|
73
73
|
@assets = Sprockets::Environment.new
|
74
74
|
@assets.append_path(@dir.join('app/app/assets/stylesheets'))
|
75
75
|
AutoprefixerRails.install(@assets, browsers: ['chrome 25'])
|
@@ -84,7 +84,15 @@ describe AutoprefixerRails do
|
|
84
84
|
end
|
85
85
|
|
86
86
|
it "shows file name from Sprockets", not_jruby: true do
|
87
|
-
expect { @assets['wrong.css'] }.to raise_error(/wrong
|
87
|
+
expect { @assets['wrong.css'] }.to raise_error(/wrong/)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "supports disabling", not_jruby: true do
|
91
|
+
AutoprefixerRails.uninstall(@assets)
|
92
|
+
css = @assets['test.css'].to_s
|
93
|
+
expect(css).to eq "a {\n" +
|
94
|
+
" mask: none\n" +
|
95
|
+
"}\n"
|
88
96
|
end
|
89
97
|
|
90
98
|
end
|
data/spec/rails_spec.rb
CHANGED
@@ -12,6 +12,15 @@ describe CssController, type: :controller do
|
|
12
12
|
clear_css = response.body.gsub("\n", " ").squeeze(" ").strip
|
13
13
|
expect(clear_css).to eq "a { -webkit-mask: none; mask: none; }"
|
14
14
|
end
|
15
|
+
|
16
|
+
if Sprockets::Context.instance_methods.include?(:evaluate)
|
17
|
+
it 'supports evaluate' do
|
18
|
+
get :test, file: 'evaluate'
|
19
|
+
expect(response).to be_success
|
20
|
+
clear_css = response.body.gsub("\n", ' ').squeeze(' ').strip
|
21
|
+
expect(clear_css).to eq 'a { -webkit-mask: none; mask: none }'
|
22
|
+
end
|
23
|
+
end
|
15
24
|
end
|
16
25
|
|
17
26
|
describe 'Rake task' do
|
data/sprockets2.gemfile
ADDED
data/sprockets3.gemfile
ADDED
data/sprockets4.gemfile
ADDED
data/vendor/autoprefixer.js
CHANGED
@@ -5990,6 +5990,14 @@ function fromJsonObject (that, object) {
|
|
5990
5990
|
if (Buffer.TYPED_ARRAY_SUPPORT) {
|
5991
5991
|
Buffer.prototype.__proto__ = Uint8Array.prototype
|
5992
5992
|
Buffer.__proto__ = Uint8Array
|
5993
|
+
if (typeof Symbol !== 'undefined' && Symbol.species &&
|
5994
|
+
Buffer[Symbol.species] === Buffer) {
|
5995
|
+
// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
|
5996
|
+
Object.defineProperty(Buffer, Symbol.species, {
|
5997
|
+
value: null,
|
5998
|
+
configurable: true
|
5999
|
+
})
|
6000
|
+
}
|
5993
6001
|
} else {
|
5994
6002
|
// pre-set for values that may exist in the future
|
5995
6003
|
Buffer.prototype.length = undefined
|
@@ -21741,360 +21749,364 @@ var substr = 'ab'.substr(-1) === 'b'
|
|
21741
21749
|
|
21742
21750
|
}).call(this,require('_process'))
|
21743
21751
|
},{"_process":151}],122:[function(require,module,exports){
|
21744
|
-
var parse = require('./parse');
|
21745
|
-
var walk = require('./walk');
|
21746
|
-
var stringify = require('./stringify');
|
21747
|
-
|
21748
|
-
function ValueParser(value) {
|
21749
|
-
if (
|
21750
|
-
|
21751
|
-
|
21752
|
-
|
21753
|
-
|
21754
|
-
|
21755
|
-
|
21756
|
-
|
21757
|
-
|
21758
|
-
|
21759
|
-
|
21760
|
-
|
21761
|
-
|
21762
|
-
|
21763
|
-
|
21764
|
-
|
21765
|
-
|
21766
|
-
|
21767
|
-
|
21768
|
-
|
21769
|
-
|
21770
|
-
|
21752
|
+
var parse = require('./parse');
|
21753
|
+
var walk = require('./walk');
|
21754
|
+
var stringify = require('./stringify');
|
21755
|
+
|
21756
|
+
function ValueParser(value) {
|
21757
|
+
if (this instanceof ValueParser) {
|
21758
|
+
this.nodes = parse(value);
|
21759
|
+
return this;
|
21760
|
+
}
|
21761
|
+
return new ValueParser(value);
|
21762
|
+
}
|
21763
|
+
|
21764
|
+
ValueParser.prototype.toString = function () {
|
21765
|
+
return Array.isArray(this.nodes) ? stringify(this.nodes) : '';
|
21766
|
+
};
|
21767
|
+
|
21768
|
+
ValueParser.prototype.walk = function (cb, bubble) {
|
21769
|
+
walk(this.nodes, cb, bubble);
|
21770
|
+
return this;
|
21771
|
+
};
|
21772
|
+
|
21773
|
+
ValueParser.unit = require('./unit');
|
21774
|
+
|
21775
|
+
ValueParser.walk = walk;
|
21776
|
+
|
21777
|
+
ValueParser.stringify = stringify;
|
21778
|
+
|
21779
|
+
module.exports = ValueParser;
|
21771
21780
|
|
21772
21781
|
},{"./parse":123,"./stringify":124,"./unit":125,"./walk":126}],123:[function(require,module,exports){
|
21773
|
-
var openParentheses = '('.charCodeAt(0);
|
21774
|
-
var closeParentheses = ')'.charCodeAt(0);
|
21775
|
-
var singleQuote = '\''.charCodeAt(0);
|
21776
|
-
var doubleQuote = '"'.charCodeAt(0);
|
21777
|
-
var backslash = '\\'.charCodeAt(0);
|
21778
|
-
var slash = '/'.charCodeAt(0);
|
21779
|
-
var comma = ','.charCodeAt(0);
|
21780
|
-
var colon = ':'.charCodeAt(0);
|
21781
|
-
var star = '*'.charCodeAt(0);
|
21782
|
-
|
21783
|
-
module.exports = function (input) {
|
21784
|
-
var tokens = [];
|
21785
|
-
var value = input;
|
21786
|
-
|
21787
|
-
var next, quote, prev, token, escape, escapePos, whitespacePos;
|
21788
|
-
var pos = 0;
|
21789
|
-
var code = value.charCodeAt(pos);
|
21790
|
-
var max = value.length;
|
21791
|
-
var stack = [{ nodes: tokens }];
|
21792
|
-
var balanced = 0;
|
21793
|
-
var parent;
|
21794
|
-
|
21795
|
-
var name = '';
|
21796
|
-
var before = '';
|
21797
|
-
var after = '';
|
21798
|
-
|
21799
|
-
while (pos < max) {
|
21800
|
-
// Whitespaces
|
21801
|
-
if (code <= 32) {
|
21802
|
-
next = pos;
|
21803
|
-
do {
|
21804
|
-
next += 1;
|
21805
|
-
code = value.charCodeAt(next);
|
21806
|
-
} while (code <= 32);
|
21807
|
-
token = value.slice(pos, next);
|
21808
|
-
|
21809
|
-
prev = tokens[tokens.length - 1];
|
21810
|
-
if (code === closeParentheses && balanced) {
|
21811
|
-
after = token;
|
21812
|
-
} else if (prev && prev.type === 'div') {
|
21813
|
-
prev.after = token;
|
21814
|
-
} else if (code === comma || code === colon || code === slash && value.charCodeAt(next + 1) !== star) {
|
21815
|
-
before = token;
|
21816
|
-
} else {
|
21817
|
-
tokens.push({
|
21818
|
-
type: 'space',
|
21819
|
-
sourceIndex: pos,
|
21820
|
-
value: token
|
21821
|
-
});
|
21822
|
-
}
|
21823
|
-
|
21824
|
-
pos = next;
|
21825
|
-
|
21826
|
-
// Quotes
|
21827
|
-
} else if (code === singleQuote || code === doubleQuote) {
|
21828
|
-
next = pos;
|
21829
|
-
quote = code === singleQuote ? '\'' : '"';
|
21830
|
-
token = {
|
21831
|
-
type: 'string',
|
21832
|
-
sourceIndex: pos,
|
21833
|
-
quote: quote
|
21834
|
-
};
|
21835
|
-
do {
|
21836
|
-
escape = false;
|
21837
|
-
next = value.indexOf(quote, next + 1);
|
21838
|
-
if (~next) {
|
21839
|
-
escapePos = next;
|
21840
|
-
while (value.charCodeAt(escapePos - 1) === backslash) {
|
21841
|
-
escapePos -= 1;
|
21842
|
-
escape = !escape;
|
21843
|
-
}
|
21844
|
-
} else {
|
21845
|
-
value += quote;
|
21846
|
-
next = value.length - 1;
|
21847
|
-
token.unclosed = true;
|
21848
|
-
}
|
21849
|
-
} while (escape);
|
21850
|
-
token.value = value.slice(pos + 1, next);
|
21851
|
-
|
21852
|
-
tokens.push(token);
|
21853
|
-
pos = next + 1;
|
21854
|
-
code = value.charCodeAt(pos);
|
21855
|
-
|
21856
|
-
//Comments
|
21857
|
-
} else if (code === slash && value.charCodeAt(pos + 1) === star) {
|
21858
|
-
token = {
|
21859
|
-
type: 'comment',
|
21860
|
-
sourceIndex: pos
|
21861
|
-
};
|
21862
|
-
|
21863
|
-
next = value.indexOf('*/', pos);
|
21864
|
-
if (next === -1) {
|
21865
|
-
token.unclosed = true;
|
21866
|
-
next = value.length;
|
21867
|
-
}
|
21868
|
-
|
21869
|
-
token.value = value.slice(pos + 2, next);
|
21870
|
-
tokens.push(token);
|
21871
|
-
|
21872
|
-
pos = next + 2;
|
21873
|
-
code = value.charCodeAt(pos);
|
21874
|
-
|
21875
|
-
// Dividers
|
21876
|
-
} else if (code === slash || code === comma || code === colon) {
|
21877
|
-
token = value[pos];
|
21878
|
-
|
21879
|
-
tokens.push({
|
21880
|
-
type: 'div',
|
21881
|
-
sourceIndex: pos - before.length,
|
21882
|
-
value: token,
|
21883
|
-
before: before,
|
21884
|
-
after: ''
|
21885
|
-
});
|
21886
|
-
before = '';
|
21887
|
-
|
21888
|
-
pos += 1;
|
21889
|
-
code = value.charCodeAt(pos);
|
21890
|
-
|
21891
|
-
// Open parentheses
|
21892
|
-
} else if (openParentheses === code) {
|
21893
|
-
// Whitespaces after open parentheses
|
21894
|
-
next = pos;
|
21895
|
-
do {
|
21896
|
-
next += 1;
|
21897
|
-
code = value.charCodeAt(next);
|
21898
|
-
} while (code <= 32);
|
21899
|
-
token = {
|
21900
|
-
type: 'function',
|
21901
|
-
sourceIndex: pos - name.length,
|
21902
|
-
value: name,
|
21903
|
-
before: value.slice(pos + 1, next)
|
21904
|
-
};
|
21905
|
-
pos = next;
|
21906
|
-
|
21907
|
-
if (name === 'url' && code !== singleQuote && code !== doubleQuote) {
|
21908
|
-
next -= 1;
|
21909
|
-
do {
|
21910
|
-
escape = false;
|
21911
|
-
next = value.indexOf(')', next + 1);
|
21912
|
-
if (~next) {
|
21913
|
-
escapePos = next;
|
21914
|
-
while (value.charCodeAt(escapePos - 1) === backslash) {
|
21915
|
-
escapePos -= 1;
|
21916
|
-
escape = !escape;
|
21917
|
-
}
|
21918
|
-
} else {
|
21919
|
-
value += ')';
|
21920
|
-
next = value.length - 1;
|
21921
|
-
token.unclosed = true;
|
21922
|
-
}
|
21923
|
-
} while (escape);
|
21924
|
-
// Whitespaces before closed
|
21925
|
-
whitespacePos = next;
|
21926
|
-
do {
|
21927
|
-
whitespacePos -= 1;
|
21928
|
-
code = value.charCodeAt(whitespacePos);
|
21929
|
-
} while (code <= 32);
|
21930
|
-
if (pos !== whitespacePos + 1) {
|
21931
|
-
token.nodes = [{
|
21932
|
-
type: 'word',
|
21933
|
-
sourceIndex: pos,
|
21934
|
-
value: value.slice(pos, whitespacePos + 1)
|
21935
|
-
}];
|
21936
|
-
} else {
|
21937
|
-
token.nodes = [];
|
21938
|
-
}
|
21939
|
-
if (token.unclosed && whitespacePos + 1 !== next) {
|
21940
|
-
token.after = '';
|
21941
|
-
token.nodes.push({
|
21942
|
-
type: 'space',
|
21943
|
-
sourceIndex: whitespacePos + 1,
|
21944
|
-
value: value.slice(whitespacePos + 1, next)
|
21945
|
-
});
|
21946
|
-
} else {
|
21947
|
-
token.after = value.slice(whitespacePos + 1, next);
|
21948
|
-
}
|
21949
|
-
pos = next + 1;
|
21950
|
-
code = value.charCodeAt(pos);
|
21951
|
-
tokens.push(token);
|
21952
|
-
} else {
|
21953
|
-
balanced += 1;
|
21954
|
-
token.after = '';
|
21955
|
-
tokens.push(token);
|
21956
|
-
stack.push(token);
|
21957
|
-
tokens = token.nodes = [];
|
21958
|
-
parent = token;
|
21959
|
-
}
|
21960
|
-
name = '';
|
21961
|
-
|
21962
|
-
// Close parentheses
|
21963
|
-
} else if (closeParentheses === code && balanced) {
|
21964
|
-
pos += 1;
|
21965
|
-
code = value.charCodeAt(pos);
|
21966
|
-
|
21967
|
-
parent.after = after;
|
21968
|
-
after = '';
|
21969
|
-
balanced -= 1;
|
21970
|
-
stack.pop();
|
21971
|
-
parent = stack[balanced];
|
21972
|
-
tokens = parent.nodes;
|
21973
|
-
|
21974
|
-
// Words
|
21975
|
-
} else {
|
21976
|
-
next = pos;
|
21977
|
-
do {
|
21978
|
-
if (code === backslash) {
|
21979
|
-
next += 1;
|
21980
|
-
}
|
21981
|
-
next += 1;
|
21982
|
-
code = value.charCodeAt(next);
|
21983
|
-
} while (next < max && !(
|
21984
|
-
code <= 32 ||
|
21985
|
-
code === singleQuote ||
|
21986
|
-
code === doubleQuote ||
|
21987
|
-
code === comma ||
|
21988
|
-
code === colon ||
|
21989
|
-
code === slash ||
|
21990
|
-
code === openParentheses ||
|
21991
|
-
code === closeParentheses && balanced
|
21992
|
-
));
|
21993
|
-
token = value.slice(pos, next);
|
21994
|
-
|
21995
|
-
if (openParentheses === code) {
|
21996
|
-
name = token;
|
21997
|
-
} else {
|
21998
|
-
tokens.push({
|
21999
|
-
type: 'word',
|
22000
|
-
sourceIndex: pos,
|
22001
|
-
value: token
|
22002
|
-
});
|
22003
|
-
}
|
22004
|
-
|
22005
|
-
pos = next;
|
22006
|
-
}
|
22007
|
-
}
|
22008
|
-
|
22009
|
-
for (pos = stack.length - 1; pos; pos -= 1) {
|
22010
|
-
stack[pos].unclosed = true;
|
22011
|
-
}
|
22012
|
-
|
22013
|
-
return stack[0].nodes;
|
22014
|
-
};
|
21782
|
+
var openParentheses = '('.charCodeAt(0);
|
21783
|
+
var closeParentheses = ')'.charCodeAt(0);
|
21784
|
+
var singleQuote = '\''.charCodeAt(0);
|
21785
|
+
var doubleQuote = '"'.charCodeAt(0);
|
21786
|
+
var backslash = '\\'.charCodeAt(0);
|
21787
|
+
var slash = '/'.charCodeAt(0);
|
21788
|
+
var comma = ','.charCodeAt(0);
|
21789
|
+
var colon = ':'.charCodeAt(0);
|
21790
|
+
var star = '*'.charCodeAt(0);
|
21791
|
+
|
21792
|
+
module.exports = function (input) {
|
21793
|
+
var tokens = [];
|
21794
|
+
var value = input;
|
22015
21795
|
|
22016
|
-
|
22017
|
-
|
22018
|
-
var
|
22019
|
-
var
|
22020
|
-
var
|
21796
|
+
var next, quote, prev, token, escape, escapePos, whitespacePos;
|
21797
|
+
var pos = 0;
|
21798
|
+
var code = value.charCodeAt(pos);
|
21799
|
+
var max = value.length;
|
21800
|
+
var stack = [{ nodes: tokens }];
|
21801
|
+
var balanced = 0;
|
21802
|
+
var parent;
|
21803
|
+
|
21804
|
+
var name = '';
|
21805
|
+
var before = '';
|
21806
|
+
var after = '';
|
21807
|
+
|
21808
|
+
while (pos < max) {
|
21809
|
+
// Whitespaces
|
21810
|
+
if (code <= 32) {
|
21811
|
+
next = pos;
|
21812
|
+
do {
|
21813
|
+
next += 1;
|
21814
|
+
code = value.charCodeAt(next);
|
21815
|
+
} while (code <= 32);
|
21816
|
+
token = value.slice(pos, next);
|
21817
|
+
|
21818
|
+
prev = tokens[tokens.length - 1];
|
21819
|
+
if (code === closeParentheses && balanced) {
|
21820
|
+
after = token;
|
21821
|
+
} else if (prev && prev.type === 'div') {
|
21822
|
+
prev.after = token;
|
21823
|
+
} else if (code === comma || code === colon || code === slash && value.charCodeAt(next + 1) !== star) {
|
21824
|
+
before = token;
|
21825
|
+
} else {
|
21826
|
+
tokens.push({
|
21827
|
+
type: 'space',
|
21828
|
+
sourceIndex: pos,
|
21829
|
+
value: token
|
21830
|
+
});
|
21831
|
+
}
|
22021
21832
|
|
22022
|
-
|
22023
|
-
|
22024
|
-
|
22025
|
-
|
22026
|
-
|
22027
|
-
|
22028
|
-
|
22029
|
-
|
22030
|
-
|
22031
|
-
|
22032
|
-
|
22033
|
-
|
22034
|
-
|
22035
|
-
|
22036
|
-
|
22037
|
-
|
22038
|
-
|
22039
|
-
|
21833
|
+
pos = next;
|
21834
|
+
|
21835
|
+
// Quotes
|
21836
|
+
} else if (code === singleQuote || code === doubleQuote) {
|
21837
|
+
next = pos;
|
21838
|
+
quote = code === singleQuote ? '\'' : '"';
|
21839
|
+
token = {
|
21840
|
+
type: 'string',
|
21841
|
+
sourceIndex: pos,
|
21842
|
+
quote: quote
|
21843
|
+
};
|
21844
|
+
do {
|
21845
|
+
escape = false;
|
21846
|
+
next = value.indexOf(quote, next + 1);
|
21847
|
+
if (~next) {
|
21848
|
+
escapePos = next;
|
21849
|
+
while (value.charCodeAt(escapePos - 1) === backslash) {
|
21850
|
+
escapePos -= 1;
|
21851
|
+
escape = !escape;
|
21852
|
+
}
|
21853
|
+
} else {
|
21854
|
+
value += quote;
|
21855
|
+
next = value.length - 1;
|
21856
|
+
token.unclosed = true;
|
21857
|
+
}
|
21858
|
+
} while (escape);
|
21859
|
+
token.value = value.slice(pos + 1, next);
|
21860
|
+
|
21861
|
+
tokens.push(token);
|
21862
|
+
pos = next + 1;
|
21863
|
+
code = value.charCodeAt(pos);
|
21864
|
+
|
21865
|
+
// Comments
|
21866
|
+
} else if (code === slash && value.charCodeAt(pos + 1) === star) {
|
21867
|
+
token = {
|
21868
|
+
type: 'comment',
|
21869
|
+
sourceIndex: pos
|
21870
|
+
};
|
21871
|
+
|
21872
|
+
next = value.indexOf('*/', pos);
|
21873
|
+
if (next === -1) {
|
21874
|
+
token.unclosed = true;
|
21875
|
+
next = value.length;
|
21876
|
+
}
|
22040
21877
|
|
22041
|
-
|
22042
|
-
|
21878
|
+
token.value = value.slice(pos + 2, next);
|
21879
|
+
tokens.push(token);
|
22043
21880
|
|
22044
|
-
|
22045
|
-
|
22046
|
-
|
22047
|
-
|
21881
|
+
pos = next + 2;
|
21882
|
+
code = value.charCodeAt(pos);
|
21883
|
+
|
21884
|
+
// Dividers
|
21885
|
+
} else if (code === slash || code === comma || code === colon) {
|
21886
|
+
token = value[pos];
|
21887
|
+
|
21888
|
+
tokens.push({
|
21889
|
+
type: 'div',
|
21890
|
+
sourceIndex: pos - before.length,
|
21891
|
+
value: token,
|
21892
|
+
before: before,
|
21893
|
+
after: ''
|
21894
|
+
});
|
21895
|
+
before = '';
|
21896
|
+
|
21897
|
+
pos += 1;
|
21898
|
+
code = value.charCodeAt(pos);
|
21899
|
+
|
21900
|
+
// Open parentheses
|
21901
|
+
} else if (openParentheses === code) {
|
21902
|
+
// Whitespaces after open parentheses
|
21903
|
+
next = pos;
|
21904
|
+
do {
|
21905
|
+
next += 1;
|
21906
|
+
code = value.charCodeAt(next);
|
21907
|
+
} while (code <= 32);
|
21908
|
+
token = {
|
21909
|
+
type: 'function',
|
21910
|
+
sourceIndex: pos - name.length,
|
21911
|
+
value: name,
|
21912
|
+
before: value.slice(pos + 1, next)
|
21913
|
+
};
|
21914
|
+
pos = next;
|
21915
|
+
|
21916
|
+
if (name === 'url' && code !== singleQuote && code !== doubleQuote) {
|
21917
|
+
next -= 1;
|
21918
|
+
do {
|
21919
|
+
escape = false;
|
21920
|
+
next = value.indexOf(')', next + 1);
|
21921
|
+
if (~next) {
|
21922
|
+
escapePos = next;
|
21923
|
+
while (value.charCodeAt(escapePos - 1) === backslash) {
|
21924
|
+
escapePos -= 1;
|
21925
|
+
escape = !escape;
|
21926
|
+
}
|
21927
|
+
} else {
|
21928
|
+
value += ')';
|
21929
|
+
next = value.length - 1;
|
21930
|
+
token.unclosed = true;
|
21931
|
+
}
|
21932
|
+
} while (escape);
|
21933
|
+
// Whitespaces before closed
|
21934
|
+
whitespacePos = next;
|
21935
|
+
do {
|
21936
|
+
whitespacePos -= 1;
|
21937
|
+
code = value.charCodeAt(whitespacePos);
|
21938
|
+
} while (code <= 32);
|
21939
|
+
if (pos !== whitespacePos + 1) {
|
21940
|
+
token.nodes = [{
|
21941
|
+
type: 'word',
|
21942
|
+
sourceIndex: pos,
|
21943
|
+
value: value.slice(pos, whitespacePos + 1)
|
21944
|
+
}];
|
21945
|
+
} else {
|
21946
|
+
token.nodes = [];
|
21947
|
+
}
|
21948
|
+
if (token.unclosed && whitespacePos + 1 !== next) {
|
21949
|
+
token.after = '';
|
21950
|
+
token.nodes.push({
|
21951
|
+
type: 'space',
|
21952
|
+
sourceIndex: whitespacePos + 1,
|
21953
|
+
value: value.slice(whitespacePos + 1, next)
|
21954
|
+
});
|
21955
|
+
} else {
|
21956
|
+
token.after = value.slice(whitespacePos + 1, next);
|
21957
|
+
}
|
21958
|
+
pos = next + 1;
|
21959
|
+
code = value.charCodeAt(pos);
|
21960
|
+
tokens.push(token);
|
21961
|
+
} else {
|
21962
|
+
balanced += 1;
|
21963
|
+
token.after = '';
|
21964
|
+
tokens.push(token);
|
21965
|
+
stack.push(token);
|
21966
|
+
tokens = token.nodes = [];
|
21967
|
+
parent = token;
|
21968
|
+
}
|
21969
|
+
name = '';
|
21970
|
+
|
21971
|
+
// Close parentheses
|
21972
|
+
} else if (closeParentheses === code && balanced) {
|
21973
|
+
pos += 1;
|
21974
|
+
code = value.charCodeAt(pos);
|
21975
|
+
|
21976
|
+
parent.after = after;
|
21977
|
+
after = '';
|
21978
|
+
balanced -= 1;
|
21979
|
+
stack.pop();
|
21980
|
+
parent = stack[balanced];
|
21981
|
+
tokens = parent.nodes;
|
21982
|
+
|
21983
|
+
// Words
|
21984
|
+
} else {
|
21985
|
+
next = pos;
|
21986
|
+
do {
|
21987
|
+
if (code === backslash) {
|
21988
|
+
next += 1;
|
21989
|
+
}
|
21990
|
+
next += 1;
|
21991
|
+
code = value.charCodeAt(next);
|
21992
|
+
} while (next < max && !(
|
21993
|
+
code <= 32 ||
|
21994
|
+
code === singleQuote ||
|
21995
|
+
code === doubleQuote ||
|
21996
|
+
code === comma ||
|
21997
|
+
code === colon ||
|
21998
|
+
code === slash ||
|
21999
|
+
code === openParentheses ||
|
22000
|
+
code === closeParentheses && balanced
|
22001
|
+
));
|
22002
|
+
token = value.slice(pos, next);
|
22003
|
+
|
22004
|
+
if (openParentheses === code) {
|
22005
|
+
name = token;
|
22006
|
+
} else {
|
22007
|
+
tokens.push({
|
22008
|
+
type: 'word',
|
22009
|
+
sourceIndex: pos,
|
22010
|
+
value: token
|
22011
|
+
});
|
22012
|
+
}
|
22013
|
+
|
22014
|
+
pos = next;
|
22048
22015
|
}
|
22049
|
-
return result;
|
22050
22016
|
}
|
22051
|
-
return stringifyNode(nodes);
|
22052
|
-
};
|
22053
22017
|
|
22054
|
-
|
22018
|
+
for (pos = stack.length - 1; pos; pos -= 1) {
|
22019
|
+
stack[pos].unclosed = true;
|
22020
|
+
}
|
22055
22021
|
|
22056
|
-
|
22057
|
-
|
22058
|
-
|
22059
|
-
|
22022
|
+
return stack[0].nodes;
|
22023
|
+
};
|
22024
|
+
|
22025
|
+
},{}],124:[function(require,module,exports){
|
22026
|
+
function stringifyNode(node, custom) {
|
22027
|
+
var type = node.type;
|
22028
|
+
var value = node.value;
|
22029
|
+
var buf;
|
22030
|
+
var customResult;
|
22060
22031
|
|
22061
|
-
|
22062
|
-
|
22063
|
-
|
22064
|
-
|
22065
|
-
|
22066
|
-
|
22067
|
-
|
22032
|
+
if (custom && (customResult = custom(node)) !== undefined) {
|
22033
|
+
return customResult;
|
22034
|
+
} else if (type === 'word' || type === 'space') {
|
22035
|
+
return value;
|
22036
|
+
} else if (type === 'string') {
|
22037
|
+
buf = node.quote || '';
|
22038
|
+
return buf + value + (node.unclosed ? '' : buf);
|
22039
|
+
} else if (type === 'comment') {
|
22040
|
+
return '/*' + value + (node.unclosed ? '' : '*/');
|
22041
|
+
} else if (type === 'div') {
|
22042
|
+
return (node.before || '') + value + (node.after || '');
|
22043
|
+
} else if (Array.isArray(node.nodes)) {
|
22044
|
+
buf = stringify(node.nodes);
|
22045
|
+
if (type !== 'function') {
|
22046
|
+
return buf;
|
22047
|
+
}
|
22048
|
+
return value + '(' + (node.before || '') + buf + (node.after || '') + (node.unclosed ? '' : ')');
|
22049
|
+
}
|
22050
|
+
return value;
|
22051
|
+
}
|
22068
22052
|
|
22069
|
-
|
22070
|
-
|
22053
|
+
function stringify(nodes, custom) {
|
22054
|
+
var result, i;
|
22071
22055
|
|
22072
|
-
|
22073
|
-
|
22074
|
-
|
22075
|
-
|
22076
|
-
if (dotted) {
|
22077
|
-
break;
|
22078
|
-
}
|
22079
|
-
dotted = true;
|
22080
|
-
number += value[pos];
|
22081
|
-
} else if (code === plus || code === minus) {
|
22082
|
-
if (pos !== 0) {
|
22083
|
-
break;
|
22084
|
-
}
|
22085
|
-
number += value[pos];
|
22086
|
-
} else {
|
22087
|
-
break;
|
22056
|
+
if (Array.isArray(nodes)) {
|
22057
|
+
result = '';
|
22058
|
+
for (i = nodes.length - 1; ~i; i -= 1) {
|
22059
|
+
result = stringifyNode(nodes[i], custom) + result;
|
22088
22060
|
}
|
22089
|
-
|
22090
|
-
pos += 1;
|
22061
|
+
return result;
|
22091
22062
|
}
|
22063
|
+
return stringifyNode(nodes, custom);
|
22064
|
+
}
|
22092
22065
|
|
22093
|
-
|
22094
|
-
|
22095
|
-
|
22096
|
-
|
22097
|
-
|
22066
|
+
module.exports = stringify;
|
22067
|
+
|
22068
|
+
},{}],125:[function(require,module,exports){
|
22069
|
+
var minus = '-'.charCodeAt(0);
|
22070
|
+
var plus = '+'.charCodeAt(0);
|
22071
|
+
var dot = '.'.charCodeAt(0);
|
22072
|
+
|
22073
|
+
module.exports = function (value) {
|
22074
|
+
var pos = 0;
|
22075
|
+
var length = value.length;
|
22076
|
+
var dotted = false;
|
22077
|
+
var containsNumber = false;
|
22078
|
+
var code;
|
22079
|
+
var number = '';
|
22080
|
+
|
22081
|
+
while (pos < length) {
|
22082
|
+
code = value.charCodeAt(pos);
|
22083
|
+
|
22084
|
+
if (code >= 48 && code <= 57) {
|
22085
|
+
number += value[pos];
|
22086
|
+
containsNumber = true;
|
22087
|
+
} else if (code === dot) {
|
22088
|
+
if (dotted) {
|
22089
|
+
break;
|
22090
|
+
}
|
22091
|
+
dotted = true;
|
22092
|
+
number += value[pos];
|
22093
|
+
} else if (code === plus || code === minus) {
|
22094
|
+
if (pos !== 0) {
|
22095
|
+
break;
|
22096
|
+
}
|
22097
|
+
number += value[pos];
|
22098
|
+
} else {
|
22099
|
+
break;
|
22100
|
+
}
|
22101
|
+
|
22102
|
+
pos += 1;
|
22103
|
+
}
|
22104
|
+
|
22105
|
+
return containsNumber ? {
|
22106
|
+
number: number,
|
22107
|
+
unit: value.slice(pos)
|
22108
|
+
} : false;
|
22109
|
+
};
|
22098
22110
|
|
22099
22111
|
},{}],126:[function(require,module,exports){
|
22100
22112
|
module.exports = function walk(nodes, cb, bubble) {
|
@@ -22356,18 +22368,16 @@ var Container = function (_Node) {
|
|
22356
22368
|
|
22357
22369
|
delete this.indexes[id];
|
22358
22370
|
|
22359
|
-
|
22371
|
+
return result;
|
22360
22372
|
};
|
22361
22373
|
|
22362
22374
|
Container.prototype.walk = function walk(callback) {
|
22363
22375
|
return this.each(function (child, i) {
|
22364
22376
|
var result = callback(child, i);
|
22365
|
-
|
22366
22377
|
if (result !== false && child.walk) {
|
22367
22378
|
result = child.walk(callback);
|
22368
22379
|
}
|
22369
|
-
|
22370
|
-
if (result === false) return result;
|
22380
|
+
return result;
|
22371
22381
|
});
|
22372
22382
|
};
|
22373
22383
|
|
@@ -22376,22 +22386,19 @@ var Container = function (_Node) {
|
|
22376
22386
|
callback = prop;
|
22377
22387
|
return this.walk(function (child, i) {
|
22378
22388
|
if (child.type === 'decl') {
|
22379
|
-
|
22380
|
-
if (result === false) return result;
|
22389
|
+
return callback(child, i);
|
22381
22390
|
}
|
22382
22391
|
});
|
22383
22392
|
} else if (prop instanceof RegExp) {
|
22384
22393
|
return this.walk(function (child, i) {
|
22385
22394
|
if (child.type === 'decl' && prop.test(child.prop)) {
|
22386
|
-
|
22387
|
-
if (result === false) return result;
|
22395
|
+
return callback(child, i);
|
22388
22396
|
}
|
22389
22397
|
});
|
22390
22398
|
} else {
|
22391
22399
|
return this.walk(function (child, i) {
|
22392
22400
|
if (child.type === 'decl' && child.prop === prop) {
|
22393
|
-
|
22394
|
-
if (result === false) return result;
|
22401
|
+
return callback(child, i);
|
22395
22402
|
}
|
22396
22403
|
});
|
22397
22404
|
}
|
@@ -22403,22 +22410,19 @@ var Container = function (_Node) {
|
|
22403
22410
|
|
22404
22411
|
return this.walk(function (child, i) {
|
22405
22412
|
if (child.type === 'rule') {
|
22406
|
-
|
22407
|
-
if (result === false) return result;
|
22413
|
+
return callback(child, i);
|
22408
22414
|
}
|
22409
22415
|
});
|
22410
22416
|
} else if (selector instanceof RegExp) {
|
22411
22417
|
return this.walk(function (child, i) {
|
22412
22418
|
if (child.type === 'rule' && selector.test(child.selector)) {
|
22413
|
-
|
22414
|
-
if (result === false) return result;
|
22419
|
+
return callback(child, i);
|
22415
22420
|
}
|
22416
22421
|
});
|
22417
22422
|
} else {
|
22418
22423
|
return this.walk(function (child, i) {
|
22419
22424
|
if (child.type === 'rule' && child.selector === selector) {
|
22420
|
-
|
22421
|
-
if (result === false) return result;
|
22425
|
+
return callback(child, i);
|
22422
22426
|
}
|
22423
22427
|
});
|
22424
22428
|
}
|
@@ -22429,22 +22433,19 @@ var Container = function (_Node) {
|
|
22429
22433
|
callback = name;
|
22430
22434
|
return this.walk(function (child, i) {
|
22431
22435
|
if (child.type === 'atrule') {
|
22432
|
-
|
22433
|
-
if (result === false) return result;
|
22436
|
+
return callback(child, i);
|
22434
22437
|
}
|
22435
22438
|
});
|
22436
22439
|
} else if (name instanceof RegExp) {
|
22437
22440
|
return this.walk(function (child, i) {
|
22438
22441
|
if (child.type === 'atrule' && name.test(child.name)) {
|
22439
|
-
|
22440
|
-
if (result === false) return result;
|
22442
|
+
return callback(child, i);
|
22441
22443
|
}
|
22442
22444
|
});
|
22443
22445
|
} else {
|
22444
22446
|
return this.walk(function (child, i) {
|
22445
22447
|
if (child.type === 'atrule' && child.name === name) {
|
22446
|
-
|
22447
|
-
if (result === false) return result;
|
22448
|
+
return callback(child, i);
|
22448
22449
|
}
|
22449
22450
|
});
|
22450
22451
|
}
|
@@ -22453,8 +22454,7 @@ var Container = function (_Node) {
|
|
22453
22454
|
Container.prototype.walkComments = function walkComments(callback) {
|
22454
22455
|
return this.walk(function (child, i) {
|
22455
22456
|
if (child.type === 'comment') {
|
22456
|
-
|
22457
|
-
if (result === false) return result;
|
22457
|
+
return callback(child, i);
|
22458
22458
|
}
|
22459
22459
|
});
|
22460
22460
|
};
|
@@ -23247,7 +23247,7 @@ var LazyResult = function () {
|
|
23247
23247
|
var b = runtimeVer.split('.');
|
23248
23248
|
|
23249
23249
|
if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {
|
23250
|
-
(0, _warnOnce2.default)('Your current PostCSS version is ' + runtimeVer + ',
|
23250
|
+
(0, _warnOnce2.default)('Your current PostCSS version ' + 'is ' + runtimeVer + ', but ' + pluginName + ' ' + 'uses ' + pluginVer + '. Perhaps this is ' + 'the source of the error below.');
|
23251
23251
|
}
|
23252
23252
|
}
|
23253
23253
|
} catch (err) {
|
@@ -23760,7 +23760,7 @@ var _class = function () {
|
|
23760
23760
|
} else {
|
23761
23761
|
var result = '';
|
23762
23762
|
this.stringify(this.root, function (i) {
|
23763
|
-
|
23763
|
+
result += i;
|
23764
23764
|
});
|
23765
23765
|
return [result];
|
23766
23766
|
}
|
@@ -23867,7 +23867,7 @@ var Node = function () {
|
|
23867
23867
|
if (stringifier.stringify) stringifier = stringifier.stringify;
|
23868
23868
|
var result = '';
|
23869
23869
|
stringifier(this, function (i) {
|
23870
|
-
|
23870
|
+
result += i;
|
23871
23871
|
});
|
23872
23872
|
return result;
|
23873
23873
|
};
|
@@ -25658,7 +25658,22 @@ function tokenize(input) {
|
|
25658
25658
|
}
|
25659
25659
|
} while (escaped);
|
25660
25660
|
|
25661
|
-
|
25661
|
+
content = css.slice(pos, next + 1);
|
25662
|
+
lines = content.split('\n');
|
25663
|
+
last = lines.length - 1;
|
25664
|
+
|
25665
|
+
if (last > 0) {
|
25666
|
+
nextLine = line + last;
|
25667
|
+
nextOffset = next - lines[last].length;
|
25668
|
+
} else {
|
25669
|
+
nextLine = line;
|
25670
|
+
nextOffset = offset;
|
25671
|
+
}
|
25672
|
+
|
25673
|
+
tokens.push(['string', css.slice(pos, next + 1), line, pos - offset, nextLine, next - nextOffset]);
|
25674
|
+
|
25675
|
+
offset = nextOffset;
|
25676
|
+
line = nextLine;
|
25662
25677
|
pos = next;
|
25663
25678
|
break;
|
25664
25679
|
|