Skip to content
Snippets Groups Projects
Commit 658e899b authored by michael.minelli's avatar michael.minelli
Browse files

Typescript => ESLint

parent 0669eaf8
Branches
Tags
No related merge requests found
Pipeline #26938 passed
......@@ -4,8 +4,8 @@
#/--------------------------------------------------/
# development
DOTENV_VAULT_DEVELOPMENT="1IL1le/MSmLP5ikyD+SN+O1/lxN+d3xvFqrAKxAd9Kil5QJwZ6QBHB2PshSK4velr89Es2J05xYjjrxm5bCavNiHK6ZEPn0lgvQBRkEuZB+xm728lYE684Uij98v10K5ZyOGW6jlXzbfytnexit4QZOFILTpJEZzyXZYP+PjW1fa5ecs++Pml76UTsIuyw7lFvJ6x0oeMljbaUIZGys5MLQPz8NepwmZNKu8qG5ld6jZJ47rvSvjxJQkUPwmHkxPcuxztetdkIBOYdXvbhR3FKpxQlAosdq1YaznQooZdj1PCSBmLE/217M+l4yCUPfj3fVMWIzlcLuDdwjfq5G3E82LIBi5L7zPFaQZE4DkaKZRO5utpF6DliGSueRV/+Rf/sJGjCbAyxvSaofkn3EZwbSMqfDW5kDpQzFfdPOoCUNYu3tTqrTNeTY7lgurIjidaqHkZQS1rau8cU+6J3C0GB34amREQx5crrf/obeEfkBtpZKTZG7+a5u5ZGcp+roiIqAFhOMtbh/aqpqmLcGdTtRRmHoOCV+YLb6q1YZiJNA/JIqGTrQncj4KeRIsgnhENFQa0MQ8U7ROrKICalSY0Vg4B/EMALFadi2oXA57+FVWO1DnjErYKFrmfVBW2+obYovrB95oE4QhTHTu/HTW1r7YNZUAAtLGMguqfbAjrhL7jVbduKeo7BRGJmxHsv4UVMeUoiRgKpd5Ig/t9y7+feSaKC1KeDeBgBD6IpfM9hl9LcyI/SEKML0O5oZORXvc8L7vBBB+ylFfS/LfehCzdLbcqSVog1YgVQAPg7wD+8m/91BgEqy7aCdDT4K+U9kDx8hECDTohcooBH3NVz2F5QT9mxOvlZ+ImG3VANcH3sm4CcGvHHPapervtvNjBApr6F4xW7KHiCUr65X5yQ1ilHg7Bkf2+MthCaQHG0Jo5Fwb3nk3Sp0SUmB/YZn/0ruOQ8cKTHkSAb8y+MXCFpC4L/0gBYsEPWgvAi5S2FvOeVZiIYMvxHYxulqRrErl2euLVrGCHoFdxEQdJ92AlyEYztYQG/dR2oRRYlhw/tRCPpZZzfGvAaI7FgmKIppkzt8="
DOTENV_VAULT_DEVELOPMENT="Au1M8CnhJUGXCLf5E8mKtiOMbDsfBjJv0XOQqHUHooo2R+EaGhcAtrQb6SbgC8DNZE0yTbQob7QpapvLENGyXlrfrM6MPHAeVMJbV9w0EmAvvaKPK3Ri5EOENVPT+IF7L34T+5Tzd5VNMSaVntIYKt7rjyOVMbmr72mtUnyw1ZFCiKPSRUiYlEIfuxgvUZ2hB0GVh0XnUv+yXUAO8GLbbg45xGWYQUu+7SBEmnC9xOVuW0jTgluroTqu8GqWwK3Kiq87h13WPCVewVxWPtPIphdOxCxF8ockXvJ4oDgnMjiCKOYihxj1e25r83kLPpwCguOQr4/PFFKF20AfdNSa9cAZjMrWe5BIgpDCGOC9/q08OzGQfwR+KOQF1+aHWhjwvlA1+M4wuCH5ZSN8jOSsaPrMcEMeF/nHpU/3sGnGxcMo2zAjcPXwgbFqFEuAZyNz1rOJPMyv335p4ZXkpBsnkUy8BQ3sZDnybx+dZETvOYH2/17aNGGGN+eS9A+VWGegqeD1JRYdP6d+hWDWuEgSWDpmcHF4PW9R8xQxZZavhj+nposY+Evcmp1/qnYeERbavVyXh2L49fJfZzy/0rZzcgrMvrN3yOaKtjf5kmvZmHUNi4Y9WcebZXokcAHYrPPvWNq5yXtZVvVAxvLpLTi1DMcT7FqnAVYaqg4DxwIZ6Ny2kEssloi/bvNp0CidCcCovMh4HTjrRWp7IUv4YA9FekCQuf5dk+MZYf9n57Q6AOsI0YllzG5S/FfklhPkhOP7Twqy0LHcBHMjW79gpC1q2ZxM+iHIJVsZZ0LMduNvjLvNWe1c77lIH4eKDsD5Ocz+vECDcl7FFhSYEDHmN2rAJzL72+2IehPGVuHo/AMpyk9VCFk4viVgZNv+Bj15JC6/ioMPTZUCAQ1TD37am70gwVHCfLqfPK+W81MbXOCtuX8U/OStjSOGs9Y+0MF/My2v3XhZLer3Z4OTHAxFBd0B4tT4CxixYuNuD1QBxB4FjTUrbKbsZskMFd+75T9aGCaLsDfWzKrgWgElp6IrXLg4uvg16rIWMOL13YE+3NYYucEE1ZdPW+ZbAr1h8SCdZTXHEdgRQACEyqCiyJs2Xpy01hU59hMto+M8sA935xhAePOPDZ7jD4BqWOtQFP2+evXmsvvlf0lU7ANUT7QIYJKKwGA4rSpP7A=="
# production
DOTENV_VAULT_PRODUCTION="AkhlY5isBoAxVj632ISmuP6gPrB1u1DfsPUIw64HlEl1pr7xSsdQlyemBukr0XlKoE+IKBFy6hfVgqWvxe48BlCzMx41xVjfp5NoZGTXsJGgqlPa3NJDdWTTgSn68Q11TVagGOCQjQnRVjAV6NQFdwP1aKJ8/lg77cPlKrlWRphzAG0hHWWFecxOVs6DoMZPtHW6mabBiyC8MlBRhd4vqV84H1nbYlkSPzEcd9VRhZGLoA3uTHXKnXDoMeNKSK5Z9PxL/PmM/3duXKi/3NNvksLdAJlKGF9Q1sLQpWVDKtjoaKf5GumanxBXMdp5Gt5s0tf1TNAKkj9l6+HYN8jBkhVEh/OiHzMMhvMDDo+ZwhL6U8z0aTK+W8Y8KmGQ0BYp0uEtFSaxa95zJ18YBbs8FPLlUAvBlOlt5F7Z8tSkaSCcC3PNMRsnnzbwJquIh5AyS5scDqsvkdKmfSWb+LLdaY6TLa4conh5iFKkxe5GQ9JmaTGPBHzvhxJRJkUTZcpM5yPCizjFsa51E+FQqk+heI1Y0oAlL69xw+DOyNhAYU/rZJDkGyi7X9JZjgvpNROi1M1h72fO5/uz47mvlxzzg45w4nwk3k3R7azXzzdWsznPcEXu74LAfXC4+SRZuLEOtBbzHRLgM2WIo+CTOuqZGMPSqWhUWFmeCUL+9oON3K93IuvBB+ImtMKxqZIUevzlvv+yaKHod9PjOnpQ1FjKmgM9HZPsrcF/Y6Em98ckVaBpNJztfdVjsihVZGrpr2xlO9RmaQ=="
DOTENV_VAULT_PRODUCTION="UYGmmTiLq+yxMucNPc82nYxyvSfH9PMEVF91hN7qcR4KqaJtKIiiUXOwln+sEYf67Ga/8qSdLg67r5oka07sG0DWVMuWZjUq3RCPscFDZkILxcfg2C29o4gKcg6Kp4xDsFHA25I1Gu/6TZML6V5kk59a31TUDY3mA4AjvFANVh7bm90hWkKpa57YcIO6guH2RsDeuAYQEQt0m3o4zT1/QA7+f844Z7szCNa0vQ/U3h7mL16nqLDYzokWE6euIU9BYFMNL+H54odF8wGOnESMq032FYRbsN4nfeA2CvNclkIQnz3zn1zVGTQLNE/kDqTJOvrDA6tc6InM5ow1EoD6/8Do/Z/knB6Y0fo9BDDrsD0NTWFT0u/ukoURG8Eja9kw011S+bQiT3K3L+lpVL6Sy2Z4vK7qicg90BoejAdb9xvQ80zqqe7+jolczJeD+QeGSg1u2l7G0RAbuMiNKS4Rt3imTm3jYcYsE+YEUcDIciHuTtb9a4agZve4JsaQgu5+miLZWsNkPlCcD24L2d8M8rrxphjhsnFgRVqKXX77ec8d/SNt6NpS3DHgmEn3YQBdu1lkijLCVFXLJf0PlFSIRhaoSh/UBr+zcrfWURsZeFpOg5/Ssah2aocZzHJaddHrcWO6iXCEozsiLWeAZf0sxh9qDkcopaQQv7BeTdHMyGBwyDqWv1lbmNzOfXXRQojJRrGt+0QU4oGVGqLXHxoW9ruhmHTry+Vnr5jOjUchaIhrLOEg8GFPJ5PLSugoNpZ24IRrjA=="
Subproject commit 4d703a2dd39ec0c2b71bbbbda8900588c4e360bd
Subproject commit ffc5d65f9f0f0e825688177425e526131aa84631
// 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({
// ATTENTION : These lines MUST be the first of this file (except for the path import)
import path = require('node:path');
import myEnv = require('dotenv');
import dotenvExpand = require('dotenv-expand');
dotenvExpand.expand(myEnv.config({
path : path.join(__dirname, '../.env'),
DOTENV_KEY: 'dotenv://:key_bebfddf18e3dd9a0bafafe0e383313f75add1da6fbe41ea5fde51f37ef1776aa@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 ClientsSharedConfig from './sharedByClients/config/ClientsSharedConfig';
import Styles from './types/Style';
import Icon from './sharedByClients/types/Icon';
import RecursiveFilesStats from './shared/helpers/recursiveFilesStats/RecursiveFilesStats';
import Toolbox from './shared/helpers/Toolbox';
import ExerciseCheckerError from './shared/types/Dojo/ExerciseCheckerError';
import { exec } from 'child_process';
import util from 'util';
import fs from 'fs-extra';
import HttpManager from './managers/HttpManager';
import DojoBackendManager from './managers/DojoBackendManager';
......@@ -28,8 +31,6 @@ import ClientsSharedExerciseHelper from './sharedByClients/helpers/Dojo
(async () => {
const execAsync = util.promisify(exec);
HttpManager.registerAxiosInterceptor();
console.log(Styles.APP_NAME(`${ Config.appName } (version {{VERSION}})`));
......@@ -94,13 +95,13 @@ import ClientsSharedExerciseHelper from './sharedByClients/helpers/Dojo
}
});
exerciseDockerCompose.events.on('finished', (success: boolean, exitCode: number) => {
exerciseDockerCompose.events.on('finished', (success: boolean) => {
success ? resolve() : reject();
});
exerciseDockerCompose.run();
});
} catch ( error ) { }
} catch ( error ) { /* empty */ }
fs.rmSync(composeOverridePath, { force: true });
fs.writeFileSync(path.join(Config.folders.resultsDojo, 'dockerComposeLogs.txt'), exerciseDockerCompose.allLogs);
......@@ -138,7 +139,7 @@ import ClientsSharedExerciseHelper from './sharedByClients/helpers/Dojo
exerciseResultsValidation.run();
});
} catch ( error ) { }
} catch ( error ) { /* empty */ }
}
......@@ -146,9 +147,9 @@ import ClientsSharedExerciseHelper from './sharedByClients/helpers/Dojo
{
try {
console.log(Styles.INFO(`${ Icon.INFO } Uploading results to the dojo server`));
const commit: any = {};
const commit: Record<string, string> = {};
Toolbox.getKeysWithPrefix(process.env, 'CI_COMMIT_').forEach(key => {
commit[Toolbox.snakeToCamel(key.replace('CI_COMMIT_', ''))] = process.env[key];
commit[Toolbox.snakeToCamel(key.replace('CI_COMMIT_', ''))] = process.env[key] as string;
});
const files = await RecursiveFilesStats.explore(Config.folders.resultsVolume, {
......
......@@ -5,6 +5,7 @@ import ExerciseAssignment from '../sharedByClients/models/ExerciseAssignment';
import Config from '../config/Config';
import ExerciseResultsFile from '../shared/types/Dojo/ExerciseResultsFile';
import ApiRoute from '../sharedByClients/types/Dojo/ApiRoute';
import { IFileDirStat } from '../shared/helpers/recursiveFilesStats/RecursiveFilesStats';
class DojoBackendManager {
......@@ -20,8 +21,7 @@ class DojoBackendManager {
}
}
public async sendResults(exitCode: number, commit: any, results: ExerciseResultsFile, files: any, archiveBase64: string): Promise<void> {
try {
public async sendResults(exitCode: number, commit: Record<string, string>, results: ExerciseResultsFile, files: Array<IFileDirStat>, archiveBase64: string): Promise<void> {
await axios.post(this.getApiUrl(ApiRoute.EXERCISE_RESULTS).replace('{{id}}', Config.exercise.id), {
exitCode : exitCode,
commit : JSON.stringify(commit),
......@@ -29,9 +29,6 @@ class DojoBackendManager {
files : JSON.stringify(files),
archiveBase64: archiveBase64
});
} catch ( error ) {
throw error;
}
}
}
......
......@@ -59,7 +59,7 @@ class HttpManager {
}, (error) => {
if ( error.response ) {
if ( error.response.status === StatusCodes.METHOD_NOT_ALLOWED && error.response.data ) {
const data: DojoBackendResponse<{}> = error.response.data;
const data: DojoBackendResponse<void> = error.response.data;
switch ( data.code ) {
case DojoStatusCode.CLIENT_NOT_SUPPORTED:
......
Subproject commit 4a5eb68209ae9204b6d4cc8020bd62cf6a5be989
Subproject commit 101cc26895eb0b5fe97e03bb96039e0cddd94391
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment