autoprefixer-rails 0.1.20130409 → 0.2.20130413
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.
- 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: []
|