135 lines
4.2 KiB
JavaScript
135 lines
4.2 KiB
JavaScript
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');
|
|
const obfuscatorOptions = {
|
|
compact:true,
|
|
sourceMap: false,
|
|
debugProtection: true,
|
|
disableConsoleOutput: true,
|
|
domainLock: ['.kingsome.cn', '.zhl.com']
|
|
};
|
|
//检查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(obfuscatorOptions))
|
|
.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(obfuscatorOptions))
|
|
.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(obfuscatorOptions))
|
|
.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(gulp.dest('dist/gba2/IodineGBA'));
|
|
})
|
|
gulp.task('distgba2jsuser', function() {
|
|
return gulp.src(['gba2/user_scripts/**/*'])
|
|
.pipe(javascriptObfuscator(obfuscatorOptions))
|
|
.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'));
|
|
})
|
|
// movie
|
|
gulp.task('distmoviejs', function() {
|
|
return gulp.src(['movie/js/*.js'])
|
|
.pipe(stripDebug())
|
|
.pipe(gulp.dest('dist/movie/js'));
|
|
});
|
|
gulp.task('distmoviecss', function() {
|
|
return gulp.src(['movie/css/**/*.css'])
|
|
.pipe(gulp.dest('dist/movie/css'));
|
|
})
|
|
gulp.task('distmoviestatic', function() {
|
|
return gulp.src(['movie/img/**/*'])
|
|
.pipe(gulp.dest('dist/movie/img'));
|
|
})
|
|
gulp.task('distmovie', ['distmoviejs', 'distmoviecss', 'distmoviestatic'])
|
|
|
|
gulp.task('default', ['disthtml', 'distfc', 'distgba', 'distgba2', 'distmovie', 'assets']);
|
|
// gulp.task('default', ['disthtml', 'distfc', 'assets']);
|
|
|
|
module.exports = {
|
|
dep: ['default'],
|
|
};
|