UNPKG

create-new-app

Version:

Easily generate a new React application, optionally with Express & MongoDB.

35 lines (27 loc) 1.04 kB
const fs = require('fs-extra') const {Linter} = require('eslint') const linter = new Linter() const filesAndFolders = require('../config/filesAndFolders') const {absolutePathConfig, listFolderContents} = require('./folderFileHelper') const lintConfig = { parserOptions: { ecmaVersion: 10, sourceType: 'module', }, } function jsFilesAreValid(appPath, appType) { const folders = absolutePathConfig(appPath, filesAndFolders[appType]) const jsFiles = Object.keys(folders).reduce((acc, folder) => { const jsFilesInFolder = listFolderContents(folder, { files: true, }).filter(file => file.endsWith('.js')) return acc.concat(jsFilesInFolder) }, []) const errors = jsFiles.reduce((acc, file) => { const fileContents = fs.readFileSync(file, 'utf8') const errors = linter.verify(fileContents, lintConfig).filter(e => e.fatal) return acc.concat(errors.map(e => ({...e, file /*fileContents*/}))) }, []) return !errors.length || JSON.stringify(errors, null, 2) } module.exports = jsFilesAreValid