From c9910a8ddb4e77c2c692f09ddbb57b2a217208aa Mon Sep 17 00:00:00 2001 From: n1474335 Date: Wed, 22 Mar 2017 16:55:21 +0000 Subject: [PATCH] Banners and template options added through webpack --- Gruntfile.js | 22 ++++++++++++------- src/css/lib/bootstrap.less | 2 +- src/js/.eslintrc.json | 33 ++--------------------------- src/js/views/html/ControlsWaiter.js | 2 +- src/js/views/html/main.js | 6 +++--- 5 files changed, 21 insertions(+), 44 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 2e8b646f..7df4c380 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -60,7 +60,8 @@ module.exports = function(grunt) { grunt.loadNpmTasks("grunt-contrib-watch"); - var banner = '/**\n\ + var compileTime = grunt.template.today("dd/mm/yyyy HH:MM:ss") + " UTC", + banner = '/**\n\ * CyberChef - The Cyber Swiss Army Knife\n\ *\n\ * @copyright Crown Copyright 2016\n\ @@ -83,7 +84,7 @@ module.exports = function(grunt) { var templateOptions = { data: { - compileTime: grunt.template.today("dd/mm/yyyy HH:MM:ss") + " UTC", + compileTime: compileTime, compileMsg: grunt.option("compile-msg") || grunt.option("msg") || "", codebaseStats: grunt.file.read("src/static/stats.txt").split("\n").join("
") } @@ -131,7 +132,16 @@ module.exports = function(grunt) { $: "jquery", jQuery: "jquery", moment: "moment-timezone" - }) + }), + new webpack.BannerPlugin({ + "banner": banner, + "raw": true, + "entryOnly": true + }), + new webpack.DefinePlugin({ + COMPILE_TIME: JSON.stringify(compileTime), + COMPILE_MSG: JSON.stringify(grunt.option("compile-msg") || grunt.option("msg") || "") + }), ], resolve: { alias: { @@ -233,10 +243,6 @@ module.exports = function(grunt) { src: "src/html/index.html", dest: "build/dev/index.html" }, - htmlTest: { - src: "test/test.html", - dest: "build/test/index.html" - }, htmlProd: { options: { process: function(content, srcpath) { @@ -446,7 +452,7 @@ module.exports = function(grunt) { }, watch: { css: { - files: "src/css/**/*.css", + files: ["src/css/**/*.css", "src/css/**/*.less"], tasks: ["webpack:web", "chmod:build"] }, js: { diff --git a/src/css/lib/bootstrap.less b/src/css/lib/bootstrap.less index 9c974b49..f71b6ee7 100644 --- a/src/css/lib/bootstrap.less +++ b/src/css/lib/bootstrap.less @@ -29,7 +29,7 @@ @import "~bootstrap/less/dropdowns.less"; @import "~bootstrap/less/button-groups.less"; @import "~bootstrap/less/input-groups.less"; -// @import "~bootstrap/less/navs.less"; +@import "~bootstrap/less/navs.less"; // @import "~bootstrap/less/navbar.less"; // @import "~bootstrap/less/breadcrumbs.less"; // @import "~bootstrap/less/pagination.less"; diff --git a/src/js/.eslintrc.json b/src/js/.eslintrc.json index ffac0952..1e91ad34 100755 --- a/src/js/.eslintrc.json +++ b/src/js/.eslintrc.json @@ -91,36 +91,7 @@ "jQuery": false, "moment": false, - /* core/* */ - "Chef": false, - "Dish": false, - "Recipe": false, - "Ingredient": false, - "Operation": false, - "Utils": false, - - /* config/* */ - "Categories": false, - "OperationConfig": false, - - /* views/html/* */ - "HTMLApp": false, - "HTMLCategory": false, - "HTMLOperation": false, - "HTMLIngredient": false, - "Manager": false, - "ControlsWaiter": false, - "HighlighterWaiter": false, - "InputWaiter": false, - "OperationsWaiter": false, - "OptionsWaiter": false, - "OutputWaiter": false, - "RecipeWaiter": false, - "SeasonalWaiter": false, - "WindowWaiter": false, - - /* test/* */ - "TestRegister": false, - "TestRunner": false + "COMPILE_TIME": false, + "COMPILE_MSG": false } } diff --git a/src/js/views/html/ControlsWaiter.js b/src/js/views/html/ControlsWaiter.js index bf75df80..58c35846 100755 --- a/src/js/views/html/ControlsWaiter.js +++ b/src/js/views/html/ControlsWaiter.js @@ -354,7 +354,7 @@ ControlsWaiter.prototype.supportButtonClick = function() { var reportBugInfo = document.getElementById("report-bug-info"), saveLink = this.generateStateUrl(true, true, null, "https://gchq.github.io/CyberChef/"); - reportBugInfo.innerHTML = "* CyberChef compile time: <%= compileTime %>\n" + + reportBugInfo.innerHTML = "* CyberChef compile time: " + COMPILE_TIME + "\n" + "* User-Agent: \n" + navigator.userAgent + "\n" + "* [Link to reproduce](" + saveLink + ")\n\n"; }; diff --git a/src/js/views/html/main.js b/src/js/views/html/main.js index b5351a5d..a22a36f2 100755 --- a/src/js/views/html/main.js +++ b/src/js/views/html/main.js @@ -7,7 +7,7 @@ var HTMLApp = require("./HTMLApp.js"), Categories = require("../../config/Categories.js"), OperationConfig = require("../../config/OperationConfig.js"), - CanvasComponents = require("../../lib/canvascomponents.js");; + CanvasComponents = require("../../lib/canvascomponents.js"); /** * Main function used to build the CyberChef web app. @@ -45,7 +45,7 @@ var main = function() { // Fix issues with browsers that don't support console.log() window.console = console || {log: function() {}, error: function() {}}; -window.compileTime = moment.tz("<%= compileTime %>", "DD/MM/YYYY HH:mm:ss z", "UTC").valueOf(); -window.compileMessage = "<%= compileMsg %>"; +window.compileTime = moment.tz(COMPILE_TIME, "DD/MM/YYYY HH:mm:ss z", "UTC").valueOf(); +window.compileMessage = COMPILE_MSG; document.addEventListener("DOMContentLoaded", main, false);