소스 검색

Banners and template options added through webpack

n1474335 8 년 전
부모
커밋
c9910a8ddb
5개의 변경된 파일21개의 추가작업 그리고 44개의 파일을 삭제
  1. 14 8
      Gruntfile.js
  2. 1 1
      src/css/lib/bootstrap.less
  3. 2 31
      src/js/.eslintrc.json
  4. 1 1
      src/js/views/html/ControlsWaiter.js
  5. 3 3
      src/js/views/html/main.js

+ 14 - 8
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("<br>")
         }
@@ -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: {

+ 1 - 1
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";

+ 2 - 31
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
     }
 }

+ 1 - 1
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";
 };

+ 3 - 3
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);