-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathclosecss.js
More file actions
executable file
·54 lines (42 loc) · 1.59 KB
/
closecss.js
File metadata and controls
executable file
·54 lines (42 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env node
(function() {
var cli = require('cli');
var fs = require('fs');
var closecss = require('./index');
//check if has been included by another module
if(!module.parent) {
cli.enable('version', 'status', 'glob');
cli.parse({
input: [ 'i', 'Source path to process close files', 'file', './src'],
output: [ 'o', 'Destination path for compiled CSS output', 'file', './dest'],
});
cli.main(function(args, options) {
var progress = 0;
var numfiles = 0;
console.log('Getting closer...\n');
if (!fs.existsSync(options.output)){
fs.mkdirSync(options.output);
}
args.forEach(function(element, index, array){
if(element.indexOf('.close') < 1) return;
numfiles++;
cli.progress(numfiles * 1.0/args.length);
var tokens = element.split('/');
var filename = tokens[tokens.length -1].replace('.close', '');
var target = (options.output.lastIndexOf('/') === options.output.length -1) ?
options.output + filename + '.css' :
options.output + '/' + filename + '.css';
var css = fs.readFile(element, 'utf-8', function (err, data){
if(err) return console.log(err);
closecss
.process(data, {from: element, to: target})
.then(function(result) {
fs.writeFile(target, result);
});
});
});
console.log('\nStatus: ' + numfiles + ' Files Completed');
console.log('\nSummary: Who cares...CLOSE ENOUGH!!');
});
}
}());