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    })