// // build task definitions // // run any task with "yarn build ${taskName}" // global.globalThis = global // eslint-disable-line node/no-unsupported-features/es-builtins require('lavamoat-core/lib/ses.umd.js') lockdown() // eslint-disable-line no-undef 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), ), ) // special build for minimal CI testing createTask('styles', styleTasks.prod) }