diff options
Diffstat (limited to 'bucky')
| -rw-r--r-- | bucky/app/index.js | 5 | ||||
| -rw-r--r-- | bucky/bin/build-scripts.js | 33 | ||||
| -rw-r--r-- | bucky/bin/build-search.js | 3 | ||||
| -rw-r--r-- | bucky/search/lexicon.js | 2 | ||||
| -rw-r--r-- | bucky/util/middleware.js | 1 |
5 files changed, 43 insertions, 1 deletions
diff --git a/bucky/app/index.js b/bucky/app/index.js index b600935..71b2d57 100644 --- a/bucky/app/index.js +++ b/bucky/app/index.js @@ -69,6 +69,11 @@ site.init = function(){ app.set('view engine', 'ejs') app.set('views', path.join(__dirname, '../../views')) app.use(express.static(path.join(__dirname, '../../public'))) + + // rebuild javascript after restarting server + if (process.env.NODE_ENV === 'production') { + require('../bin/build-scripts') + } } site.route = require('./router') diff --git a/bucky/bin/build-scripts.js b/bucky/bin/build-scripts.js new file mode 100644 index 0000000..43cb20e --- /dev/null +++ b/bucky/bin/build-scripts.js @@ -0,0 +1,33 @@ +var fs = require('fs') +var UglifyJS = require("uglify-es") + +var index = fs.readFileSync('views/partials/scripts.ejs', "utf8") + +var scripts = {} +index.split('\n') + .map(line => { + var pz = line.split('"') + if (pz.length < 3) return null + return 'public' + pz[1] + }) + .filter(fn => !! fn) + .forEach(fn => { + scripts[fn] = fs.readFileSync(fn, "utf8") + }) + +var result = UglifyJS.minify(scripts, { + sourceMap: { + filename: "app.js", + url: "app.js.map" + } +}) +if (result.error) { + console.error(result.error) +} +if (result.warnings) { + console.error(result.warnings) +} +fs.writeFileSync("public/assets/min/app.min.js", result.code, "utf8") +fs.writeFileSync("public/assets/min/app.min.js.map", result.map, "utf8") + + diff --git a/bucky/bin/build-search.js b/bucky/bin/build-search.js new file mode 100644 index 0000000..d417087 --- /dev/null +++ b/bucky/bin/build-search.js @@ -0,0 +1,3 @@ +var search = require('../search/lexicon') +search.build() + diff --git a/bucky/search/lexicon.js b/bucky/search/lexicon.js index a9729fd..e6a9e84 100644 --- a/bucky/search/lexicon.js +++ b/bucky/search/lexicon.js @@ -9,7 +9,7 @@ var search_db = bdb('search') var lexicon = {} var total = 0 -build_index() +module.exports = { build: build_index } function build_index() { parse_threads() diff --git a/bucky/util/middleware.js b/bucky/util/middleware.js index a744c89..a27e745 100644 --- a/bucky/util/middleware.js +++ b/bucky/util/middleware.js @@ -11,6 +11,7 @@ var middleware = module.exports = { ensureLocals: function (req, res, next) { res.locals.csrfToken = req.csrfToken() res.locals.title = "bucky" + res.locals.env = process.env.NODE_ENV if (req.isAuthenticated()) { res.locals.show_header = true } |
