| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import gulp from 'gulp';
- import browserSync from 'browser-sync';
- import historyApiFallback from 'connect-history-api-fallback/lib';
- import project from '../aurelia.json';
- import build from './build';
- import {CLIOptions} from 'aurelia-cli';
- function log(message) {
- console.log(message); //eslint-disable-line no-console
- }
- function onChange(path) {
- log(`File Changed: ${path}`);
- }
- function reload(done) {
- browserSync.reload();
- done();
- }
- let serve = gulp.series(
- build,
- done => {
- browserSync({
- online: false,
- open: false,
- port: 9000,
- logLevel: 'silent',
- server: {
- baseDir: ['.'],
- middleware: [historyApiFallback(), function(req, res, next) {
- res.setHeader('Access-Control-Allow-Origin', '*');
- next();
- }]
- }
- }, function(err, bs) {
- let urls = bs.options.get('urls').toJS();
- log(`Application Available At: ${urls.local}`);
- log(`BrowserSync Available At: ${urls.ui}`);
- done();
- });
- }
- );
- let refresh = gulp.series(
- build,
- reload
- );
- let watch = function() {
- gulp.watch(project.transpiler.source, refresh).on('change', onChange);
- gulp.watch(project.markupProcessor.source, refresh).on('change', onChange);
- gulp.watch(project.cssProcessor.source, refresh).on('change', onChange);
- };
- let run;
- if (CLIOptions.hasFlag('watch')) {
- run = gulp.series(
- serve,
- watch
- );
- } else {
- run = serve;
- }
- export default run;
|