You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea-lugit-theme/tools/serve.js

42 lines
1.1 KiB
JavaScript

import { watch } from 'chokidar';
import { TaskDebouncer } from './utils/task-debouncer.js';
import { Logger } from './utils/logger.js';
import { getArg } from './utils/funcs.js';
import { resolve } from 'path';
import { cwd } from 'process';
import { deploy } from './tasks/deploy.js';
const src = './src';
const dist = './dist';
const serviceName = getArg('--service', 'gitea');
const srcPath = resolve(cwd(), src);
const distPath = resolve(cwd(), dist);
const serverPath = resolve(
cwd(),
getArg('--server', 'd:/users/lucas/Desktop/dev/server/gitea')
);
const debouncer = new TaskDebouncer(300);
const logger = new Logger('serve', 'info', 'brightMagenta');
logger.info('Serve task started!');
logger.info('Watching for changes...');
logger.info(`Service name: '${serviceName}'`);
logger.info(`Src path: ${srcPath}`);
logger.info(`Dist path: ${distPath}`);
logger.info(`Server path: ${serverPath}`);
const watcher = watch([`${src}/**/*`], {
persistent: true,
ignoreInitial: true,
});
watcher.on('change', (file) => debouncer.add(
deploy,
srcPath,
distPath,
serverPath,
serviceName,
file,
true
));