2
0
mirror of https://github.com/frappe/books.git synced 2024-11-14 01:14:03 +00:00
books/webpack/utils.js
Faris Ansari ddd9a786d2 Frappe CLI for development
- frappe start command
  - starts frappejs server
  - sets up webpack middleware to bundle files
- introduce frappe.conf.js for configuration
2018-07-29 16:51:03 +05:30

44 lines
950 B
JavaScript

const fs = require('fs');
const path = require('path');
const chalk = require('chalk');
const deepmerge = require('deepmerge');
const logger = require('./logger');
const frappeConf = 'frappe.conf.js';
function getAppDir() {
let dir = process.cwd();
if (fs.existsSync(path.join(dir, frappeConf))) {
return dir;
}
warn = logger('utils', 'red')
warn();
warn(`Looks like this is not the root of a FrappeJS project`);
warn(`Please run this command from a folder which contains ${chalk.yellow(frappeConf)} file`);
warn();
process.exit(1);
}
function getAppConfig() {
const defaults = {
dev: {
devServerHost: 'localhost',
devServerPort: 8000
}
}
const appConfig = require(path.resolve(getAppDir(), frappeConf));
return deepmerge(defaults, appConfig);
}
function resolveAppDir(...args) {
return path.resolve(getAppDir(), ...args);
}
module.exports = {
getAppDir,
getAppConfig,
resolveAppDir
}