You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.0 KiB
88 lines
2.0 KiB
//
|
|
// build task definitions
|
|
//
|
|
// run any task with "yarn build ${taskName}"
|
|
//
|
|
const livereload = require('gulp-livereload')
|
|
const {
|
|
createTask,
|
|
composeSeries,
|
|
composeParallel,
|
|
detectAndRunEntryTask,
|
|
} = require('./task')
|
|
const createManifestTasks = require('./manifest')
|
|
const createScriptTasks = require('./scripts')
|
|
const createStyleTasks = require('./styles')
|
|
const createStaticAssetTasks = require('./static')
|
|
const createEtcTasks = require('./etc')
|
|
|
|
const browserPlatforms = ['firefox', 'chrome', 'brave', 'opera']
|
|
|
|
defineAllTasks()
|
|
detectAndRunEntryTask()
|
|
|
|
function defineAllTasks() {
|
|
const staticTasks = createStaticAssetTasks({ livereload, browserPlatforms })
|
|
const manifestTasks = createManifestTasks({ browserPlatforms })
|
|
const styleTasks = createStyleTasks({ livereload })
|
|
const scriptTasks = createScriptTasks({ livereload, browserPlatforms })
|
|
const { clean, reload, zip } = createEtcTasks({
|
|
livereload,
|
|
browserPlatforms,
|
|
})
|
|
|
|
// build for development (livereload)
|
|
createTask(
|
|
'dev',
|
|
composeSeries(
|
|
clean,
|
|
styleTasks.dev,
|
|
composeParallel(
|
|
scriptTasks.dev,
|
|
staticTasks.dev,
|
|
manifestTasks.dev,
|
|
reload,
|
|
),
|
|
),
|
|
)
|
|
|
|
// build for test development (livereload)
|
|
createTask(
|
|
'testDev',
|
|
composeSeries(
|
|
clean,
|
|
styleTasks.dev,
|
|
composeParallel(
|
|
scriptTasks.testDev,
|
|
staticTasks.dev,
|
|
manifestTasks.testDev,
|
|
reload,
|
|
),
|
|
),
|
|
)
|
|
|
|
// build for prod release
|
|
createTask(
|
|
'prod',
|
|
composeSeries(
|
|
clean,
|
|
styleTasks.prod,
|
|
composeParallel(scriptTasks.prod, staticTasks.prod, manifestTasks.prod),
|
|
zip,
|
|
),
|
|
)
|
|
|
|
// build for CI testing
|
|
createTask(
|
|
'test',
|
|
composeSeries(
|
|
clean,
|
|
styleTasks.prod,
|
|
composeParallel(scriptTasks.test, staticTasks.prod, manifestTasks.test),
|
|
zip,
|
|
),
|
|
)
|
|
|
|
// special build for minimal CI testing
|
|
createTask('styles', styleTasks.prod)
|
|
}
|
|
|