mirror of
https://github.com/sbrl/terrain50-cli.git
synced 2024-07-02 11:14:54 +00:00
35 lines
780 B
JavaScript
35 lines
780 B
JavaScript
|
"use strict";
|
||
|
|
||
|
import fs from 'fs';
|
||
|
|
||
|
import a from '../../Helpers/Ansi.mjs';
|
||
|
import Terrain50 from 'terrain50';
|
||
|
|
||
|
export default async function(_settings) {
|
||
|
// Read stdin into a string - ref https://stackoverflow.com/a/56012724/1460422
|
||
|
let source = fs.readFileSync(0, 'utf-8');
|
||
|
|
||
|
let errors = Terrain50.Validate(source);
|
||
|
|
||
|
if(errors.length > 0) {
|
||
|
for(let error of errors) {
|
||
|
switch(error.level) {
|
||
|
case "warning":
|
||
|
console.log(`${a.fyellow}${a.hicol}${error}${a.reset}`);
|
||
|
break;
|
||
|
case "error":
|
||
|
console.log(`${a.fred}${a.hicol}${error}${a.reset}`);
|
||
|
break;
|
||
|
default:
|
||
|
console.log(error);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
process.exit(1);
|
||
|
}
|
||
|
else {
|
||
|
console.log(`${a.fgreen}Validation completed successfully - no issues detected :D${a.reset}`);
|
||
|
}
|
||
|
|
||
|
}
|