diff --git a/luciexpress/Gruntfile.js b/luciexpress/Gruntfile.js index a1979120a..95db80927 100644 --- a/luciexpress/Gruntfile.js +++ b/luciexpress/Gruntfile.js @@ -94,7 +94,81 @@ module.exports = function(grunt){ else next(); }); console.log(files); + }); + grunt.registerTask("compile", "Compile all files into a single file", function(){ + var libfiles = [ + "htdocs/lib/js/async.js", + "htdocs/lib/js/js-schema.min.js", + "htdocs/lib/js/require.js", + "htdocs/lib/js/jquery.min.js", + "htdocs/lib/js/angular.min.js", + "htdocs/lib/js/angular-ui.min.js", + "htdocs/lib/js/angular-ui-router.min.js", + "htdocs/lib/js/angular-gettext.min.js", + "htdocs/lib/js/bootstrap-select.min.js", + "htdocs/lib/js/select.min.js", + "htdocs/lib/js/angular-animate.min.js", + "htdocs/lib/js/angular-ui-bootstrap-luci.min.js", + "htdocs/lib/js/jquery-jsonrpc.js", + "htdocs/lib/js/translations.js", + "htdocs/lib/js/bootstrap.min.js", + "htdocs/lib/js/angular-ui-switch.min.js", + "htdocs/lib/js/angular-modal-service.min.js", + "htdocs/lib/js/angular-checklist-model.js" + ]; + var appfiles = [ + "htdocs/js/rpc.js", + "htdocs/js/uci.js", + "htdocs/js/juci.js", + "htdocs/js/app.js", + "htdocs/js/localStorage.js", + "htdocs/js/config.js", + "htdocs/js/navigation.js", + "htdocs/js/status.js", + "htdocs/js/tr.js", + "htdocs/js/theme.js", + "htdocs/js/timeout.js" + ]; + + var otherfiles = grunt.file.expand(["./htdocs/plugins/**/*.js", "./htdocs/themes/vodafone/**/*.js"]).filter(function(x){ + return !x.match(/.*\/test-.*\.js/) && !x.match(/.*\.test\.js/); + }); + var htmlfiles = grunt.file.expand(["htdocs/**/*.html"]); + + var all = libfiles.concat(appfiles).concat(otherfiles); + var templates = {}; + htmlfiles.map(function(name){ + templates[name.replace("htdocs/", "")] = String(fs.readFileSync(name)); + }); + fs.writeFileSync("htdocs/__all.js", "var JUCI_COMPILED = 1; var JUCI_TEMPLATES = "+JSON.stringify(templates)+";"+all.map(function(name){ return fs.readFileSync(name); }).join("\n")); // REALLY? + //fs.writeFileSync("htdocs/__templates.js", JSON.stringify(templates)); }); grunt.registerTask('default', ['nggettext_extract', 'nggettext_compile', "extract_titles", "compile_pot"]); } +/* + +LIBFILES=(htdocs/lib/js/async.js htdocs/lib/js/js-schema.min.js htdocs/lib/js/require.js htdocs/lib/js/jquery.min.js htdocs/lib/js/angular.min.js htdocs/lib/js/angular-ui.min.js htdocs/lib/js/angular-ui-router.min.js htdocs/lib/js/angular-gettext.min.js htdocs/lib/js/bootstrap-select.min.js htdocs/lib/js/select.min.js htdocs/lib/js/angular-animate.min.js htdocs/lib/js/angular-ui-bootstrap-luci.min.js htdocs/lib/js/jquery-jsonrpc.js htdocs/lib/js/translations.js htdocs/lib/js/bootstrap.min.js htdocs/lib/js/angular-ui-switch.min.js htdocs/lib/js/angular-modal-service.min.js htdocs/lib/js/angular-checklist-model.js) +PLUGINFILES=$(find htdocs/plugins -type f -name "*js" | grep -v "test-" | grep -v ".test.js" | grep -v ".notest.js") +THEMEFILES=$(find htdocs/themes -type f -name "*js" | grep -v "test-" | grep -v ".test.js" | grep -v ".notest.js") +COREFILES=(htdocs/js/rpc.js htdocs/js/uci.js htdocs/js/juci.js htdocs/js/app.js htdocs/js/localStorage.js htdocs/js/config.js htdocs/js/navigation.js htdocs/js/status.js htdocs/js/session.js htdocs/js/tr.js htdocs/js/theme.js htdocs/js/timeout.js) +FILES=("${LIBFILES[@]}" "${COREFILES[@]}" "${PLUGINFILES[@]}" "${THEMEFILES[@]}"); + +echo "var JUCI_COMPILED = 1;" > htdocs/__all.js +for file in ${FILES[@]}; do + echo "FILE: $file"; + echo ";" >> htdocs/__all.js; + cat $file >> htdocs/__all.js; +done; + +HTMLFILES=$(find htdocs -type f -name "*html"|grep -v "index.html" | grep -v "__all.html") + +echo "" > htdocs/__all.html +for file in ${HTMLFILES[@]}; do + file=$(echo $file | sed 's/htdocs\///gi') + echo "HTML: $file"; + echo "' >> htdocs/__all.html; +done; +*/ diff --git a/luciexpress/compile.sh b/luciexpress/compile.sh index 2a91dbb6e..3783532f0 100644 --- a/luciexpress/compile.sh +++ b/luciexpress/compile.sh @@ -1,12 +1,16 @@ LIBFILES=(htdocs/lib/js/async.js htdocs/lib/js/js-schema.min.js htdocs/lib/js/require.js htdocs/lib/js/jquery.min.js htdocs/lib/js/angular.min.js htdocs/lib/js/angular-ui.min.js htdocs/lib/js/angular-ui-router.min.js htdocs/lib/js/angular-gettext.min.js htdocs/lib/js/bootstrap-select.min.js htdocs/lib/js/select.min.js htdocs/lib/js/angular-animate.min.js htdocs/lib/js/angular-ui-bootstrap-luci.min.js htdocs/lib/js/jquery-jsonrpc.js htdocs/lib/js/translations.js htdocs/lib/js/bootstrap.min.js htdocs/lib/js/angular-ui-switch.min.js htdocs/lib/js/angular-modal-service.min.js htdocs/lib/js/angular-checklist-model.js) -PLUGINFILES=$(find htdocs/plugins -type f -name "*js" | grep -v "test-") -THEMEFILES=$(find htdocs/themes -type f -name "*js" | grep -v "test-") +PLUGINFILES=$(find htdocs/plugins -type f -name "*js" | grep -v "test-" | grep -v ".test.js" | grep -v ".notest.js") +THEMEFILES=$(find htdocs/themes -type f -name "*js" | grep -v "test-" | grep -v ".test.js" | grep -v ".notest.js") COREFILES=(htdocs/js/rpc.js htdocs/js/uci.js htdocs/js/juci.js htdocs/js/app.js htdocs/js/localStorage.js htdocs/js/config.js htdocs/js/navigation.js htdocs/js/status.js htdocs/js/session.js htdocs/js/tr.js htdocs/js/theme.js htdocs/js/timeout.js) FILES=("${LIBFILES[@]}" "${COREFILES[@]}" "${PLUGINFILES[@]}" "${THEMEFILES[@]}"); echo "var JUCI_COMPILED = 1;" > htdocs/__all.js for file in ${FILES[@]}; do - echo "FILE: $file"; + echo "\"$file\"," +done; + +for file in ${FILES[@]}; do + #echo "FILE: $file"; echo ";" >> htdocs/__all.js; cat $file >> htdocs/__all.js; done; diff --git a/luciexpress/htdocs/index.html b/luciexpress/htdocs/index.html index a2edb925b..4c3ee6809 100644 --- a/luciexpress/htdocs/index.html +++ b/luciexpress/htdocs/index.html @@ -22,8 +22,8 @@
- - + +