|
@@ -1,29 +1,53 @@
|
|
|
const MODULES_PATH = '../../../node_modules';
|
|
const MODULES_PATH = '../../../node_modules';
|
|
|
const compressor = require(`${MODULES_PATH}/node-minify`);
|
|
const compressor = require(`${MODULES_PATH}/node-minify`);
|
|
|
const sass = require(`${MODULES_PATH}/node-sass`);
|
|
const sass = require(`${MODULES_PATH}/node-sass`);
|
|
|
-const {writeFileSync} = require('fs');
|
|
|
|
|
|
|
+const fs = require('fs');
|
|
|
|
|
+var path = require('path');
|
|
|
|
|
|
|
|
-// The Libraries to join in minified files
|
|
|
|
|
-const libList = [
|
|
|
|
|
- `${MODULES_PATH}/jquery/dist/jquery.min.js`,
|
|
|
|
|
- `${MODULES_PATH}/bootstrap/dist/js/bootstrap.bundle.min.js`
|
|
|
|
|
-];
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * Functions
|
|
|
|
|
+ */
|
|
|
|
|
|
|
|
-// The css files to minify
|
|
|
|
|
-const cssList = [
|
|
|
|
|
- `${MODULES_PATH}/bootstrap/dist/css/bootstrap.min.css`,
|
|
|
|
|
- "ui/css/admin.css"
|
|
|
|
|
-];
|
|
|
|
|
|
|
+/* List all files in a directory recursively in a synchronous fashion.
|
|
|
|
|
+*
|
|
|
|
|
+* @param {String} dir
|
|
|
|
|
+* @returns {IterableIterator<String>}
|
|
|
|
|
+*/
|
|
|
|
|
+function* walkSync(dir) {
|
|
|
|
|
+ const files = fs.readdirSync(dir);
|
|
|
|
|
|
|
|
-// The javascript files to minify
|
|
|
|
|
-const jsList = [
|
|
|
|
|
- "ui/js/admin.js"
|
|
|
|
|
-];
|
|
|
|
|
|
|
+ for (const file of files) {
|
|
|
|
|
+ const pathToFile = path.join(dir, file);
|
|
|
|
|
+ const isDirectory = fs.statSync(pathToFile).isDirectory();
|
|
|
|
|
+ if (isDirectory) {
|
|
|
|
|
+ yield* walkSync(pathToFile);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ yield pathToFile;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* MAIN
|
|
* MAIN
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
|
|
+let jsList = [];
|
|
|
|
|
+
|
|
|
|
|
+for (let val of walkSync('ui/assets/js')) {
|
|
|
|
|
+ if (val.indexOf('.min.') == -1) {
|
|
|
|
|
+ console.log(val);
|
|
|
|
|
+ jsList.push(val);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+compressor.minify({
|
|
|
|
|
+ compressor: 'uglify-es',
|
|
|
|
|
+ input: jsList,
|
|
|
|
|
+ output: 'ui/js/admin.min.js'
|
|
|
|
|
+ }
|
|
|
|
|
+);
|
|
|
|
|
+
|
|
|
|
|
+return;
|
|
|
|
|
+
|
|
|
let buffer = sass.renderSync({file: 'ui/css/admin.scss'});
|
|
let buffer = sass.renderSync({file: 'ui/css/admin.scss'});
|
|
|
|
|
|
|
|
writeFileSync('ui/css/admin.css', buffer.css);
|
|
writeFileSync('ui/css/admin.css', buffer.css);
|