autoprefixer-rails 0.1.20130409 → 0.2.20130413
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +4 -0
- data/Gemfile.lock +3 -3
- data/README.md +4 -5
- data/autoprefixer-rails.gemspec +3 -5
- data/lib/autoprefixer-rails.rb +5 -0
- data/lib/autoprefixer-rails/railtie.rb +12 -2
- data/lib/autoprefixer-rails/version.rb +1 -1
- data/lib/rake/autoprefixer_tasks.rb +45 -0
- data/spec/app/Rakefile +2 -0
- data/spec/autoprefixer_spec.rb +6 -0
- data/spec/rails_spec.rb +8 -0
- data/vendor/autoprefixer.js +516 -194
- metadata +9 -7
data/ChangeLog
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
autoprefixer-rails (0.
|
4
|
+
autoprefixer-rails (0.2.20130413)
|
5
5
|
execjs
|
6
6
|
|
7
7
|
GEM
|
@@ -36,7 +36,7 @@ GEM
|
|
36
36
|
multi_json (~> 1.0)
|
37
37
|
arel (3.0.2)
|
38
38
|
builder (3.0.4)
|
39
|
-
diff-lcs (1.2.
|
39
|
+
diff-lcs (1.2.3)
|
40
40
|
erubis (2.7.0)
|
41
41
|
execjs (1.4.0)
|
42
42
|
multi_json (~> 1.0)
|
@@ -98,7 +98,7 @@ GEM
|
|
98
98
|
libv8 (~> 3.11.8.12)
|
99
99
|
ref
|
100
100
|
thor (0.18.1)
|
101
|
-
tilt (1.3.
|
101
|
+
tilt (1.3.7)
|
102
102
|
treetop (1.4.12)
|
103
103
|
polyglot
|
104
104
|
polyglot (>= 0.3.1)
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Autoprefixer Rails
|
2
2
|
|
3
|
-
Parse CSS and add prefixed properties and values
|
4
|
-
for
|
3
|
+
Parse CSS and add prefixed properties and values by
|
4
|
+
[Can I Use](http://caniuse.com/) database for actual browsers.
|
5
5
|
|
6
6
|
This gem provides Ruby and Ruby on Rails integration with
|
7
7
|
[Autoprefixer](https://github.com/ai/autoprefixer) JS library.
|
@@ -15,9 +15,8 @@ a {
|
|
15
15
|
}
|
16
16
|
```
|
17
17
|
|
18
|
-
Autoprefixer will
|
19
|
-
|
20
|
-
actual prefixes by Assets Pipeline:
|
18
|
+
Autoprefixer will take database with current browser statistics
|
19
|
+
and properties support and adds only actual prefixes by Assets Pipeline:
|
21
20
|
|
22
21
|
```css
|
23
22
|
a {
|
data/autoprefixer-rails.gemspec
CHANGED
@@ -5,11 +5,9 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.name = 'autoprefixer-rails'
|
6
6
|
s.version = AutoprefixerRails::VERSION.dup
|
7
7
|
s.date = Time.now.strftime('%Y-%m-%d')
|
8
|
-
s.summary = 'Parse CSS and add only actual prefixed'
|
9
|
-
s.description =
|
10
|
-
|
11
|
-
when it really necessary for selected browsers.
|
12
|
-
EOF
|
8
|
+
s.summary = 'Parse CSS and add only actual prefixed by Can I Use database'
|
9
|
+
s.description = 'Parse CSS and add prefixed properties and values ' +
|
10
|
+
'by Can I Use database for actual browsers'
|
13
11
|
|
14
12
|
s.files = `git ls-files`.split("\n")
|
15
13
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
data/lib/autoprefixer-rails.rb
CHANGED
@@ -50,6 +50,11 @@ module AutoprefixerRails
|
|
50
50
|
def self.compiler
|
51
51
|
@compiler ||= ExecJS.compile("window = this;\n" + js_file.read)
|
52
52
|
end
|
53
|
+
|
54
|
+
# Return string with selected browsers and prefixed CSS properties and values
|
55
|
+
def self.inspect(browsers = [])
|
56
|
+
compiler.call('autoprefixer.inspect', browsers)
|
57
|
+
end
|
53
58
|
end
|
54
59
|
|
55
60
|
if defined?(Rails)
|
@@ -20,11 +20,21 @@ require 'sprockets/railtie'
|
|
20
20
|
|
21
21
|
module AutoprefixedRails
|
22
22
|
class Railtie < ::Rails::Railtie
|
23
|
+
rake_tasks do |app|
|
24
|
+
require 'rake/autoprefixer_tasks'
|
25
|
+
Rake::AutoprefixerTasks.new(browsers(app))
|
26
|
+
end
|
27
|
+
|
23
28
|
initializer :setup_autoprefixer do |app|
|
29
|
+
dirs = [app.root.join('app/'), app.root.join('lib/')]
|
30
|
+
AutoprefixerRails.install(app.assets, browsers(app), :dirs => dirs)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Read browsers requirements from application config
|
34
|
+
def browsers(app)
|
24
35
|
file = app.root.join('config/autoprefixer.yml')
|
25
36
|
config = file.exist? ? YAML.load_file(file) : { 'browsers' => [] }
|
26
|
-
|
27
|
-
AutoprefixerRails.install(app.assets, config['browsers'], :dirs => dirs)
|
37
|
+
config['browsers']
|
28
38
|
end
|
29
39
|
end
|
30
40
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
=begin
|
2
|
+
Copyright 2013 Andrey “A.I.” Sitnik <andrey@sitnik.ru>,
|
3
|
+
sponsored by Evil Martians.
|
4
|
+
|
5
|
+
This program is free software: you can redistribute it and/or modify
|
6
|
+
it under the terms of the GNU Lesser General Public License as published by
|
7
|
+
the Free Software Foundation, either version 3 of the License, or
|
8
|
+
(at your option) any later version.
|
9
|
+
|
10
|
+
This program is distributed in the hope that it will be useful,
|
11
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
GNU Lesser General Public License for more details.
|
14
|
+
|
15
|
+
You should have received a copy of the GNU Lesser General Public License
|
16
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
+
=end
|
18
|
+
|
19
|
+
require 'rake'
|
20
|
+
require 'rake/tasklib'
|
21
|
+
require 'autoprefixer-rails'
|
22
|
+
|
23
|
+
module Rake
|
24
|
+
# Define task to inspect Autoprefixer browsers, properties and values.
|
25
|
+
# Call it from your `Rakefile`:
|
26
|
+
#
|
27
|
+
# AutoprefixerTasks.new(['> 1%', 'opera 12'])
|
28
|
+
class AutoprefixerTasks < Rake::TaskLib
|
29
|
+
attr_reader :browsers
|
30
|
+
|
31
|
+
def initialize(browsers = [])
|
32
|
+
@browsers = browsers
|
33
|
+
define
|
34
|
+
end
|
35
|
+
|
36
|
+
def define
|
37
|
+
namespace :autoprefixer do
|
38
|
+
desc 'Show selected browsers and prefixed CSS properties and values'
|
39
|
+
task :inspect do
|
40
|
+
puts AutoprefixerRails.inspect(@browsers)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/spec/app/Rakefile
ADDED
data/spec/autoprefixer_spec.rb
CHANGED
@@ -27,4 +27,10 @@ describe AutoprefixerRails do
|
|
27
27
|
assets['app/assets/stylesheets/test.css'].to_s.should ==
|
28
28
|
"a { transition: all 1s }\n"
|
29
29
|
end
|
30
|
+
|
31
|
+
it "should inspect" do
|
32
|
+
inspect = AutoprefixerRails.inspect(['chrome 25'])
|
33
|
+
inspect.should =~ /Browsers:\n Chrome 25\n\n/
|
34
|
+
inspect.should =~ / transition: webkit/
|
35
|
+
end
|
30
36
|
end
|
data/spec/rails_spec.rb
CHANGED
@@ -13,3 +13,11 @@ describe CssController, :type => :controller do
|
|
13
13
|
response.body.should == ".f { transition: none }\n"
|
14
14
|
end
|
15
15
|
end
|
16
|
+
|
17
|
+
describe 'Rake task' do
|
18
|
+
it "should inspect" do
|
19
|
+
inspect = `cd spec/app; bundle exec rake autoprefixer:inspect`
|
20
|
+
inspect.should =~ /Browsers:\n Chrome 25\n\n/
|
21
|
+
inspect.should =~ / transition: webkit/
|
22
|
+
end
|
23
|
+
end
|
data/vendor/autoprefixer.js
CHANGED
@@ -1,30 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright 2013 Andrey Sitnik <andrey@sitnik.ru>,
|
3
|
-
* sponsored by Evil Martians.
|
4
|
-
*
|
5
|
-
* This program is free software: you can redistribute it and/or modify
|
6
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
7
|
-
* the Free Software Foundation, either version 3 of the License, or
|
8
|
-
* (at your option) any later version.
|
9
|
-
*
|
10
|
-
* This program is distributed in the hope that it will be useful,
|
11
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
-
* GNU Lesser General Public License for more details.
|
14
|
-
*
|
15
|
-
* You should have received a copy of the GNU Lesser General Public License
|
16
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
17
|
-
*/
|
18
|
-
|
19
|
-
;(function(){
|
20
|
-
|
21
|
-
|
22
|
-
/**
|
23
|
-
* hasOwnProperty.
|
24
|
-
*/
|
25
|
-
|
26
|
-
var has = Object.prototype.hasOwnProperty;
|
27
|
-
|
1
|
+
;(function () {
|
28
2
|
/**
|
29
3
|
* Require the given path.
|
30
4
|
*
|
@@ -101,10 +75,10 @@ require.resolve = function(path) {
|
|
101
75
|
|
102
76
|
for (var i = 0; i < paths.length; i++) {
|
103
77
|
var path = paths[i];
|
104
|
-
if (
|
78
|
+
if (require.modules.hasOwnProperty(path)) return path;
|
105
79
|
}
|
106
80
|
|
107
|
-
if (
|
81
|
+
if (require.aliases.hasOwnProperty(index)) {
|
108
82
|
return require.aliases[index];
|
109
83
|
}
|
110
84
|
};
|
@@ -158,7 +132,7 @@ require.register = function(path, definition) {
|
|
158
132
|
*/
|
159
133
|
|
160
134
|
require.alias = function(from, to) {
|
161
|
-
if (!
|
135
|
+
if (!require.modules.hasOwnProperty(from)) {
|
162
136
|
throw new Error('Failed to alias "' + from + '", it does not exist');
|
163
137
|
}
|
164
138
|
require.aliases[to] = from;
|
@@ -220,7 +194,7 @@ require.relative = function(parent) {
|
|
220
194
|
*/
|
221
195
|
|
222
196
|
localRequire.exists = function(path) {
|
223
|
-
return
|
197
|
+
return require.modules.hasOwnProperty(localRequire.resolve(path));
|
224
198
|
};
|
225
199
|
|
226
200
|
return localRequire;
|
@@ -261,10 +235,10 @@ module.exports = function(css){
|
|
261
235
|
var node;
|
262
236
|
var rules = [];
|
263
237
|
whitespace();
|
264
|
-
comments();
|
238
|
+
comments(rules);
|
265
239
|
while (css[0] != '}' && (node = atrule() || rule())) {
|
266
|
-
comments();
|
267
240
|
rules.push(node);
|
241
|
+
comments(rules);
|
268
242
|
}
|
269
243
|
return rules;
|
270
244
|
}
|
@@ -292,8 +266,11 @@ module.exports = function(css){
|
|
292
266
|
* Parse comments;
|
293
267
|
*/
|
294
268
|
|
295
|
-
function comments() {
|
296
|
-
|
269
|
+
function comments(rules) {
|
270
|
+
rules = rules || [];
|
271
|
+
var c;
|
272
|
+
while (c = comment()) rules.push(c);
|
273
|
+
return rules;
|
297
274
|
}
|
298
275
|
|
299
276
|
/**
|
@@ -305,9 +282,10 @@ module.exports = function(css){
|
|
305
282
|
var i = 2;
|
306
283
|
while ('*' != css[i] || '/' != css[i + 1]) ++i;
|
307
284
|
i += 2;
|
285
|
+
var comment = css.slice(2, i - 2);
|
308
286
|
css = css.slice(i);
|
309
287
|
whitespace();
|
310
|
-
return
|
288
|
+
return { comment: comment };
|
311
289
|
}
|
312
290
|
}
|
313
291
|
|
@@ -399,6 +377,25 @@ module.exports = function(css){
|
|
399
377
|
};
|
400
378
|
}
|
401
379
|
|
380
|
+
/**
|
381
|
+
* Parse supports.
|
382
|
+
*/
|
383
|
+
|
384
|
+
function supports() {
|
385
|
+
var m = match(/^@supports *([^{]+)/);
|
386
|
+
if (!m) return;
|
387
|
+
var supports = m[1].trim();
|
388
|
+
|
389
|
+
if (!open()) return;
|
390
|
+
comments();
|
391
|
+
|
392
|
+
var style = rules();
|
393
|
+
|
394
|
+
if (!close()) return;
|
395
|
+
|
396
|
+
return { supports: supports, rules: style };
|
397
|
+
}
|
398
|
+
|
402
399
|
/**
|
403
400
|
* Parse media.
|
404
401
|
*/
|
@@ -418,6 +415,51 @@ module.exports = function(css){
|
|
418
415
|
return { media: media, rules: style };
|
419
416
|
}
|
420
417
|
|
418
|
+
/**
|
419
|
+
* Parse paged media.
|
420
|
+
*/
|
421
|
+
|
422
|
+
function atpage() {
|
423
|
+
var m = match(/^@page */);
|
424
|
+
if (!m) return;
|
425
|
+
|
426
|
+
var sel = selector() || [];
|
427
|
+
var decls = [];
|
428
|
+
|
429
|
+
if (!open()) return;
|
430
|
+
comments();
|
431
|
+
|
432
|
+
// declarations
|
433
|
+
var decl;
|
434
|
+
while (decl = declaration() || atmargin()) {
|
435
|
+
decls.push(decl);
|
436
|
+
comments();
|
437
|
+
}
|
438
|
+
|
439
|
+
if (!close()) return;
|
440
|
+
|
441
|
+
return {
|
442
|
+
type: "page",
|
443
|
+
selectors: sel,
|
444
|
+
declarations: decls
|
445
|
+
};
|
446
|
+
}
|
447
|
+
|
448
|
+
/**
|
449
|
+
* Parse margin at-rules
|
450
|
+
*/
|
451
|
+
|
452
|
+
function atmargin() {
|
453
|
+
var m = match(/^@([a-z\-]+) */);
|
454
|
+
if (!m) return;
|
455
|
+
var type = m[1]
|
456
|
+
|
457
|
+
return {
|
458
|
+
type: type,
|
459
|
+
declarations: declarations()
|
460
|
+
}
|
461
|
+
}
|
462
|
+
|
421
463
|
/**
|
422
464
|
* Parse import
|
423
465
|
*/
|
@@ -434,6 +476,14 @@ module.exports = function(css){
|
|
434
476
|
return _atrule('charset');
|
435
477
|
}
|
436
478
|
|
479
|
+
/**
|
480
|
+
* Parse namespace
|
481
|
+
*/
|
482
|
+
|
483
|
+
function atnamespace() {
|
484
|
+
return _atrule('namespace')
|
485
|
+
}
|
486
|
+
|
437
487
|
/**
|
438
488
|
* Parse non-block at-rules
|
439
489
|
*/
|
@@ -474,8 +524,11 @@ module.exports = function(css){
|
|
474
524
|
function atrule() {
|
475
525
|
return keyframes()
|
476
526
|
|| media()
|
527
|
+
|| supports()
|
477
528
|
|| atimport()
|
478
|
-
|| atcharset()
|
529
|
+
|| atcharset()
|
530
|
+
|| atnamespace()
|
531
|
+
|| atpage();
|
479
532
|
}
|
480
533
|
|
481
534
|
/**
|
@@ -532,6 +585,7 @@ Compiler.prototype.compile = function(node){
|
|
532
585
|
*/
|
533
586
|
|
534
587
|
Compiler.prototype.visit = function(node){
|
588
|
+
if (node.comment) return this.comment(node);
|
535
589
|
if (node.charset) return this.charset(node);
|
536
590
|
if (node.keyframes) return this.keyframes(node);
|
537
591
|
if (node.media) return this.media(node);
|
@@ -539,6 +593,15 @@ Compiler.prototype.visit = function(node){
|
|
539
593
|
return this.rule(node);
|
540
594
|
};
|
541
595
|
|
596
|
+
/**
|
597
|
+
* Visit comment node.
|
598
|
+
*/
|
599
|
+
|
600
|
+
Compiler.prototype.comment = function(node){
|
601
|
+
if (this.compress) return '';
|
602
|
+
return '/*' + node.comment + '*/';
|
603
|
+
};
|
604
|
+
|
542
605
|
/**
|
543
606
|
* Visit import node.
|
544
607
|
*/
|
@@ -633,6 +696,8 @@ Compiler.prototype.keyframe = function(node){
|
|
633
696
|
*/
|
634
697
|
|
635
698
|
Compiler.prototype.rule = function(node){
|
699
|
+
var indent = this.indent();
|
700
|
+
|
636
701
|
if (this.compress) {
|
637
702
|
return node.selectors.join(',')
|
638
703
|
+ '{'
|
@@ -640,7 +705,7 @@ Compiler.prototype.rule = function(node){
|
|
640
705
|
+ '}';
|
641
706
|
}
|
642
707
|
|
643
|
-
return
|
708
|
+
return node.selectors.map(function(s){ return indent + s }).join(',\n')
|
644
709
|
+ ' {\n'
|
645
710
|
+ this.indent(1)
|
646
711
|
+ node.declarations.map(this.declaration, this).join(';\n')
|
@@ -1106,7 +1171,7 @@ exports.basename = function(path){
|
|
1106
1171
|
};
|
1107
1172
|
|
1108
1173
|
exports.dirname = function(path){
|
1109
|
-
return path.split('/').slice(0, -1).join('/') || '.';
|
1174
|
+
return path.split('/').slice(0, -1).join('/') || '.';
|
1110
1175
|
};
|
1111
1176
|
|
1112
1177
|
exports.extname = function(path){
|
@@ -1116,18 +1181,17 @@ exports.extname = function(path){
|
|
1116
1181
|
return '.' + ext;
|
1117
1182
|
};
|
1118
1183
|
});
|
1119
|
-
require.register("rework/index.js", function(exports, require, module){
|
1184
|
+
require.register("visionmedia-rework/index.js", function(exports, require, module){
|
1120
1185
|
|
1121
1186
|
module.exports = require('./lib/rework');
|
1122
1187
|
});
|
1123
|
-
require.register("rework/lib/rework.js", function(exports, require, module){
|
1188
|
+
require.register("visionmedia-rework/lib/rework.js", function(exports, require, module){
|
1124
1189
|
|
1125
1190
|
/**
|
1126
1191
|
* Module dependencies.
|
1127
1192
|
*/
|
1128
1193
|
|
1129
|
-
var css = require('css')
|
1130
|
-
, visit = require('./visit');
|
1194
|
+
var css = require('css');
|
1131
1195
|
|
1132
1196
|
/**
|
1133
1197
|
* Expose `rework`.
|
@@ -1139,7 +1203,13 @@ exports = module.exports = rework;
|
|
1139
1203
|
* Expose `visit` helpers.
|
1140
1204
|
*/
|
1141
1205
|
|
1142
|
-
exports.visit = visit;
|
1206
|
+
exports.visit = require('./visit');
|
1207
|
+
|
1208
|
+
/**
|
1209
|
+
* Expose prefix properties.
|
1210
|
+
*/
|
1211
|
+
|
1212
|
+
exports.properties = require('./properties');
|
1143
1213
|
|
1144
1214
|
/**
|
1145
1215
|
* Initialize a new stylesheet `Rework` with `str`.
|
@@ -1210,6 +1280,7 @@ Rework.prototype.toString = function(options){
|
|
1210
1280
|
|
1211
1281
|
exports.media = require('./plugins/media');
|
1212
1282
|
exports.mixin = exports.mixins = require('./plugins/mixin');
|
1283
|
+
exports.function = exports.functions = require('./plugins/function');
|
1213
1284
|
exports.prefix = require('./plugins/prefix');
|
1214
1285
|
exports.colors = require('./plugins/colors');
|
1215
1286
|
exports.extend = require('./plugins/extend');
|
@@ -1222,9 +1293,10 @@ exports.at2x = require('./plugins/at2x');
|
|
1222
1293
|
exports.url = require('./plugins/url');
|
1223
1294
|
exports.ease = require('./plugins/ease');
|
1224
1295
|
exports.vars = require('./plugins/vars');
|
1296
|
+
exports.inline = require('./plugins/inline');
|
1225
1297
|
|
1226
1298
|
});
|
1227
|
-
require.register("rework/lib/utils.js", function(exports, require, module){
|
1299
|
+
require.register("visionmedia-rework/lib/utils.js", function(exports, require, module){
|
1228
1300
|
|
1229
1301
|
/**
|
1230
1302
|
* Strip `str` quotes.
|
@@ -1239,7 +1311,7 @@ exports.stripQuotes = function(str) {
|
|
1239
1311
|
return str;
|
1240
1312
|
};
|
1241
1313
|
});
|
1242
|
-
require.register("rework/lib/visit.js", function(exports, require, module){
|
1314
|
+
require.register("visionmedia-rework/lib/visit.js", function(exports, require, module){
|
1243
1315
|
|
1244
1316
|
/**
|
1245
1317
|
* Visit `node`'s declarations recursively and
|
@@ -1274,14 +1346,147 @@ exports.declarations = function(node, fn){
|
|
1274
1346
|
};
|
1275
1347
|
|
1276
1348
|
});
|
1277
|
-
require.register("rework/lib/
|
1349
|
+
require.register("visionmedia-rework/lib/properties.js", function(exports, require, module){
|
1350
|
+
|
1351
|
+
/**
|
1352
|
+
* Prefixed properties.
|
1353
|
+
*/
|
1354
|
+
|
1355
|
+
module.exports = [
|
1356
|
+
'animation',
|
1357
|
+
'animation-delay',
|
1358
|
+
'animation-direction',
|
1359
|
+
'animation-duration',
|
1360
|
+
'animation-fill-mode',
|
1361
|
+
'animation-iteration-count',
|
1362
|
+
'animation-name',
|
1363
|
+
'animation-play-state',
|
1364
|
+
'animation-timing-function',
|
1365
|
+
'appearance',
|
1366
|
+
'background-visibility',
|
1367
|
+
'background-composite',
|
1368
|
+
'blend-mode',
|
1369
|
+
'border-bottom-left-radius',
|
1370
|
+
'border-bottom-right-radius',
|
1371
|
+
'border-fit',
|
1372
|
+
'border-image',
|
1373
|
+
'border-vertical-spacing',
|
1374
|
+
'box-align',
|
1375
|
+
'box-direction',
|
1376
|
+
'box-flex',
|
1377
|
+
'box-flex-group',
|
1378
|
+
'box-lines',
|
1379
|
+
'box-ordinal-group',
|
1380
|
+
'box-orient',
|
1381
|
+
'box-pack',
|
1382
|
+
'box-reflect',
|
1383
|
+
'box-sizing',
|
1384
|
+
'clip-path',
|
1385
|
+
'column-count',
|
1386
|
+
'column-width',
|
1387
|
+
'column-min-width',
|
1388
|
+
'column-width-policy',
|
1389
|
+
'column-gap',
|
1390
|
+
'column-rule',
|
1391
|
+
'column-rule-color',
|
1392
|
+
'column-rule-style',
|
1393
|
+
'column-rule-width',
|
1394
|
+
'column-span',
|
1395
|
+
'flex',
|
1396
|
+
'flex-basis',
|
1397
|
+
'flex-direction',
|
1398
|
+
'flex-flow',
|
1399
|
+
'flex-grow',
|
1400
|
+
'flex-shrink',
|
1401
|
+
'flex-wrap',
|
1402
|
+
'flex-flow-from',
|
1403
|
+
'flex-flow-into',
|
1404
|
+
'font-smoothing',
|
1405
|
+
'transform',
|
1406
|
+
'transform-origin',
|
1407
|
+
'transform-origin-x',
|
1408
|
+
'transform-origin-y',
|
1409
|
+
'transform-origin-z',
|
1410
|
+
'transform-style',
|
1411
|
+
'transition',
|
1412
|
+
'transition-delay',
|
1413
|
+
'transition-duration',
|
1414
|
+
'transition-property',
|
1415
|
+
'transition-timing-function',
|
1416
|
+
'user-drag',
|
1417
|
+
'user-modify',
|
1418
|
+
'user-select',
|
1419
|
+
'wrap',
|
1420
|
+
'wrap-flow',
|
1421
|
+
'wrap-margin',
|
1422
|
+
'wrap-padding',
|
1423
|
+
'wrap-through'
|
1424
|
+
];
|
1425
|
+
|
1426
|
+
});
|
1427
|
+
require.register("visionmedia-rework/lib/plugins/function.js", function(exports, require, module){
|
1428
|
+
|
1429
|
+
/**
|
1430
|
+
* Module dependencies.
|
1431
|
+
*/
|
1432
|
+
|
1433
|
+
var visit = require('../visit')
|
1434
|
+
, utils = require('../utils');
|
1435
|
+
|
1436
|
+
/**
|
1437
|
+
* Define custom function.
|
1438
|
+
*/
|
1439
|
+
|
1440
|
+
module.exports = function(functions) {
|
1441
|
+
if (!functions) throw new Error('functions object required');
|
1442
|
+
return function(style, rework){
|
1443
|
+
visit.declarations(style, function(declarations){
|
1444
|
+
for (var name in functions) {
|
1445
|
+
func(declarations, name, functions[name]);
|
1446
|
+
}
|
1447
|
+
});
|
1448
|
+
}
|
1449
|
+
};
|
1450
|
+
|
1451
|
+
/**
|
1452
|
+
* Escape regexp codes in string.
|
1453
|
+
*
|
1454
|
+
* @param {String} s
|
1455
|
+
* @api private
|
1456
|
+
*/
|
1457
|
+
|
1458
|
+
function escape(s) {
|
1459
|
+
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
1460
|
+
}
|
1461
|
+
|
1462
|
+
/**
|
1463
|
+
* Visit declarations and apply functions.
|
1464
|
+
*
|
1465
|
+
* @param {Array} declarations
|
1466
|
+
* @param {Object} functions
|
1467
|
+
* @api private
|
1468
|
+
*/
|
1469
|
+
|
1470
|
+
function func(declarations, name, func) {
|
1471
|
+
var regexp = new RegExp(escape(name) + '\\(([^\)]+)\\)', 'g');
|
1472
|
+
declarations.forEach(function(decl){
|
1473
|
+
if (!~decl.value.indexOf(name + '(')) return;
|
1474
|
+
decl.value = decl.value.replace(regexp, function(_, args){
|
1475
|
+
args = args.split(/,\s*/).map(utils.stripQuotes);
|
1476
|
+
return func.apply(decl, args);
|
1477
|
+
});
|
1478
|
+
});
|
1479
|
+
}
|
1480
|
+
|
1481
|
+
});
|
1482
|
+
require.register("visionmedia-rework/lib/plugins/url.js", function(exports, require, module){
|
1278
1483
|
|
1279
1484
|
/**
|
1280
1485
|
* Module dependencies.
|
1281
1486
|
*/
|
1282
1487
|
|
1283
1488
|
var utils = require('../utils')
|
1284
|
-
,
|
1489
|
+
, func = require('./function');
|
1285
1490
|
|
1286
1491
|
/**
|
1287
1492
|
* Map `url()` calls.
|
@@ -1299,21 +1504,15 @@ var utils = require('../utils')
|
|
1299
1504
|
*/
|
1300
1505
|
|
1301
1506
|
module.exports = function(fn) {
|
1302
|
-
return
|
1303
|
-
|
1304
|
-
|
1305
|
-
|
1306
|
-
|
1307
|
-
url = utils.stripQuotes(url);
|
1308
|
-
return 'url("' + fn(url) + '")';
|
1309
|
-
});
|
1310
|
-
});
|
1311
|
-
});
|
1312
|
-
}
|
1507
|
+
return func({ url: url });
|
1508
|
+
|
1509
|
+
function url(path){
|
1510
|
+
return 'url("' + fn(path) + '")';
|
1511
|
+
};
|
1313
1512
|
};
|
1314
1513
|
|
1315
1514
|
});
|
1316
|
-
require.register("rework/lib/plugins/vars.js", function(exports, require, module){
|
1515
|
+
require.register("visionmedia-rework/lib/plugins/vars.js", function(exports, require, module){
|
1317
1516
|
|
1318
1517
|
/**
|
1319
1518
|
* Module dependencies.
|
@@ -1340,12 +1539,13 @@ var visit = require('../visit');
|
|
1340
1539
|
*
|
1341
1540
|
*/
|
1342
1541
|
|
1343
|
-
module.exports = function() {
|
1344
|
-
|
1542
|
+
module.exports = function(map) {
|
1543
|
+
map = map || {};
|
1345
1544
|
|
1346
1545
|
function replace(str) {
|
1347
1546
|
return str.replace(/\bvar\((.*?)\)/g, function(_, name){
|
1348
1547
|
var val = map[name];
|
1548
|
+
if (!val) throw new Error('variable "' + name + '" is undefined');
|
1349
1549
|
if (val.match(/\bvar\(/)) val = replace(val);
|
1350
1550
|
return val;
|
1351
1551
|
});
|
@@ -1370,7 +1570,7 @@ module.exports = function() {
|
|
1370
1570
|
};
|
1371
1571
|
|
1372
1572
|
});
|
1373
|
-
require.register("rework/lib/plugins/ease.js", function(exports, require, module){
|
1573
|
+
require.register("visionmedia-rework/lib/plugins/ease.js", function(exports, require, module){
|
1374
1574
|
|
1375
1575
|
/**
|
1376
1576
|
* Module dependencies.
|
@@ -1457,7 +1657,7 @@ function substitute(declarations) {
|
|
1457
1657
|
}
|
1458
1658
|
|
1459
1659
|
});
|
1460
|
-
require.register("rework/lib/plugins/at2x.js", function(exports, require, module){
|
1660
|
+
require.register("visionmedia-rework/lib/plugins/at2x.js", function(exports, require, module){
|
1461
1661
|
|
1462
1662
|
/**
|
1463
1663
|
* Module dependencies.
|
@@ -1548,14 +1748,14 @@ function backgroundWithURL(decl) {
|
|
1548
1748
|
}
|
1549
1749
|
|
1550
1750
|
});
|
1551
|
-
require.register("rework/lib/plugins/colors.js", function(exports, require, module){
|
1751
|
+
require.register("visionmedia-rework/lib/plugins/colors.js", function(exports, require, module){
|
1552
1752
|
|
1553
1753
|
/**
|
1554
1754
|
* Module dependencies.
|
1555
1755
|
*/
|
1556
1756
|
|
1557
1757
|
var parse = require('color-parser')
|
1558
|
-
,
|
1758
|
+
, functions = require('./function');
|
1559
1759
|
|
1560
1760
|
/**
|
1561
1761
|
* Provide color manipulation helpers:
|
@@ -1573,57 +1773,22 @@ var parse = require('color-parser')
|
|
1573
1773
|
*/
|
1574
1774
|
|
1575
1775
|
module.exports = function() {
|
1576
|
-
return
|
1577
|
-
|
1578
|
-
|
1776
|
+
return functions({
|
1777
|
+
rgba: function(color, alpha){
|
1778
|
+
if (2 == arguments.length) {
|
1779
|
+
var c = parse(color.trim());
|
1780
|
+
var args = [c.r, c.g, c.b, alpha];
|
1781
|
+
} else {
|
1782
|
+
var args = [].slice.call(arguments);
|
1783
|
+
}
|
1784
|
+
|
1785
|
+
return 'rgba(' + args.join(', ') + ')';
|
1786
|
+
}
|
1787
|
+
});
|
1579
1788
|
};
|
1580
1789
|
|
1581
|
-
/**
|
1582
|
-
* Substitute easing functions.
|
1583
|
-
*
|
1584
|
-
* @api private
|
1585
|
-
*/
|
1586
|
-
|
1587
|
-
function substitute(declarations) {
|
1588
|
-
for (var i = 0; i < declarations.length; ++i) {
|
1589
|
-
var decl = declarations[i];
|
1590
|
-
var val = decl.value;
|
1591
|
-
var index = val.indexOf('rgba');
|
1592
|
-
if (-1 == index) continue;
|
1593
|
-
|
1594
|
-
// grab rgba(...) value
|
1595
|
-
var rgba = val.slice(index, val.indexOf(')', index));
|
1596
|
-
|
1597
|
-
// arity > 2
|
1598
|
-
if (rgba.split(',').length > 2) continue;
|
1599
|
-
|
1600
|
-
// color
|
1601
|
-
var c = rgba.slice(rgba.indexOf('(') + 1, rgba.indexOf(',')).trim();
|
1602
|
-
c = parse(c);
|
1603
|
-
|
1604
|
-
// alpha
|
1605
|
-
var a = rgba.slice(rgba.indexOf(',') + 1, rgba.length);
|
1606
|
-
a = parseFloat(a);
|
1607
|
-
|
1608
|
-
// format
|
1609
|
-
c = 'rgba('
|
1610
|
-
+ c.r
|
1611
|
-
+ ','
|
1612
|
-
+ c.g
|
1613
|
-
+ ','
|
1614
|
-
+ c.b
|
1615
|
-
+ ','
|
1616
|
-
+ a
|
1617
|
-
+ ')';
|
1618
|
-
|
1619
|
-
// replace
|
1620
|
-
decl.value = val.replace(rgba + ')', c);
|
1621
|
-
}
|
1622
|
-
}
|
1623
|
-
|
1624
1790
|
});
|
1625
|
-
require.register("rework/lib/plugins/extend.js", function(exports, require, module){
|
1626
|
-
|
1791
|
+
require.register("visionmedia-rework/lib/plugins/extend.js", function(exports, require, module){
|
1627
1792
|
/**
|
1628
1793
|
* Module dependencies.
|
1629
1794
|
*/
|
@@ -1636,16 +1801,28 @@ var debug = require('debug')('rework:extend');
|
|
1636
1801
|
|
1637
1802
|
module.exports = function() {
|
1638
1803
|
debug('use extend');
|
1639
|
-
return function(style, rework){
|
1804
|
+
return function(style, rework) {
|
1640
1805
|
var map = {};
|
1641
|
-
style.rules.
|
1642
|
-
|
1643
|
-
|
1806
|
+
var rules = style.rules.length;
|
1807
|
+
|
1808
|
+
for (var j = 0; j < rules; j++) {
|
1809
|
+
var rule = style.rules[j];
|
1810
|
+
if (!rule || !rule.selectors) return;
|
1811
|
+
|
1812
|
+
// map selectors
|
1813
|
+
rule.selectors.forEach(function(sel, i) {
|
1644
1814
|
map[sel] = rule;
|
1645
1815
|
if ('%' == sel[0]) rule.selectors.splice(i, 1);
|
1646
1816
|
});
|
1817
|
+
|
1818
|
+
// visit extend: properties
|
1647
1819
|
visit(rule, map);
|
1648
|
-
|
1820
|
+
|
1821
|
+
// clean up empty rules
|
1822
|
+
if (!rule.declarations.length) {
|
1823
|
+
style.rules.splice(j--, 1);
|
1824
|
+
}
|
1825
|
+
};
|
1649
1826
|
}
|
1650
1827
|
};
|
1651
1828
|
|
@@ -1668,12 +1845,12 @@ function visit(rule, map) {
|
|
1668
1845
|
if (!extend) throw new Error('failed to extend "' + val + '"');
|
1669
1846
|
|
1670
1847
|
var keys = Object.keys(map);
|
1671
|
-
keys.forEach(function(key){
|
1848
|
+
keys.forEach(function(key) {
|
1672
1849
|
if (0 != key.indexOf(val)) return;
|
1673
1850
|
var extend = map[key];
|
1674
1851
|
var suffix = key.replace(val, '');
|
1675
1852
|
debug('extend %j with %j', rule.selectors, extend.selectors);
|
1676
|
-
extend.selectors = extend.selectors.concat(rule.selectors.map(function(sel){
|
1853
|
+
extend.selectors = extend.selectors.concat(rule.selectors.map(function(sel) {
|
1677
1854
|
return sel + suffix;
|
1678
1855
|
}));
|
1679
1856
|
});
|
@@ -1683,7 +1860,7 @@ function visit(rule, map) {
|
|
1683
1860
|
}
|
1684
1861
|
|
1685
1862
|
});
|
1686
|
-
require.register("rework/lib/plugins/mixin.js", function(exports, require, module){
|
1863
|
+
require.register("visionmedia-rework/lib/plugins/mixin.js", function(exports, require, module){
|
1687
1864
|
|
1688
1865
|
/**
|
1689
1866
|
* Module dependencies.
|
@@ -1738,7 +1915,7 @@ function mixin(declarations, mixins) {
|
|
1738
1915
|
}
|
1739
1916
|
|
1740
1917
|
});
|
1741
|
-
require.register("rework/lib/plugins/keyframes.js", function(exports, require, module){
|
1918
|
+
require.register("visionmedia-rework/lib/plugins/keyframes.js", function(exports, require, module){
|
1742
1919
|
|
1743
1920
|
/**
|
1744
1921
|
* Prefix keyframes.
|
@@ -1830,7 +2007,7 @@ function cloneKeyframe(keyframe) {
|
|
1830
2007
|
return clone;
|
1831
2008
|
}
|
1832
2009
|
});
|
1833
|
-
require.register("rework/lib/plugins/references.js", function(exports, require, module){
|
2010
|
+
require.register("visionmedia-rework/lib/plugins/references.js", function(exports, require, module){
|
1834
2011
|
|
1835
2012
|
/**
|
1836
2013
|
* Module dependencies.
|
@@ -1887,7 +2064,7 @@ function substitute(declarations) {
|
|
1887
2064
|
}
|
1888
2065
|
|
1889
2066
|
});
|
1890
|
-
require.register("rework/lib/plugins/opacity.js", function(exports, require, module){
|
2067
|
+
require.register("visionmedia-rework/lib/plugins/opacity.js", function(exports, require, module){
|
1891
2068
|
|
1892
2069
|
/**
|
1893
2070
|
* Add IE opacity support.
|
@@ -1937,7 +2114,7 @@ module.exports = function() {
|
|
1937
2114
|
}
|
1938
2115
|
};
|
1939
2116
|
});
|
1940
|
-
require.register("rework/lib/plugins/prefix-selectors.js", function(exports, require, module){
|
2117
|
+
require.register("visionmedia-rework/lib/plugins/prefix-selectors.js", function(exports, require, module){
|
1941
2118
|
|
1942
2119
|
/**
|
1943
2120
|
* Prefix selectors with `str`.
|
@@ -1966,7 +2143,7 @@ module.exports = function(str) {
|
|
1966
2143
|
}
|
1967
2144
|
};
|
1968
2145
|
});
|
1969
|
-
require.register("rework/lib/plugins/prefix-value.js", function(exports, require, module){
|
2146
|
+
require.register("visionmedia-rework/lib/plugins/prefix-value.js", function(exports, require, module){
|
1970
2147
|
|
1971
2148
|
/**
|
1972
2149
|
* Module dependencies.
|
@@ -2023,7 +2200,7 @@ module.exports = function(value, vendors) {
|
|
2023
2200
|
};
|
2024
2201
|
|
2025
2202
|
});
|
2026
|
-
require.register("rework/lib/plugins/media.js", function(exports, require, module){
|
2203
|
+
require.register("visionmedia-rework/lib/plugins/media.js", function(exports, require, module){
|
2027
2204
|
|
2028
2205
|
/**
|
2029
2206
|
* Module dependencies.
|
@@ -2055,7 +2232,7 @@ module.exports = function(obj) {
|
|
2055
2232
|
}
|
2056
2233
|
};
|
2057
2234
|
});
|
2058
|
-
require.register("rework/lib/plugins/prefix.js", function(exports, require, module){
|
2235
|
+
require.register("visionmedia-rework/lib/plugins/prefix.js", function(exports, require, module){
|
2059
2236
|
|
2060
2237
|
/**
|
2061
2238
|
* Module dependencies.
|
@@ -2118,67 +2295,11 @@ module.exports = function(prop, vendors) {
|
|
2118
2295
|
};
|
2119
2296
|
|
2120
2297
|
});
|
2121
|
-
require.
|
2122
|
-
|
2298
|
+
require.register("autoprefixer/data/browsers.js", function(exports, require, module){
|
2299
|
+
// Don't edit this files, because it's autogenerated.
|
2300
|
+
// See updaters/ dir for generator. Run bin/update to update.
|
2123
2301
|
|
2124
|
-
|
2125
|
-
|
2126
|
-
require.alias("visionmedia-debug/index.js", "rework/deps/debug/index.js");
|
2127
|
-
require.alias("visionmedia-debug/debug.js", "rework/deps/debug/debug.js");
|
2128
|
-
|
2129
|
-
require.alias("component-color-parser/index.js", "rework/deps/color-parser/index.js");
|
2130
|
-
require.alias("component-color-parser/colors.js", "rework/deps/color-parser/colors.js");
|
2131
|
-
|
2132
|
-
require.alias("component-path/index.js", "rework/deps/path/index.js");
|
2133
|
-
|
2134
|
-
if (typeof exports == "object") {
|
2135
|
-
module.exports = require("rework");
|
2136
|
-
} else if (typeof define == "function" && define.amd) {
|
2137
|
-
define(function(){ return require("rework"); });
|
2138
|
-
} else {
|
2139
|
-
window["rework"] = require("rework");
|
2140
|
-
}})();
|
2141
|
-
(function () {
|
2142
|
-
|
2143
|
-
// Return array, that doesn’t contain duplicates.
|
2144
|
-
var uniq = function (array) {
|
2145
|
-
var filtered = [];
|
2146
|
-
array.forEach(function (i) {
|
2147
|
-
if ( filtered.indexOf(i) === -1 ) {
|
2148
|
-
filtered.push(i);
|
2149
|
-
}
|
2150
|
-
});
|
2151
|
-
return filtered;
|
2152
|
-
};
|
2153
|
-
|
2154
|
-
// Parse CSS and add prefixed properties and values, when it really necessary
|
2155
|
-
// for selected browsers.
|
2156
|
-
//
|
2157
|
-
// var prefixed = autoprefixer.compile(css);
|
2158
|
-
//
|
2159
|
-
// By default, it add prefixes for last 2 releases of each browsers.
|
2160
|
-
// You can use global statistics to select browsers:
|
2161
|
-
//
|
2162
|
-
// autoprefixer.compile(css, '> 1%');
|
2163
|
-
//
|
2164
|
-
// versions fo each browsers:
|
2165
|
-
//
|
2166
|
-
// autoprefixer.compile(css, 'last 1 version');
|
2167
|
-
//
|
2168
|
-
// or set them manually:
|
2169
|
-
//
|
2170
|
-
// autoprefixer.compile(css, ['chrome 26', 'ff 20', 'ie 10']);
|
2171
|
-
//
|
2172
|
-
// If you want to combine Autoprefixer with another Rework filters,
|
2173
|
-
// you can use it as separated filter:
|
2174
|
-
//
|
2175
|
-
// rework(css).
|
2176
|
-
// use(autoprefixer.filter(last 1 version')).
|
2177
|
-
// toString();
|
2178
|
-
var autoprefixer = {
|
2179
|
-
// Load data
|
2180
|
-
data: {
|
2181
|
-
browsers: {
|
2302
|
+
module.exports = {
|
2182
2303
|
chrome: {
|
2183
2304
|
prefix: "-webkit-",
|
2184
2305
|
versions: [
|
@@ -2381,8 +2502,14 @@ var autoprefixer = {
|
|
2381
2502
|
0
|
2382
2503
|
]
|
2383
2504
|
}
|
2384
|
-
}
|
2385
|
-
|
2505
|
+
};
|
2506
|
+
|
2507
|
+
});
|
2508
|
+
require.register("autoprefixer/data/props.js", function(exports, require, module){
|
2509
|
+
// Don't edit this files, because it's autogenerated.
|
2510
|
+
// See updaters/ dir for generator. Run bin/update to update.
|
2511
|
+
|
2512
|
+
module.exports = {
|
2386
2513
|
"@keyframes": {
|
2387
2514
|
browsers: [
|
2388
2515
|
"ff 5",
|
@@ -5654,7 +5781,155 @@ var autoprefixer = {
|
|
5654
5781
|
"ios 5.1"
|
5655
5782
|
]
|
5656
5783
|
}
|
5657
|
-
}
|
5784
|
+
};
|
5785
|
+
|
5786
|
+
});
|
5787
|
+
require.register("autoprefixer/lib/autoprefixer/inspect.js", function(exports, require, module){
|
5788
|
+
/*
|
5789
|
+
* Copyright 2013 Andrey Sitnik <andrey@sitnik.ru>,
|
5790
|
+
* sponsored by Evil Martians.
|
5791
|
+
*
|
5792
|
+
* This program is free software: you can redistribute it and/or modify
|
5793
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
5794
|
+
* the Free Software Foundation, either version 3 of the License, or
|
5795
|
+
* (at your option) any later version.
|
5796
|
+
*
|
5797
|
+
* This program is distributed in the hope that it will be useful,
|
5798
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
5799
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
5800
|
+
* GNU Lesser General Public License for more details.
|
5801
|
+
*
|
5802
|
+
* You should have received a copy of the GNU Lesser General Public License
|
5803
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
5804
|
+
*/
|
5805
|
+
'use strict';
|
5806
|
+
|
5807
|
+
var autoprefixer = require('../autoprefixer.js');
|
5808
|
+
|
5809
|
+
var transition;
|
5810
|
+
var format = function (props) {
|
5811
|
+
transition = false;
|
5812
|
+
return props.map(function (prop) {
|
5813
|
+
var name = prop.name;
|
5814
|
+
if (prop.transition) {
|
5815
|
+
name += '*';
|
5816
|
+
transition = true;
|
5817
|
+
}
|
5818
|
+
return ' ' + name + ': ' + prop.prefixes.map(function (i) {
|
5819
|
+
return i.replace(/^-(.*)-$/g, '$1');
|
5820
|
+
}).join(', ');
|
5821
|
+
}).join("\n");
|
5822
|
+
};
|
5823
|
+
|
5824
|
+
// Show, what browser, properties and values will used by autoprefixed
|
5825
|
+
// with this `req`.
|
5826
|
+
var inspect = function (reqs) {
|
5827
|
+
var browsers = autoprefixer.parse(reqs || []);
|
5828
|
+
var props = autoprefixer.props(browsers);
|
5829
|
+
|
5830
|
+
var name, version, last, selected = [];
|
5831
|
+
for (var i = 0; i < browsers.length; i++) {
|
5832
|
+
version = browsers[i].split(' ')[1];
|
5833
|
+
if ( browsers[i].indexOf(last) == 0 ) {
|
5834
|
+
selected[selected.length - 1] += ', ' + version;
|
5835
|
+
} else {
|
5836
|
+
last = browsers[i].split(' ')[0];
|
5837
|
+
if ( last == 'ie' ) {
|
5838
|
+
name = 'IE';
|
5839
|
+
} else if ( last == 'ff' ) {
|
5840
|
+
name = 'Firefox';
|
5841
|
+
} else if ( last == 'ios' ) {
|
5842
|
+
name = 'iOS';
|
5843
|
+
} else {
|
5844
|
+
name = last.slice(0, 1).toUpperCase() + last.slice(1);
|
5845
|
+
}
|
5846
|
+
selected.push(name + ' ' + version);
|
5847
|
+
}
|
5848
|
+
}
|
5849
|
+
|
5850
|
+
var properties = props.filter(function (i) { return !i.onlyValue; });
|
5851
|
+
var values = props.filter(function (i) { return i.onlyValue; });
|
5852
|
+
|
5853
|
+
var out = "Browsers:\n" +
|
5854
|
+
selected.map(function (i) { return ' ' + i; }).join("\n") + "\n";
|
5855
|
+
|
5856
|
+
if ( properties.length > 0 ) {
|
5857
|
+
out += "\nProperties:\n" + format(properties) + "\n";
|
5858
|
+
if ( transition ) {
|
5859
|
+
out += "* - properties, which can be used in transition\n"
|
5860
|
+
}
|
5861
|
+
}
|
5862
|
+
if ( values.length > 0 ) {
|
5863
|
+
out += "\nValues:\n" + format(values) + "\n"
|
5864
|
+
}
|
5865
|
+
return out;
|
5866
|
+
};
|
5867
|
+
|
5868
|
+
module.exports = inspect;
|
5869
|
+
|
5870
|
+
});
|
5871
|
+
require.register("autoprefixer/lib/autoprefixer.js", function(exports, require, module){
|
5872
|
+
/*
|
5873
|
+
* Copyright 2013 Andrey Sitnik <andrey@sitnik.ru>,
|
5874
|
+
* sponsored by Evil Martians.
|
5875
|
+
*
|
5876
|
+
* This program is free software: you can redistribute it and/or modify
|
5877
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
5878
|
+
* the Free Software Foundation, either version 3 of the License, or
|
5879
|
+
* (at your option) any later version.
|
5880
|
+
*
|
5881
|
+
* This program is distributed in the hope that it will be useful,
|
5882
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
5883
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
5884
|
+
* GNU Lesser General Public License for more details.
|
5885
|
+
*
|
5886
|
+
* You should have received a copy of the GNU Lesser General Public License
|
5887
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
5888
|
+
*/
|
5889
|
+
'use strict';
|
5890
|
+
|
5891
|
+
var rework = require('rework');
|
5892
|
+
|
5893
|
+
// Return array, that doesn’t contain duplicates.
|
5894
|
+
var uniq = function (array) {
|
5895
|
+
var filtered = [];
|
5896
|
+
array.forEach(function (i) {
|
5897
|
+
if ( filtered.indexOf(i) === -1 ) {
|
5898
|
+
filtered.push(i);
|
5899
|
+
}
|
5900
|
+
});
|
5901
|
+
return filtered;
|
5902
|
+
};
|
5903
|
+
|
5904
|
+
// Parse CSS and add prefixed properties and values by Can I Use database
|
5905
|
+
// for actual browsers.
|
5906
|
+
//
|
5907
|
+
// var prefixed = autoprefixer.compile(css);
|
5908
|
+
//
|
5909
|
+
// By default, it add prefixes for last 2 releases of each browsers.
|
5910
|
+
// You can use global statistics to select browsers:
|
5911
|
+
//
|
5912
|
+
// autoprefixer.compile(css, '> 1%');
|
5913
|
+
//
|
5914
|
+
// versions fo each browsers:
|
5915
|
+
//
|
5916
|
+
// autoprefixer.compile(css, 'last 1 version');
|
5917
|
+
//
|
5918
|
+
// or set them manually:
|
5919
|
+
//
|
5920
|
+
// autoprefixer.compile(css, ['chrome 26', 'ff 20', 'ie 10']);
|
5921
|
+
//
|
5922
|
+
// If you want to combine Autoprefixer with another Rework filters,
|
5923
|
+
// you can use it as separated filter:
|
5924
|
+
//
|
5925
|
+
// rework(css).
|
5926
|
+
// use(autoprefixer.filter(last 1 version')).
|
5927
|
+
// toString();
|
5928
|
+
var autoprefixer = {
|
5929
|
+
// Load data
|
5930
|
+
data: {
|
5931
|
+
browsers: require('../data/browsers'),
|
5932
|
+
props: require('../data/props')
|
5658
5933
|
},
|
5659
5934
|
|
5660
5935
|
// Parse `css` by Rework and add prefixed properties for browsers
|
@@ -5799,5 +6074,52 @@ var autoprefixer = {
|
|
5799
6074
|
}
|
5800
6075
|
};
|
5801
6076
|
|
5802
|
-
|
5803
|
-
|
6077
|
+
module.exports = autoprefixer;
|
6078
|
+
|
6079
|
+
});
|
6080
|
+
require.alias("visionmedia-rework/index.js", "autoprefixer/deps/rework/index.js");
|
6081
|
+
require.alias("visionmedia-rework/lib/rework.js", "autoprefixer/deps/rework/lib/rework.js");
|
6082
|
+
require.alias("visionmedia-rework/lib/utils.js", "autoprefixer/deps/rework/lib/utils.js");
|
6083
|
+
require.alias("visionmedia-rework/lib/visit.js", "autoprefixer/deps/rework/lib/visit.js");
|
6084
|
+
require.alias("visionmedia-rework/lib/properties.js", "autoprefixer/deps/rework/lib/properties.js");
|
6085
|
+
require.alias("visionmedia-rework/lib/plugins/function.js", "autoprefixer/deps/rework/lib/plugins/function.js");
|
6086
|
+
require.alias("visionmedia-rework/lib/plugins/url.js", "autoprefixer/deps/rework/lib/plugins/url.js");
|
6087
|
+
require.alias("visionmedia-rework/lib/plugins/vars.js", "autoprefixer/deps/rework/lib/plugins/vars.js");
|
6088
|
+
require.alias("visionmedia-rework/lib/plugins/ease.js", "autoprefixer/deps/rework/lib/plugins/ease.js");
|
6089
|
+
require.alias("visionmedia-rework/lib/plugins/at2x.js", "autoprefixer/deps/rework/lib/plugins/at2x.js");
|
6090
|
+
require.alias("visionmedia-rework/lib/plugins/colors.js", "autoprefixer/deps/rework/lib/plugins/colors.js");
|
6091
|
+
require.alias("visionmedia-rework/lib/plugins/extend.js", "autoprefixer/deps/rework/lib/plugins/extend.js");
|
6092
|
+
require.alias("visionmedia-rework/lib/plugins/mixin.js", "autoprefixer/deps/rework/lib/plugins/mixin.js");
|
6093
|
+
require.alias("visionmedia-rework/lib/plugins/keyframes.js", "autoprefixer/deps/rework/lib/plugins/keyframes.js");
|
6094
|
+
require.alias("visionmedia-rework/lib/plugins/references.js", "autoprefixer/deps/rework/lib/plugins/references.js");
|
6095
|
+
require.alias("visionmedia-rework/lib/plugins/opacity.js", "autoprefixer/deps/rework/lib/plugins/opacity.js");
|
6096
|
+
require.alias("visionmedia-rework/lib/plugins/prefix-selectors.js", "autoprefixer/deps/rework/lib/plugins/prefix-selectors.js");
|
6097
|
+
require.alias("visionmedia-rework/lib/plugins/prefix-value.js", "autoprefixer/deps/rework/lib/plugins/prefix-value.js");
|
6098
|
+
require.alias("visionmedia-rework/lib/plugins/media.js", "autoprefixer/deps/rework/lib/plugins/media.js");
|
6099
|
+
require.alias("visionmedia-rework/lib/plugins/prefix.js", "autoprefixer/deps/rework/lib/plugins/prefix.js");
|
6100
|
+
require.alias("visionmedia-css/index.js", "visionmedia-rework/deps/css/index.js");
|
6101
|
+
require.alias("visionmedia-css-parse/index.js", "visionmedia-css/deps/css-parse/index.js");
|
6102
|
+
|
6103
|
+
require.alias("visionmedia-css-stringify/index.js", "visionmedia-css/deps/css-stringify/index.js");
|
6104
|
+
|
6105
|
+
require.alias("visionmedia-debug/index.js", "visionmedia-rework/deps/debug/index.js");
|
6106
|
+
require.alias("visionmedia-debug/debug.js", "visionmedia-rework/deps/debug/debug.js");
|
6107
|
+
|
6108
|
+
require.alias("component-color-parser/index.js", "visionmedia-rework/deps/color-parser/index.js");
|
6109
|
+
require.alias("component-color-parser/colors.js", "visionmedia-rework/deps/color-parser/colors.js");
|
6110
|
+
|
6111
|
+
require.alias("component-path/index.js", "visionmedia-rework/deps/path/index.js");
|
6112
|
+
|
6113
|
+
require.register('visionmedia-rework/lib/plugins/inline.js', function(_, _, module){
|
6114
|
+
module.exports = function () {};
|
6115
|
+
});
|
6116
|
+
|
6117
|
+
var autoprefixer = require('autoprefixer/lib/autoprefixer.js');
|
6118
|
+
autoprefixer.inspect = require('autoprefixer/lib/autoprefixer/inspect.js');
|
6119
|
+
if (typeof exports == 'object') {
|
6120
|
+
module.exports = autoprefixer;
|
6121
|
+
} else if (typeof define == 'function' && define.amd) {
|
6122
|
+
define(function(){ return autoprefixer; });
|
6123
|
+
} else {
|
6124
|
+
this['autoprefixer'] = autoprefixer;
|
6125
|
+
} })();
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autoprefixer-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.20130413
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: execjs
|
@@ -27,8 +27,8 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
-
description:
|
31
|
-
|
30
|
+
description: Parse CSS and add prefixed properties and values by Can I Use database
|
31
|
+
for actual browsers
|
32
32
|
email: andrey@sitnik.ru
|
33
33
|
executables: []
|
34
34
|
extensions: []
|
@@ -50,7 +50,9 @@ files:
|
|
50
50
|
- lib/autoprefixer-rails.rb
|
51
51
|
- lib/autoprefixer-rails/railtie.rb
|
52
52
|
- lib/autoprefixer-rails/version.rb
|
53
|
+
- lib/rake/autoprefixer_tasks.rb
|
53
54
|
- spec/app/.gitignore
|
55
|
+
- spec/app/Rakefile
|
54
56
|
- spec/app/app/assets/stylesheets/test.css
|
55
57
|
- spec/app/app/controllers/application_controller.rb
|
56
58
|
- spec/app/app/controllers/css_controller.rb
|
@@ -80,7 +82,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
80
82
|
version: '0'
|
81
83
|
segments:
|
82
84
|
- 0
|
83
|
-
hash:
|
85
|
+
hash: 3802016816897382572
|
84
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
87
|
none: false
|
86
88
|
requirements:
|
@@ -89,11 +91,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
91
|
version: '0'
|
90
92
|
segments:
|
91
93
|
- 0
|
92
|
-
hash:
|
94
|
+
hash: 3802016816897382572
|
93
95
|
requirements: []
|
94
96
|
rubyforge_project:
|
95
97
|
rubygems_version: 1.8.23
|
96
98
|
signing_key:
|
97
99
|
specification_version: 3
|
98
|
-
summary: Parse CSS and add only actual prefixed
|
100
|
+
summary: Parse CSS and add only actual prefixed by Can I Use database
|
99
101
|
test_files: []
|