var gulp = require('gulp'), concat = require('gulp-concat'), // uglify = require('gulp-uglify'), uglify = require('gulp-uglify-es').default, rename = require('gulp-rename'), jshint = require('gulp-jshint'), stripDebug = require("gulp-strip-debug"),//移除console语句 cleanCSS = require('gulp-clean-css'), gutil = require('gulp-util'); const javascriptObfuscator = require('gulp-javascript-obfuscator'); //检查js的语法错误 gulp.task('jslint', function () { return gulp.src('fc/js/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')) .pipe(notify({message: 'finished jslint'})); }); //发布所有html gulp.task('disthtml', function(){ return gulp.src(['**/*.html', '!node_modules/**/*', '!dist/**/*']) .pipe(gulp.dest('dist')); }) //处理fc的css gulp.task('distfccss', function() { return gulp.src(['fc/css/**/*.css']) .pipe(cleanCSS()) .pipe(gulp.dest('dist/fc/css')); }) //处理fc的图片资源 gulp.task('distfcstatic', function() { return gulp.src(['fc/resources/**/*']) .pipe(gulp.dest('dist/fc/resources')); }) gulp.task('distfclib', function() { return gulp.src(['fc/lib/**/*']) .pipe(gulp.dest('dist/fc/lib')); }) gulp.task('distfcjs', function() { return gulp.src(['fc/js/*.js']) .pipe(javascriptObfuscator({ compact:true, sourceMap: false, debugProtection: true, domainLock: ['kingsome.cn', '.zhl.com'] })) .pipe(stripDebug()) .pipe(gulp.dest('dist/fc/js')); }); gulp.task('distfc', ['distfcjs', 'distfccss', 'distfcstatic', 'distfclib']) gulp.task('distgbajs', function() { return gulp.src(['gba/dist/*.js']) // .pipe(concat('main.js')) // .pipe(rename({suffix: '.min'})) //https://github.com/mishoo/UglifyJS2 .pipe(javascriptObfuscator({ compact:true, sourceMap: false, debugProtection: true, domainLock: ['kingsome.cn', '.zhl.com'] })) .pipe(stripDebug()) .pipe(gulp.dest('dist/gba/dist')); }); gulp.task('distgbacss', function() { return gulp.src(['gba/dist/**/*.css']) .pipe(gulp.dest('dist/gba/dist')); }) gulp.task('distgbastatic', function() { return gulp.src(['gba/resources/**/*']) .pipe(gulp.dest('dist/gba/resources')); }) gulp.task('distgbajsext', function() { return gulp.src(['gba/js/**/*']) .pipe(gulp.dest('dist/gba/js')); }) gulp.task('distgba', ['distgbajs', 'distgbacss', 'distgbastatic', 'distgbajsext']) gulp.task('distgba2js', function() { return gulp.src(['gba2/dist/*.js']) // .pipe(concat('main.js')) // .pipe(rename({suffix: '.min'})) //https://github.com/mishoo/UglifyJS2 .pipe(javascriptObfuscator({ compact:true, sourceMap: false, debugProtection: true, domainLock: ['kingsome.cn', '.zhl.com'] })) .pipe(stripDebug()) .pipe(gulp.dest('dist/gba2/dist')); }); gulp.task('distgba2css', function() { return gulp.src(['gba2/dist/**/*.css']) .pipe(cleanCSS()) .pipe(gulp.dest('dist/gba2/dist')); }) gulp.task('distgba2static', function() { return gulp.src(['gba2/resources/**/*']) .pipe(gulp.dest('dist/gba2/resources')); }) gulp.task('distgba2bios', function() { return gulp.src(['gba2/Binaries/**/*']) .pipe(gulp.dest('dist/gba2/Binaries')); }) gulp.task('distgba2jscore', function() { return gulp.src(['gba2/IodineGBA/**/*']) .pipe(javascriptObfuscator({ compact:true, sourceMap: false, debugProtection: true, domainLock: ['kingsome.cn', '.zhl.com'] })) .pipe(gulp.dest('dist/gba2/IodineGBA')); }) gulp.task('distgba2jsuser', function() { return gulp.src(['gba2/user_scripts/**/*']) .pipe(javascriptObfuscator({ compact:true, sourceMap: false, debugProtection: true, domainLock: ['kingsome.cn', '.zhl.com'] })) .pipe(stripDebug()) .pipe(gulp.dest('dist/gba2/user_scripts')); }) gulp.task('distgba2', ['distgba2js', 'distgba2css', 'distgba2static', 'distgba2bios', 'distgba2jscore', 'distgba2jsuser']) gulp.task('assets', function() { return gulp.src(['assets/**/*']) .pipe(gulp.dest('dist/assets')); }) gulp.task('default', ['disthtml', 'distfc', 'distgba', 'distgba2', 'assets']); // gulp.task('default', ['disthtml', 'distfc', 'assets']);