X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=client%2Fassets%2Fsrc%2Fbuild.js;h=28886d57419ae6b475777ee6531ffcf662fcc536;hb=9e2e2fc545cb204668600abb47972079de2dc7fb;hp=313f1e2c3e7e3755b6636d2d5b25f5fd1e20eb48;hpb=2d22d7e287a9b232992c091f2fe1f78dd64c73dd;p=KiwiIRC.git diff --git a/client/assets/src/build.js b/client/assets/src/build.js index 313f1e2..28886d5 100644 --- a/client/assets/src/build.js +++ b/client/assets/src/build.js @@ -1,5 +1,5 @@ var fs = require('fs'), - uglyfyJS = require('uglify-js'), + uglifyJS = require('uglify-js'), _ = require('lodash'), config = require('./../../../server/configuration.js'); @@ -21,14 +21,7 @@ function concat(src) { config.loadConfig(); - - - -/** - * Build the _kiwi.js files - */ - -var src = concat([ +var source_files = [ __dirname + '/app.js', __dirname + '/models/application.js', __dirname + '/models/gateway.js', @@ -47,25 +40,55 @@ var src = concat([ __dirname + '/models/datastore.js', __dirname + '/applets/settings.js', - __dirname + '/applets/nickserv.js', __dirname + '/applets/chanlist.js', __dirname + '/applets/scripteditor.js', - __dirname + '/utils.js', - __dirname + '/view.js' -]); + __dirname + '/helpers/utils.js', + + __dirname + '/views/panel.js', + __dirname + '/views/channel.js', + __dirname + '/views/applet.js', + __dirname + '/views/application.js', + __dirname + '/views/apptoolbar.js', + __dirname + '/views/controlbox.js', + __dirname + '/views/favicon.js', + __dirname + '/views/mediamessage.js', + __dirname + '/views/member.js', + __dirname + '/views/memberlist.js', + __dirname + '/views/menubox.js', + __dirname + '/views/networktabs.js', + __dirname + '/views/nickchangebox.js', + __dirname + '/views/resizehandler.js', + __dirname + '/views/serverselect.js', + __dirname + '/views/statusmessage.js', + __dirname + '/views/tabs.js', + __dirname + '/views/topicbar.js', + __dirname + '/views/userbox.js' +]; +/** + * Build the kiwi.js/kiwi.min.js files + */ +var src = concat(source_files); src = '(function (global, undefined) {\n\n' + src + '\n\n})(window);'; fs.writeFileSync(__dirname + '/../kiwi.js', src, FILE_ENCODING); +// Uglify can take take an array of filenames to produce minified code +// but it's not wraped in an IIFE and produces a slightly larger file +//src = uglifyJS.minify(source_files); + +var ast = uglifyJS.parse(src, {filename: 'kiwi.js'}); +ast.figure_out_scope(); +ast = ast.transform(uglifyJS.Compressor({warnings: false})); +ast.figure_out_scope(); +ast.compute_char_frequency(); +ast.mangle_names(); +src = ast.print_to_string(); -src = uglyfyJS.parser.parse(src); -src = uglyfyJS.uglify.ast_mangle(src); -src = uglyfyJS.uglify.ast_squeeze(src); -fs.writeFileSync(__dirname + '/../kiwi.min.js', uglyfyJS.uglify.gen_code(src), FILE_ENCODING); +fs.writeFileSync(__dirname + '/../kiwi.min.js', src, FILE_ENCODING);