@mussonindustrial/pyro-mui-joy
Version:
A port of Material UI Joy Theme for Ignition by Inductive Automation
113 lines (92 loc) • 2.78 kB
JavaScript
var postcss = require('gulp-postcss')
var gulp = require('gulp')
var path = require('path')
var fs = require('fs')
var { createGateway } = require('./dev/setup')
const {
uploadFonts,
uploadThemes,
uploadProjectImport,
requestScan,
refreshSessions,
} = require('./dev/upload')
const output = './output'
const source = './src'
let gateway
gulp.task('clean', function () {
fs.rmSync(output, { recursive: true, force: true })
return gulp.src(source)
})
gulp.task('build', function () {
fs.cpSync(
path.join('.', source, 'fonts'),
path.join('.', output, 'fonts'),
{
recursive: true,
}
)
return gulp
.src('./src/*.css')
.pipe(postcss())
.pipe(gulp.dest(path.join(output, 'themes')))
})
// gulp.task('generate-screenshots', async function () {
// await screenshots.build('joy-light')
// await screenshots.build('joy-dark')
// return gulp.src(source)
// })
gulp.task('dev:start', async function () {
console.log('Creating development gateway...')
gateway = await createGateway()
console.log(
`Development gateway started: ${gateway.getPerspectiveUrl(
false,
'pyro-mui-joy-testing',
'playground'
)}`
)
return gulp.src(source)
})
gulp.task('dev:upload-themes', async function () {
console.log('Uploading themes...')
await Promise.all([uploadThemes(gateway)])
console.log('Uploading themes complete.')
return gulp.src(source)
})
gulp.task('dev:upload-fonts', async function () {
console.log('Uploading fonts...')
await Promise.all([uploadFonts(gateway)])
console.log('Uploading fonts complete.')
return gulp.src(source)
})
gulp.task('dev:upload-project', async function () {
console.log('Uploading project import...')
await Promise.all([uploadProjectImport(gateway)])
console.log('Uploading project import complete.')
return gulp.src(source)
})
gulp.task(
'dev:upload-all',
gulp.series('dev:upload-fonts', 'dev:upload-themes', 'dev:upload-project')
)
gulp.task('dev:refresh', async function () {
console.log('Requesting project resource scan...')
await requestScan(gateway)
console.log('Refreshing Perspective Sessions...')
await refreshSessions(gateway)
return gulp.src(source)
})
gulp.task('dev:watch', function () {
console.log('Watching for source file changes...')
gulp.watch(
'./src/**/*.*',
{ events: 'all', delay: 1000 },
gulp.series('clean', 'build', 'dev:upload-all', 'dev:refresh')
)
})
gulp.task('all', gulp.series('clean', 'build'))
gulp.task(
'dev',
gulp.series('dev:start', 'dev:upload-all', 'dev:refresh', 'dev:watch')
)
exports.default = gulp