mirror of
https://github.com/wahyd4/cdnjs.git
synced 2026-08-09 04:46:00 +10:00
updated package.json with minify.js deps, added minify.js
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
var cleanCSS = require('clean-css');
|
||||
var UglifyJS = require("uglify-js");
|
||||
var glob = require('glob');
|
||||
var fs = require('fs');
|
||||
var natcompare = require('./natcompare.js');
|
||||
|
||||
var packages = Array();
|
||||
|
||||
glob("../ajax/libs/**/package.json", function (error, matches) {
|
||||
matches.forEach(function(element){
|
||||
var package = JSON.parse(fs.readFileSync(element, 'utf8'));
|
||||
package.assets = Array();
|
||||
var versions = glob.sync("../ajax/libs/"+package.name+"/!(package.json)");
|
||||
versions.forEach(function(version) {
|
||||
var temp = Object();
|
||||
temp.version = version.replace(/^.+\//, "");
|
||||
temp.files = glob.sync(version + "/**/*.*");
|
||||
|
||||
for (var i = 0; i < temp.files.length; i++){
|
||||
var regex = /(?:^.+\/)?(.+?)([\.-](?:min))?\.((?:js)|(?:css))$/ig;
|
||||
var result = regex.exec(temp.files[i]);
|
||||
//result[0] Original Input
|
||||
//result[1] Filename
|
||||
//result[2] -/.min
|
||||
//result[3] file extension
|
||||
|
||||
if (result == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (typeof result[2] !== "undefined") {
|
||||
continue;
|
||||
}
|
||||
|
||||
var min_exists = false;
|
||||
for (var j = 0; j < temp.files.length; j++) {
|
||||
var regex = /(?:^.+\/)?(.+?)([\.-](?:min))?\.((?:js)|(?:css))$/ig;
|
||||
var exists = regex.exec(temp.files[j]);
|
||||
if (exists == null || exists[0] == result[0]) { //Matching Same File
|
||||
continue;
|
||||
}
|
||||
//Same name, same extension
|
||||
if (exists[1] == result[1] && exists[3] == result[3] && typeof exists[2] !== "undefined") {
|
||||
min_exists = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!min_exists) {
|
||||
if (result[3] == "js") {
|
||||
var source = fs.readFileSync(temp.files[i], 'utf8');
|
||||
var minimized = UglifyJS.minify(source, {fromString: true});
|
||||
fs.writeFileSync(version + "/" + result[1] + ".min.js", minimized, 'utf8');
|
||||
console.log("minimized file: " + version + "/" + result[1] + ".min.js");
|
||||
} else if (result[3] == "css") {
|
||||
var source = fs.readFileSync(temp.files[i], 'utf8');
|
||||
var minimized = cleanCSS.process(source);
|
||||
fs.writeFileSync(version + "/" + result[1] + ".min.css", minimized, 'utf8');
|
||||
console.log("minimized file: " + version + "/" + result[1] + ".min.css");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
+8
-6
@@ -8,17 +8,19 @@
|
||||
"type": "git",
|
||||
"url": "git://github.com/cdnjs/cdnjs.git"
|
||||
},
|
||||
|
||||
"scripts": {
|
||||
"build": "./build/build.js",
|
||||
"test": "vows"
|
||||
},
|
||||
"dependencies": {},
|
||||
"dependencies": {
|
||||
"clean-css": "~0.10.2",
|
||||
"uglify-js": "~2.2.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"glob": "3.1.9",
|
||||
"jslint": "0.1.8",
|
||||
"vows": "0.7.0",
|
||||
"JSV": "4.0.1"
|
||||
"glob": "3.1.9",
|
||||
"jslint": "0.1.8",
|
||||
"vows": "0.7.0",
|
||||
"JSV": "4.0.1"
|
||||
},
|
||||
"optionalDependencies": {},
|
||||
"engines": {
|
||||
|
||||
Reference in New Issue
Block a user