UNPKG

judocss

Version:

The functional CSS toolkit designed for minimal effort and maximum efficiency.

64 lines (47 loc) 1.47 kB
#! /usr/bin/env node const fs = require("fs") const cwd = process.cwd() const configPath = cwd+'/judo.conf.js' fs.access(configPath, fs.F_OK, function(err) { if (!err) { const config = require(configPath) const chokidar = require('chokidar') //================================= const watch = (glob, callback) => { var watcher = chokidar.watch(glob, {}).on('all', callback) } //================================= const connect = require('connect') const serveStatic = require('serve-static') var http = require('http') const tinylr = require('tiny-lr')() const tinylrPort = 35729 const httpPort = config.port const judo = require('judocss') let app const createApp = (watchPath) => { app = connect(); app.use(require('connect-livereload')({ port: tinylrPort, serverPort: httpPort })); app.use(serveStatic(watchPath)); tinylr.listen(tinylrPort); http.createServer(app).listen(httpPort); console.log('Server running at http://localhost:' + httpPort); watch(config.in, (event, filePath) => { judo(config, () => { reload(filePath) }) }) } createApp(cwd + "/" +config.serverRoot) const reload = (filePath) => { tinylr.changed({body: { files: [filePath] }}) } } else { console.log("No config file found, please read the installation instructions.") } });