Home Manual Reference Source Test

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;