Skip to content

Commit

Permalink
add validations in the input file
Browse files Browse the repository at this point in the history
  • Loading branch information
Caio-Bessa committed Nov 17, 2020
1 parent cf24c92 commit 8984668
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
6 changes: 6 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ const fs = require("fs-extra");
const { DOMParser } = require("xmldom");
const cliProgress = require("cli-progress");
var archiver = require("archiver");
const { isConfigurationJsonValid } = require("./validations");


const CSS_FILES_PATTERN = "/**/*.css";
Expand Down Expand Up @@ -134,6 +135,11 @@ function createResultsDirectory() {

const run = async () => {
try {

const isValid = await isConfigurationJsonValid();

if(!isValid) return;

configurations = await getConfigurations();
const { ejbServerComponents, webClientComponents } = configurations;
// EjbServer
Expand Down
57 changes: 57 additions & 0 deletions validations.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
const fs = require("fs-extra");
const path = require("path");

async function isConfigurationJsonValid(){

const configurationsFileLocation = path.join(__dirname, "configuration.json");

if(!fs.existsSync(configurationsFileLocation)){
console.log(`The configurations.json file is missing`);
return false;
}

async function getConfigurations() {
const configurations = await fs.readJSON(configurationsFileLocation
);
return configurations;
}

const errorsMessages = [];
const {ejbServerComponents, webClientComponents, skipComponents } = await getConfigurations();



if(!webClientComponents){
errorsMessages.push( `The field "webClientComponents" is missing`);
}


if(!ejbServerComponents){
errorsMessages.push( `The field "ejbServerComponents" is missing`);
}


if(skipComponents && !Array.isArray(skipComponents)){
errorsMessages.push(`The field "skipComponents" must be an array of string`);
}

// test paths
if(webClientComponents && !fs.existsSync(webClientComponents)){
errorsMessages.push(`The path in "webClientComponents" does not exist`);
}

if(ejbServerComponents && !fs.existsSync(ejbServerComponents)){
errorsMessages.push(`The path in "ejbServerComponents" does not exist`);
}

if(errorsMessages.length){
console.error("Errors found:")
errorsMessages.forEach( message => {
console.error(`* ${message}`);
})
return false;
}
return true;
}

module.exports = { isConfigurationJsonValid };

0 comments on commit 8984668

Please sign in to comment.