UNPKG

1.12 kBJavaScriptView Raw
1'use strict';
2
3require('global-or-local').install([
4 'nsfw',
5 'rollup',
6 'tarima-browser-sync',
7 'tarima-bower',
8 'tarima-lr',
9 'tarima-juice',
10 'talavera',
11 'node-notifier',
12 'csso',
13 'terser',
14].concat(require('./support').getDependencies()));
15
16const fs = require('fs');
17
18const merge = require('./helpers/merge');
19const _parse = require('./helpers/parse');
20const render = require('./helpers/render');
21const bundler = require('./helpers/bundler');
22
23const postFilters = require('./helpers/post-filters');
24
25function partial(params) {
26 return (locals, cb) => {
27 if (typeof locals === 'function') {
28 cb = locals;
29 locals = {};
30 }
31
32 params.locals = merge({}, params.locals, locals);
33
34 const end = postFilters(params, cb);
35
36 render(params, end);
37 };
38}
39
40module.exports = {
41 load(filename, options) {
42 return this.parse(filename, fs.readFileSync(filename).toString(), options);
43 },
44 parse(filename, source, options) {
45 const params = _parse(filename, source, options);
46
47 return {
48 params,
49 render: partial(params),
50 bundle: bundler(params, options),
51 };
52 },
53};