storj.io/minio@v0.0.0-20230509071714-0cbc90f649b1/browser/build.js (about) 1 /* 2 * MinIO Cloud Storage (C) 2016 MinIO, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 var async = require('async') 18 var exec = require('child_process').exec 19 var fs = require('fs') 20 21 var isProduction = process.env.NODE_ENV == 'production' ? true : false 22 23 rmDir = function(dirPath) { 24 try { var files = fs.readdirSync(dirPath); } 25 catch(e) { return; } 26 if (files.length > 0) 27 for (var i = 0; i < files.length; i++) { 28 var filePath = dirPath + '/' + files[i]; 29 if (fs.statSync(filePath).isFile()) 30 fs.unlinkSync(filePath); 31 else 32 rmDir(filePath); 33 } 34 fs.rmdirSync(dirPath); 35 }; 36 37 async.waterfall([ 38 function(cb) { 39 rmDir('production'); 40 rmDir('dev'); 41 var cmd = 'webpack -p --config webpack.production.config.js' 42 if (!isProduction) { 43 cmd = 'webpack'; 44 } 45 console.log('Running', cmd) 46 exec(cmd, cb) 47 }, 48 ], function(err) { 49 if (err) return console.log(err) 50 })