UNPKG

hig

Version:

HiG server

34 lines (31 loc) 826 B
var servers = require("./index"), server = servers.core, fileutils = require('../fileutils'), fs = require('fs'); function up(options) { var serverpath = options.serverpath, ops = options, name = "styl", reg = new RegExp('^((?:\\/[\\w\\d\\_\\-]+[\\w\\_\\-\\.\\/]*)+\\.' + name + ')$'); server.get(reg, function (req, res, next) { var fullPath = serverpath + req.params[0], bulider; if (!fileutils.isFile(fullPath)) { fullPath = fullPath.replace(/(\/[^\/]+)$/, function($0, $1) { return '/' + name + $0; }); } if (fullPath.indexOf('..') !== -1) { return next(); } if (fileutils.isFile(fullPath)) { delete require.cache[fullPath]; bulider = require(fullPath); servers.send["css"](res, bulider || ''); } else { return next(); } }); } servers.components.push({ up: up });