Browse Source

Implement UpdateVersion webpack plugin

Lucas de Souza 5 years ago
parent
commit
d70977311f

+ 1 - 0
.ima_version.json

@@ -0,0 +1 @@
+{ "version":"2019_02_20 10_28" }

+ 0 - 1
.ivprog_version.json

@@ -1 +0,0 @@
-{ "version":"2019_02_19 17_13" }

+ 11 - 11
build/ivprog.bundle.js

@@ -96,14 +96,14 @@ return /******/ (function(modules) { // webpackBootstrap
 /************************************************************************/
 /************************************************************************/
 /******/ ({
 /******/ ({
 
 
-/***/ "./.ivprog_version.json":
-/*!******************************!*\
-  !*** ./.ivprog_version.json ***!
-  \******************************/
+/***/ "./.ima_version.json":
+/*!***************************!*\
+  !*** ./.ima_version.json ***!
+  \***************************/
 /*! exports provided: version, default */
 /*! exports provided: version, default */
 /***/ (function(module) {
 /***/ (function(module) {
 
 
-module.exports = {"version":"2019_02_19 17_13"};
+module.exports = {"version":"2019_02_20 10_25"};
 
 
 /***/ }),
 /***/ }),
 
 
@@ -187,7 +187,7 @@ module.exports =
 /* 0 */
 /* 0 */
 /***/ (function(module, exports, __webpack_require__) {
 /***/ (function(module, exports, __webpack_require__) {
 
 
-// Generated from /tmp/tmp-20901GoFkvmbU6YOn/ivprog.g4 by ANTLR 4.7
+// Generated from /tmp/tmp-7479iGf20Ya2uEko/ivprog.g4 by ANTLR 4.7
 // jshint ignore: start
 // jshint ignore: start
 var antlr4 = __webpack_require__(2);
 var antlr4 = __webpack_require__(2);
 
 
@@ -778,7 +778,7 @@ module.exports =
 /* 0 */
 /* 0 */
 /***/ (function(module, exports, __webpack_require__) {
 /***/ (function(module, exports, __webpack_require__) {
 
 
-// Generated from /tmp/tmp-209012gSAvxTNF26r/ivprog.g4 by ANTLR 4.7
+// Generated from /tmp/tmp-7479HVzvc2BxL2Mk/ivprog.g4 by ANTLR 4.7
 // jshint ignore: start
 // jshint ignore: start
 var antlr4 = __webpack_require__(2);
 var antlr4 = __webpack_require__(2);
 
 
@@ -1432,7 +1432,7 @@ module.exports =
 /* 0 */
 /* 0 */
 /***/ (function(module, exports, __webpack_require__) {
 /***/ (function(module, exports, __webpack_require__) {
 
 
-// Generated from /tmp/tmp-20901id2WQEvZA9M1/ivprog.g4 by ANTLR 4.7
+// Generated from /tmp/tmp-7479JCS9a3yQPz6d/ivprog.g4 by ANTLR 4.7
 // jshint ignore: start
 // jshint ignore: start
 var antlr4 = __webpack_require__(2);
 var antlr4 = __webpack_require__(2);
 
 
@@ -22354,9 +22354,9 @@ var _utils = __webpack_require__(/*! ./utils */ "./js/visualUI/utils.js");
 
 
 var Utils = _interopRequireWildcard(_utils);
 var Utils = _interopRequireWildcard(_utils);
 
 
-var _ivprog_version = __webpack_require__(/*! ./../../.ivprog_version.json */ "./.ivprog_version.json");
+var _ima_version = __webpack_require__(/*! ./../../.ima_version.json */ "./.ima_version.json");
 
 
-var _ivprog_version2 = _interopRequireDefault(_ivprog_version);
+var _ima_version2 = _interopRequireDefault(_ima_version);
 
 
 __webpack_require__(/*! ../Sortable.js */ "./js/Sortable.js");
 __webpack_require__(/*! ../Sortable.js */ "./js/Sortable.js");
 
 
@@ -22366,7 +22366,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
 
 
 var counter_new_functions = 0;
 var counter_new_functions = 0;
 var counter_new_parameters = 0;
 var counter_new_parameters = 0;
-var ivprog_version = _ivprog_version2.default.version;
+var ivprog_version = _ima_version2.default.version;
 
 
 var studentTemp = null;
 var studentTemp = null;
 var domConsole = null;
 var domConsole = null;

File diff suppressed because it is too large
+ 1 - 1
build/ivprog.bundle.js.map


+ 1 - 1
js/visualUI/functions.js

@@ -15,7 +15,7 @@ import { SemanticAnalyser } from '../processor/semantic/semanticAnalyser';
 import { IVProgAssessment } from '../assessment/ivprogAssessment';
 import { IVProgAssessment } from '../assessment/ivprogAssessment';
 import * as AlgorithmManagement from './algorithm';
 import * as AlgorithmManagement from './algorithm';
 import * as Utils from './utils';
 import * as Utils from './utils';
-import VersionInfo from './../../.ivprog_version.json';
+import VersionInfo from './../../.ima_version.json';
 
 
 import '../Sortable.js';
 import '../Sortable.js';
 
 

+ 1 - 1
package.json

@@ -7,7 +7,7 @@
     "test": "echo \"Error: no test specified\" && exit 1",
     "test": "echo \"Error: no test specified\" && exit 1",
     "babel": "babel --presets env js/main.js -o build/ivprog.bunlde.js",
     "babel": "babel --presets env js/main.js -o build/ivprog.bunlde.js",
     "start": "http-server",
     "start": "http-server",
-    "webpack": "node updateVersionScript.js && webpack"
+    "webpack": "webpack"
   },
   },
   "repository": {
   "repository": {
     "type": "git",
     "type": "git",

+ 39 - 0
updateVersionPlugin.js

@@ -0,0 +1,39 @@
+var fs = require('fs');
+var path = require('path');
+
+function processDate () {
+  var date = new Date();
+  var day = date.getUTCDate();
+  day = day > 9 ? day : '0' + day;
+  var month = date.getMonth() + 1;
+  month = month > 9 ? month : '0' + month;
+  var minutes = date.getMinutes();
+  minutes = minutes > 9 ? minutes : '0' + minutes;
+  var hour = date.getHours();
+  hour = hour > 9 ? hour : '0' + hour;
+  return {
+    year: date.getFullYear(),
+    month: month,
+    day: day,
+    hour: hour,
+    minutes: minutes
+  }
+}
+
+function writeVersionFile () {
+  var versionInfo = processDate();
+  var versionString = `${versionInfo.year}_${versionInfo.month}_${versionInfo.day} ${versionInfo.hour}_${versionInfo.minutes}`;
+  var fileData = `{ "version":"${versionString}" }`;
+  var filePath = path.join(__dirname, '.ima_version.json');
+  fs.writeFileSync(filePath, fileData);
+}
+
+function UpdateVersionPlugin () { }
+
+UpdateVersionPlugin.prototype.apply  = function (compiler) {
+  compiler.hooks.beforeCompile.tap("UpdateVersionPlugin", function() {
+    writeVersionFile();
+  });
+}
+
+module.exports = UpdateVersionPlugin;

+ 24 - 10
updateVersionScript.js

@@ -1,13 +1,27 @@
 var fs = require('fs');
 var fs = require('fs');
 var path = require('path');
 var path = require('path');
 
 
-var fileName = '.ivprog_version.json';
-var date = new Date();
-var day = date.getUTCDate() > 9 ? date.getUTCDate() : '0' + date.getUTCDate();
-var month = date.getMonth() > 9 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1);
-var minutes = date.getMinutes() > 9 ? date.getMinutes() : '0' + date.getMinutes();
-var hour = date.getHours() > 9 ? date.getHours() : '0' + date.getHours();
-var versionString = `${date.getFullYear()}_${month}_${day} ${hour}_${minutes}`;
-var versionData = `{ "version":"${versionString}" }`;
-var filePath = path.join(__dirname, fileName);
-fs.writeFileSync(filePath, versionData);
+function processDate () {
+  var date = new Date();
+  var day = date.getUTCDate();
+  day = day > 9 ? day : '0' + day;
+  var month = date.getMonth() + 1;
+  month = month > 9 ? month : '0' + month;
+  var minutes = date.getMinutes();
+  minutes = minutes > 9 ? minutes : '0' + minutes;
+  var hour = date.getHours();
+  hour = hour > 9 ? hour : '0' + hour;
+  return {
+    year: date.getFullYear(),
+    month: month,
+    day: day,
+    hour: hour,
+    minutes: minutes
+  }
+}
+
+var versionInfo = processDate();
+var versionString = `${versionInfo.year}_${versionInfo.month}_${versionInfo.day} ${versionInfo.hour}_${versionInfo.minutes}`;
+var fileData = `{ "version":"${versionString}" }`;
+var filePath = path.join(__dirname, '.ima_version.json');
+fs.writeFileSync(filePath, fileData);

+ 7 - 1
webpack.config.js

@@ -1,5 +1,7 @@
 var path = require('path');
 var path = require('path');
 var webpack = require('webpack');
 var webpack = require('webpack');
+var UpdateVersionPlugin = require('./updateVersionPlugin');
+
 module.exports = {
 module.exports = {
     entry: './js/main.js',
     entry: './js/main.js',
     mode: 'development',
     mode: 'development',
@@ -28,10 +30,14 @@ module.exports = {
     stats: {
     stats: {
         colors: true
         colors: true
     },
     },
+    plugins: [new UpdateVersionPlugin()],
     /*optimization: {
     /*optimization: {
         splitChunks: {
         splitChunks: {
             chunks: 'all'
             chunks: 'all'
         }
         }
     },*/
     },*/
-    devtool: 'source-map'
+    devtool: 'source-map',
+    watchOptions: {
+        ignored: path.resolve(__dirname, '.ima_version.json')
+    }
 };
 };