/* * Copyright (c) 2015-2021 MinIO, Inc. * * This file is part of MinIO Object Storage stack * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ var async = require('async') var exec = require('child_process').exec var fs = require('fs') var isProduction = process.env.NODE_ENV == 'production' ? true : false rmDir = function(dirPath) { try { var files = fs.readdirSync(dirPath); } catch(e) { return; } if (files.length > 0) for (var i = 0; i < files.length; i++) { var filePath = dirPath + '/' + files[i]; if (fs.statSync(filePath).isFile()) fs.unlinkSync(filePath); else rmDir(filePath); } fs.rmdirSync(dirPath); }; async.waterfall([ function(cb) { rmDir('production'); rmDir('dev'); var cmd = 'webpack -p --config webpack.production.config.js' if (!isProduction) { cmd = 'webpack'; } console.log('Running', cmd) exec(cmd, cb) }, ], function(err) { if (err) return console.log(err) })