src/lib/config/ProjectConfig.js
import { join as joinPath } from 'path';
import { EOL } from 'os';
import { transformFileSync as transpile } from 'babel-core';
import { log, colors } from 'gulp-util';
import execute from 'eval';
/**
* The path to the project's configuration file.
* @type {String}
*/
export const path = joinPath(process.cwd(), 'Atviseproject.js');
let configCode;
try {
configCode = transpile(path, {
presets: ['node6'],
}).code;
} catch (e) {
log(colors.red('Detected syntax error inside Atviseproject.js'));
log('Location: ', colors.cyan(`${e.loc.line}:${e.loc.column}`), `${EOL}${e.codeFrame}`);
process.exit(1);
}
/**
* The project's configuration
* @type {Atviseproject}
*/
const ProjectConfig = execute(configCode, path, {}, true).default;
export default ProjectConfig;