#!/usr/bin/env node
var assert = require('assert')
+var BuildCache = require('build_cache')
var commander = require('commander')
var fs = require('fs')
var http = require('http')
var mime_type_default = 'application/octet-stream'
var mime_type_css = mime_types['css'] || mime_type_default
var mime_type_html = mime_types['html'] || mime_type_default
+var build_cache_js = new BuildCache()
+var build_cache_less = new BuildCache()
var serve = function(res, status, mime_type, data) {
res.statusCode = status
root: site_root
}
var out = str => {buffers.push(Buffer.from(str))}
- var req = async str => await (
- await jstemplate(
- (
- str.length > 0 && str.charAt(0) === '/' ?
- site_root :
- site_root + dir_name + '/'
- ) + str
- )
- )(env, out, req)
+ var req = async str => {
+ var key = (
+ str.length > 0 && str.charAt(0) === '/' ?
+ site_root :
+ site_root + dir_name + '/'
+ ) + str
+ var value = await build_cache_js.get(key)
+ if (value === undefined) {
+ console.log(site, 'js compile', key)
+ value = await jstemplate(key)
+ build_cache_js.set(key, value)
+ }
+ return await value(env, out, req)
+ }
await req(temp)
data = Buffer.concat(buffers)
console.log(