ubenzer/metaltext

View on GitHub
app/clean.js

Summary

Maintainability
A
0 mins
Test Coverage
"use strict";

var rmdir = require("rmdir");
var config = require("./program.js").getConfig();
var debug = require("debug")("clean");
var fs = require("fs-extra");

module.exports = {
  cleanDestination: cleanDestination.bind(this, "destination"),
  cleanFeDestination: cleanDestination.bind(this, "feDestination"),
};

function cleanDestination(key) {
  if (config.args.skipClean === true) {
    debug("Skipping clean due to config.");
    return Promise.resolve();
  }

  fs.mkdirpSync(config.build[key]);

  return new Promise(function(resolve, reject) {
    rmdir(config.build[key], function(err) {
      if (err) {
        debug("Cleaning %s failed!", key);
        reject(err);
      }
      debug("Cleaning %S completed!", key);
      resolve();
    });
  });
}