]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
Refactor: remove yargs from Gulp customizer task 11791/head
authorDaniel Ruf <d.ruf@bitexpert.de>
Thu, 25 Jul 2019 06:01:01 +0000 (08:01 +0200)
committerDaniel Ruf <d.ruf@bitexpert.de>
Thu, 25 Jul 2019 06:12:04 +0000 (08:12 +0200)
gulp/tasks/customizer.js
gulp/utils.js

index cf327db2fb8ce572d1de399706254ade4b5ff02e..48072af43f8f0cc5ac4abbf781c1cbdb0f2401fa 100644 (file)
@@ -14,7 +14,6 @@ var sass = require('gulp-sass');
 var touch = require('touch');
 var uglify = require('gulp-uglify');
 var yaml = require('js-yaml').safeLoad;
-var yargs = require('yargs');
 var zip = require('gulp-zip');
 var postcss = require('gulp-postcss');
 var autoprefixer = require('autoprefixer');
@@ -22,10 +21,10 @@ var webpackStream = require('webpack-stream');
 var webpack = require('webpack');
 
 var utils = require('../utils.js');
+var processedArgv = utils.getProccessedArgv();
 
-var ARGS = yargs.argv;
 var FOUNDATION_VERSION = require('../../package.json').version;
-var OUTPUT_DIR = ARGS.output || 'custom-build';
+var OUTPUT_DIR = processedArgv.values['--output'] || 'custom-build';
 var CUSTOMIZER_CONFIG;
 var MODULE_LIST;
 var VARIABLE_LIST;
@@ -55,7 +54,7 @@ var WEBPACK_CONFIG = {
 // Load the configuration file for the customizer. It's a list of modules to load and Sass variables to override
 gulp.task('customizer:loadConfig', function(done) {
   fs.readFile('customizer/config.yml', function(err, data) {
-    var moduleListPath = ARGS.modules || '../../customizer/complete';
+    var moduleListPath = processedArgv.values['--modules'] || '../../customizer/complete';
     var moduleList = require(moduleListPath);
 
     CUSTOMIZER_CONFIG = yaml(data.toString());
index 72dbd3e9cd7807e68a830d6c943eaf7de85081df..ec9f05ebada3013758350a7692f28c2ea087d91b 100644 (file)
@@ -25,6 +25,29 @@ function getUmdEntry(name, config, format) {
   return name;
 }
 
+module.exports.getProccessedArgv = function() {
+  let options = process.argv.slice(2) || []
+  const options_len = options.length;
+
+  let options_processed = {}
+  let options_processed_last = ''
+
+  for (let i = 0; i < options_len; i++) {
+      if(options[i].startsWith('-')){
+          let argument_kv = options[i].split('=');
+          options_processed[argument_kv[0]] = argument_kv[1] ? argument_kv[1] : '';
+          options_processed_last = options[i];
+      } else {
+          options_processed[options_processed_last] = options[i];
+      }
+  }
+
+  return {
+    values: options_processed,
+    keys: Object.keys(options_processed)
+  }
+}
+
 /**
  * Generate an configuration object for Webpack Externals for UMD modules.
  * See: https://webpack.js.org/configuration/externals/#object