<commit_before>var fs = require('fs');

var del = require('del');

var gulpUtil = require('gulp-util');

module.exports = function(gulp, buildConfig) {
    // 清理构建的结果
    gulp.task('clean', function(done) {
        // 删除输出目录根目录下的所有文件
        var delFiles = del.sync(buildConfig.dist + '/*', {
            force: true,
            nodir: true
        });
        gulpUtil.log('删除输出目录根目录下的所有文件:\n', delFiles.join('\n'));

        // 删除输出目录根目录中, 在 src 中管理的目录
        var distSrcRootDirs = [];
        var srcRootFiles = fs.readdirSync(buildConfig.base);
        srcRootFiles.forEach(function(filename) {
            var filePath = buildConfig.base + '/' + filename;
            var stat = fs.statSync(filePath);
            if (stat.isDirectory()) {
                distSrcRootDirs.push(buildConfig.dist + '/' + filename);
            }
        });
        var delDirs = del.sync(distSrcRootDirs, {
            force: true
        });
        gulpUtil.log('删除输出目录根目录中, 在 src 中有的目录:\n', delDirs.join('\n'));

        done();
    });
};<commit_msg>优化 clean 任务<commit_after>var fs = require('fs');
var path = require('path');

var del = require('del');

var gulpUtil = require('gulp-util');

module.exports = function(gulp, buildConfig) {
    // 清理构建的结果
    gulp.task('clean', function(done) {
        // 删除输出目录根目录下的所有文件
        var delFiles = del.sync(buildConfig.dist + '/*', {
            force: true,
            nodir: true
        });
        gulpUtil.log('删除输出目录根目录下的所有文件:\n', delFiles.join('\n'));

        // 删除输出目录根目录中, 在 srcBase 静态资源目录中管理的目录
        var distRootDirs = [];
        var srcRootDirs = fs.readdirSync(buildConfig.srcBase);
        srcRootDirs.forEach(function(dirName) {
            var stat = fs.statSync(path.resolve(buildConfig.srcBase, dirName));
            if (stat.isDirectory()) {
                distRootDirs.push(path.resolve(buildConfig.dist, dirName));
            }
        });
        var delDirs = del.sync(distRootDirs, {
            force: true
        });
        gulpUtil.log('删除输出目录根目录中, 在 srcBase 中有的目录:\n', delDirs.join('\n'));

        done();
    });
};
{'fraction_non_alphanumeric': 0.14988066825775656, 'fraction_numerical': 0.0, 'mean_word_length': 2.133034379671151, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6291789', 'n_tokens_mistral': 763, 'n_tokens_neox': 810, 'n_words': 116}