cncjs
1import crypto from 'crypto';2import os from 'os';3import path from 'path';4import pkg from '../../package.json';5import urljoin from '../lib/urljoin';6
7const publicPath = ((payload) => {8const algorithm = 'sha1';9const buf = String(payload);10const hash = crypto.createHash(algorithm).update(buf).digest('hex');11return '/' + hash.substr(0, 8) + '/'; // 8 digits12})(pkg.version);13
14const maxAge = (365 * 24 * 60 * 60 * 1000); // one year15
16export default {17route: '/', // with trailing slash18assets: {19app: {20routes: [ // with trailing slash21urljoin(publicPath, '/'),22'/' // fallback23],24path: path.resolve(__dirname, '..', '..', 'app'),25maxAge: maxAge26}27},28backend: {29enable: false, // disable backend service in production30host: 'localhost',31port: 80,32route: 'api/'33},34cluster: {35// note. node-inspector cannot debug child (forked) process36enable: false,37maxWorkers: os.cpus().length || 138},39winston: {40// https://github.com/winstonjs/winston#logging-levels41level: 'info'42}43};44