// Read from the .env file // ATTENTION : This lines MUST be the first of this file (except for the path import) const path = require('node:path'); const myEnv = require('dotenv').config({ path : path.join(__dirname, '../.env'), DOTENV_KEY: 'dotenv://:key_f1778b6998874f6fd78c716ccef982c5595fa300f174b129eafc88ba7044d69b@dotenv.local/vault/.env.vault?environment=development' }); require('dotenv-expand').expand(myEnv); require('./shared/helpers/TypeScriptExtensions'); // ATTENTION : This line MUST be the second of this file import ClientsSharedAssignmentHelper from './sharedByClients/helpers/Dojo/ClientsSharedAssignmentHelper'; import AssignmentValidator from './sharedByClients/helpers/Dojo/AssignmentValidator'; import Styles from './types/Style'; import { exec } from 'child_process'; import util from 'util'; import HttpManager from './managers/HttpManager'; import Config from './config/Config'; import Icon from './sharedByClients/types/Icon'; (async () => { const execAsync = util.promisify(exec); HttpManager.registerAxiosInterceptor(); console.log(Styles.APP_NAME(`${ Config.appName } (version {{VERSION}})`)); const assignmentValidator = new AssignmentValidator(Config.folders.project); try { await new Promise<void>((resolve, reject) => { assignmentValidator.events.on('step', (name: string, message: string) => { console.log(Styles.CAT_INFO(`${ Icon.CAT_INFO } ${ message }`)); }); assignmentValidator.events.on('subStep', (name: string, message: string) => { console.log(Styles.INFO(`\t${ Icon.INFO } ${ message }`)); }); assignmentValidator.events.on('endSubStep', (stepName: string, message: string, error: boolean) => { if ( error ) { console.error(Styles.ERROR(`\t${ Icon.ERROR } ${ message }`)); } }); assignmentValidator.events.on('finished', (success: boolean, exitCode: number) => { success ? resolve() : reject(); }); assignmentValidator.run(); }); } catch ( error ) { } ClientsSharedAssignmentHelper.displayExecutionResults(assignmentValidator, `The assignment is ready to be published.`, Styles); process.exit(assignmentValidator.exitCode); })();