− Add canvas support check
[KiwiIRC.git] / client / assets / src / build.js
index dd8fb8b4b436da32577dc4fcde12a35463b86372..28886d57419ae6b475777ee6531ffcf662fcc536 100644 (file)
@@ -1,5 +1,5 @@
 var fs        = require('fs'),\r
-    uglyfyJS  = require('uglify-js'),\r
+    uglifyJS  = require('uglify-js'),\r
     _         = require('lodash'),\r
     config    = require('./../../../server/configuration.js');\r
 \r
@@ -21,14 +21,7 @@ function concat(src) {
 config.loadConfig();\r
 \r
 \r
-\r
-\r
-\r
-/**\r
- * Build the _kiwi.js files\r
- */\r
-\r
-var src = concat([\r
+var source_files = [\r
     __dirname + '/app.js',\r
     __dirname + '/models/application.js',\r
     __dirname + '/models/gateway.js',\r
@@ -58,6 +51,7 @@ var src = concat([
     __dirname + '/views/application.js',\r
     __dirname + '/views/apptoolbar.js',\r
     __dirname + '/views/controlbox.js',\r
+    __dirname + '/views/favicon.js',\r
     __dirname + '/views/mediamessage.js',\r
     __dirname + '/views/member.js',\r
     __dirname + '/views/memberlist.js',\r
@@ -70,19 +64,31 @@ var src = concat([
     __dirname + '/views/tabs.js',\r
     __dirname + '/views/topicbar.js',\r
     __dirname + '/views/userbox.js'\r
-]);\r
+];\r
 \r
 \r
+/**\r
+ * Build the kiwi.js/kiwi.min.js files\r
+ */\r
+var src = concat(source_files);\r
 src = '(function (global, undefined) {\n\n' + src + '\n\n})(window);';\r
 \r
 \r
 fs.writeFileSync(__dirname + '/../kiwi.js', src, FILE_ENCODING);\r
 \r
+// Uglify can take take an array of filenames to produce minified code\r
+// but it's not wraped in an IIFE and produces a slightly larger file\r
+//src = uglifyJS.minify(source_files);\r
+\r
+var ast = uglifyJS.parse(src, {filename: 'kiwi.js'});\r
+ast.figure_out_scope();\r
+ast = ast.transform(uglifyJS.Compressor({warnings: false}));\r
+ast.figure_out_scope();\r
+ast.compute_char_frequency();\r
+ast.mangle_names();\r
+src = ast.print_to_string();\r
 \r
-src = uglyfyJS.parser.parse(src);\r
-src = uglyfyJS.uglify.ast_mangle(src);\r
-src = uglyfyJS.uglify.ast_squeeze(src);\r
-fs.writeFileSync(__dirname + '/../kiwi.min.js', uglyfyJS.uglify.gen_code(src), FILE_ENCODING);\r
+fs.writeFileSync(__dirname + '/../kiwi.min.js', src, FILE_ENCODING);\r
 \r
 \r
 \r