|
|
@@ -1,81 +0,0 @@
|
|
|
-const BUILD_PATH = 'ui/assets/build';
|
|
|
-const MAIN_SCSS_PATH = 'ui/assets/css/admin.scss';
|
|
|
-
|
|
|
-const MODULES_PATH = '../../../node_modules';
|
|
|
-const compressor = require(`${MODULES_PATH}/node-minify`);
|
|
|
-const sass = require(`${MODULES_PATH}/node-sass`);
|
|
|
-const fs = require('fs');
|
|
|
-const path = require('path');
|
|
|
-
|
|
|
-/**
|
|
|
- * Functions
|
|
|
- */
|
|
|
-
|
|
|
-/**
|
|
|
- * Convert each line of text file into item array
|
|
|
- *
|
|
|
- * @param listFileName
|
|
|
- * @returns {string[]}
|
|
|
- */
|
|
|
-function LoadListIntoArray(listFileName) {
|
|
|
- // Split every line into array
|
|
|
- let listTemp = fs.readFileSync(listFileName).toString().split("\n");
|
|
|
-
|
|
|
- // Clean array:
|
|
|
- let listRet = listTemp.filter((x) => {
|
|
|
- // remove all comments start with ';' and empty lines ('\r')
|
|
|
- return x.replace(/^;.*/, '').replace('\r', '').length > 0
|
|
|
- }).map((d) => {
|
|
|
- return d.replace('\r', '')
|
|
|
- });
|
|
|
-
|
|
|
- return listRet;
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * MAIN
|
|
|
- */
|
|
|
-
|
|
|
-if (!fs.existsSync(BUILD_PATH)) {
|
|
|
- console.log(`Create folder ${BUILD_PATH}`);
|
|
|
- fs.mkdirSync(BUILD_PATH);
|
|
|
-}
|
|
|
-
|
|
|
-let libList = LoadListIntoArray('build.js.list');
|
|
|
-let cssList = LoadListIntoArray('build.css.list');
|
|
|
-
|
|
|
-/**
|
|
|
- * CSS
|
|
|
- */
|
|
|
-
|
|
|
-// Compile SCSS
|
|
|
-console.log('Compiling SCSS');
|
|
|
-let buffer = sass.renderSync({file: MAIN_SCSS_PATH});
|
|
|
-// Write to file CSS
|
|
|
-fs.writeFileSync(`${BUILD_PATH}/admin.min.css`, buffer.css);
|
|
|
-
|
|
|
-//Concatenate all CSS in one MIN.CSS file
|
|
|
-console.log('Bundle CSS');
|
|
|
-compressor.minify({
|
|
|
- compressor: 'clean-css',
|
|
|
- input: cssList,
|
|
|
- output: `${BUILD_PATH}/bundle.min.css`
|
|
|
- }
|
|
|
-);
|
|
|
-
|
|
|
-/**
|
|
|
- * JS
|
|
|
- */
|
|
|
-
|
|
|
-// Minify+Concatenate JS files it in one file
|
|
|
-console.log('Bundle JS');
|
|
|
-compressor.minify({
|
|
|
- compressor: 'terser',
|
|
|
- input: libList,
|
|
|
- output: `${BUILD_PATH}/bundle.min.js`
|
|
|
- }
|
|
|
-);
|
|
|
-
|
|
|
-fs.unlinkSync(`${BUILD_PATH}/admin.min.css`);
|
|
|
-
|
|
|
-console.log('All done.');
|