Colonise/Config

View on GitHub
source/clean.ts

Summary

Maintainability
A
0 mins
Test Coverage
import del from 'del';
import {
    absoluteBuildDirectory,
    absoluteCoverageDirectory,
    absoluteDistributeDirectory,
    absoluteGeneratedDirectory
} from './variables';
import {
    log,
    wasCalledFromCLI
} from './helpers';

function cleanDirectory(directoryPath: string): string[] {
    log(`Cleaning directory '${directoryPath}'.`);

    const result = del.sync(directoryPath);

    return result;
}

export function cleanGeneratedDirectory(): string[] {
    return cleanDirectory(absoluteGeneratedDirectory);
}

export function cleanBuildDirectory(): string[] {
    return cleanDirectory(absoluteBuildDirectory);
}

export function cleanDistributeDirectory(): string[] {
    return cleanDirectory(absoluteDistributeDirectory);
}

export function cleanCoverageDirectory(): string[] {
    return cleanDirectory(absoluteCoverageDirectory);
}

export function clean(): string[] {
    return [
        ...cleanGeneratedDirectory(),
        ...cleanBuildDirectory(),
        ...cleanDistributeDirectory(),
        ...cleanCoverageDirectory()
    ];
}

if (wasCalledFromCLI(module)) {
    clean();
}