dd8fb8b4b436da32577dc4fcde12a35463b86372
1 var fs
= require('fs'),
2 uglyfyJS
= require('uglify-js'),
4 config
= require('./../../../server/configuration.js');
6 var FILE_ENCODING
= 'utf-8',
10 function concat(src
) {
12 var out
= file_list
.map(function(file_path
){
13 return fs
.readFileSync(file_path
, FILE_ENCODING
) + '\n\n';
28 * Build the _kiwi.js files
32 __dirname
+ '/app.js',
33 __dirname
+ '/models/application.js',
34 __dirname
+ '/models/gateway.js',
35 __dirname
+ '/models/network.js',
36 __dirname
+ '/models/member.js',
37 __dirname
+ '/models/memberlist.js',
38 __dirname
+ '/models/newconnection.js',
39 __dirname
+ '/models/panel.js',
40 __dirname
+ '/models/panellist.js',
41 __dirname
+ '/models/networkpanellist.js',
42 __dirname
+ '/models/query.js',
43 __dirname
+ '/models/channel.js',
44 __dirname
+ '/models/server.js',
45 __dirname
+ '/models/applet.js',
46 __dirname
+ '/models/pluginmanager.js',
47 __dirname
+ '/models/datastore.js',
49 __dirname
+ '/applets/settings.js',
50 __dirname
+ '/applets/chanlist.js',
51 __dirname
+ '/applets/scripteditor.js',
53 __dirname
+ '/helpers/utils.js',
55 __dirname
+ '/views/panel.js',
56 __dirname
+ '/views/channel.js',
57 __dirname
+ '/views/applet.js',
58 __dirname
+ '/views/application.js',
59 __dirname
+ '/views/apptoolbar.js',
60 __dirname
+ '/views/controlbox.js',
61 __dirname
+ '/views/mediamessage.js',
62 __dirname
+ '/views/member.js',
63 __dirname
+ '/views/memberlist.js',
64 __dirname
+ '/views/menubox.js',
65 __dirname
+ '/views/networktabs.js',
66 __dirname
+ '/views/nickchangebox.js',
67 __dirname
+ '/views/resizehandler.js',
68 __dirname
+ '/views/serverselect.js',
69 __dirname
+ '/views/statusmessage.js',
70 __dirname
+ '/views/tabs.js',
71 __dirname
+ '/views/topicbar.js',
72 __dirname
+ '/views/userbox.js'
76 src
= '(function (global, undefined) {\n\n' + src
+ '\n\n})(window);';
79 fs
.writeFileSync(__dirname
+ '/../kiwi.js', src
, FILE_ENCODING
);
82 src
= uglyfyJS
.parser
.parse(src
);
83 src
= uglyfyJS
.uglify
.ast_mangle(src
);
84 src
= uglyfyJS
.uglify
.ast_squeeze(src
);
85 fs
.writeFileSync(__dirname
+ '/../kiwi.min.js', uglyfyJS
.uglify
.gen_code(src
), FILE_ENCODING
);
90 console
.log('kiwi.js and kiwi.min.js built');
102 * Build the index.html file
105 var index_src
= fs
.readFileSync(__dirname
+ '/index.html.tmpl', FILE_ENCODING
);
107 base_path
: config
.get().http_base_path
|| '/kiwi',
108 cache_buster
: Math
.ceil(Math
.random() * 9000).toString(),
113 // Any restricted server mode set?
114 if (config
.get().restrict_server
) {
115 vars
.server_settings
= {
117 server
: config
.get().restrict_server
,
118 port
: config
.get().restrict_server_port
|| 6667,
119 ssl
: config
.get().restrict_server_ssl
,
120 channel
: config
.get().restrict_server_channel
,
121 nick
: config
.get().restrict_server_nick
,
127 // Any client default settings?
128 if (config
.get().client
) {
129 vars
.server_settings
.client
= config
.get().client
;
132 // Any client plugins?
133 if (config
.get().client_plugins
&& config
.get().client_plugins
.length
> 0) {
134 vars
.client_plugins
= config
.get().client_plugins
;
137 _
.each(vars
, function(value
, key
) {
138 if (typeof value
=== 'object') value
= JSON
.stringify(value
);
139 index_src
= index_src
.replace(new RegExp('<%' + key
+ '%>', 'g'), value
);
142 fs
.writeFileSync(__dirname
+ '/../../index.html', index_src
, FILE_ENCODING
);
145 console
.log('index.html built');