forked from opentiny/tiny-engine
110 lines
2.8 KiB
JavaScript
110 lines
2.8 KiB
JavaScript
/**
|
||
* Copyright (c) 2023 - present TinyEngine Authors.
|
||
* Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.
|
||
*
|
||
* Use of this source code is governed by an MIT-style license.
|
||
*
|
||
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
||
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
||
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
||
*
|
||
*/
|
||
|
||
const gulp = require('gulp')
|
||
const eslint = require('gulp-eslint')
|
||
const nodemon = require('gulp-nodemon')
|
||
const friendlyFormatter = require('eslint-friendly-formatter')
|
||
|
||
let jsScript = 'node'
|
||
if (process.env.npm_config_argv !== undefined && process.env.npm_config_argv.indexOf('debug') > 0) {
|
||
jsScript = 'node debug'
|
||
}
|
||
|
||
function lintOne(aims) {
|
||
return gulp
|
||
.src(aims)
|
||
.pipe(eslint({ configFile: './.eslintrc.js' }))
|
||
.pipe(eslint.format(friendlyFormatter))
|
||
.pipe(
|
||
eslint.results((results) => {
|
||
// Called once for all ESLint results.
|
||
})
|
||
)
|
||
}
|
||
|
||
gulp.task('ESlint', () => {
|
||
return gulp
|
||
.src(['src/**/*.js', '!node_modules/**'])
|
||
.pipe(eslint({ configFile: './.eslintrc.js' }))
|
||
.pipe(eslint.format(friendlyFormatter))
|
||
.pipe(eslint.results((results) => {}))
|
||
})
|
||
|
||
gulp.task(
|
||
'ESlint_nodemon',
|
||
gulp.series('ESlint', () => {
|
||
const stream = nodemon({
|
||
script: 'build/dev-server.js',
|
||
execMap: {
|
||
js: jsScript
|
||
},
|
||
tasks: function (changedFiles) {
|
||
lintOne(changedFiles)
|
||
return []
|
||
},
|
||
verbose: true,
|
||
ignore: ['build/*.js', 'dist/*.js', 'nodemon.json', '.git', 'node_modules/**/node_modules', 'gulpfile.js'],
|
||
env: {
|
||
NODE_ENV: 'development'
|
||
},
|
||
ext: 'js json'
|
||
})
|
||
|
||
return stream
|
||
.on('restart', () => {
|
||
// 重启项目
|
||
})
|
||
.on('crash', () => {
|
||
// 重启工程:restart the server in 20 seconds:stream.emit('restart', 20)
|
||
})
|
||
})
|
||
)
|
||
|
||
gulp.task('nodemon', () => {
|
||
return nodemon({
|
||
script: 'build/dev-server.js',
|
||
execMap: {
|
||
js: jsScript
|
||
},
|
||
verbose: true,
|
||
ignore: ['build/*.js', 'dist/*.js', 'nodemon.json', '.git', 'node_modules/**/node_modules', 'gulpfile.js'],
|
||
env: {
|
||
NODE_ENV: 'development'
|
||
},
|
||
ext: 'js json'
|
||
})
|
||
})
|
||
|
||
gulp.task('default', () => {
|
||
const stream = nodemon({
|
||
script: 'build/dev-server.js',
|
||
execMap: {
|
||
js: jsScript
|
||
},
|
||
verbose: true,
|
||
ignore: ['build/*.js', 'dist/*.js', 'nodemon.json', '.git', 'node_modules/**/node_modules', 'gulpfile.js'],
|
||
env: {
|
||
NODE_ENV: 'development'
|
||
},
|
||
ext: 'js json'
|
||
})
|
||
|
||
return stream
|
||
.on('restart', () => {
|
||
// 重启项目
|
||
})
|
||
.on('crash', () => {
|
||
// 重启工程:restart the server in 20 seconds:stream.emit('restart', 20)
|
||
})
|
||
})
|