Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • ask-user-to-delete-exercises-on-duplicates
  • jw_sonar
  • jw_sonar_backup
  • main
  • move-to-esm-only
  • open_tool_for_self_hosting
  • v5.0
  • v6.0
  • v4.1
  • v4.2
10 results

Target

Select target project
  • dojo_project/projects/shared/nodeclientsharedcode
1 result
Select Git revision
  • ask-user-to-delete-exercises-on-duplicates
  • jw_sonar
  • jw_sonar_backup
  • main
  • move-to-esm-only
  • open_tool_for_self_hosting
  • v5.0
  • v6.0
  • v4.1
  • v4.2
10 results
Show changes
Commits on Source (2)
import { TypedEmitter } from 'tiny-typed-emitter';
import AssignmentValidatorEvents from '../../types/Dojo/AssignmentValidatorEvents';
import SharedAssignmentHelper from '../../../shared/helpers/Dojo/SharedAssignmentHelper';
import AssignmentValidatorEvents from '../../types/Dojo/AssignmentValidatorEvents.js';
import SharedAssignmentHelper from '../../../shared/helpers/Dojo/SharedAssignmentHelper.js';
import path from 'node:path';
import AssignmentCheckerError from '../../../shared/types/Dojo/AssignmentCheckerError';
import AssignmentCheckerError from '../../../shared/types/Dojo/AssignmentCheckerError.js';
import fs from 'fs-extra';
import ClientsSharedConfig from '../../config/ClientsSharedConfig';
import ClientsSharedConfig from '../../config/ClientsSharedConfig.js';
import YAML from 'yaml';
import DojoDockerCompose from '../../types/Dojo/DojoDockerCompose';
import DojoDockerCompose from '../../types/Dojo/DojoDockerCompose.js';
import { exec, spawn } from 'child_process';
import AssignmentFile from '../../../shared/types/Dojo/AssignmentFile';
import ExerciseDockerCompose from './ExerciseDockerCompose';
import AssignmentFile from '../../../shared/types/Dojo/AssignmentFile.js';
import ExerciseDockerCompose from './ExerciseDockerCompose.js';
import util from 'util';
......@@ -288,7 +288,7 @@ class AssignmentValidator {
}
run() {
(async () => {
void (async () => {
try {
await this.checkRequirements();
......
import chalk from 'chalk';
import boxen from 'boxen';
import Icon from '../../../shared/types/Icon';
import AssignmentValidator from './AssignmentValidator';
import Icon from '../../../shared/types/Icon.js';
import AssignmentValidator from './AssignmentValidator.js';
class ClientsSharedAssignmentHelper {
......
import ExerciseResultsFile from '../../../shared/types/Dojo/ExerciseResultsFile';
import ExerciseResultsFile from '../../../shared/types/Dojo/ExerciseResultsFile.js';
import chalk from 'chalk';
import boxen from 'boxen';
import Icon from '../../../shared/types/Icon';
import Icon from '../../../shared/types/Icon.js';
class ClientsSharedExerciseHelper {
......
import ApiRoute from '../../types/Dojo/ApiRoute';
import ClientsSharedConfig from '../../config/ClientsSharedConfig';
import ApiRoute from '../../types/Dojo/ApiRoute.js';
import ClientsSharedConfig from '../../config/ClientsSharedConfig.js';
class DojoBackendHelper {
......
import AssignmentFile from '../../../shared/types/Dojo/AssignmentFile';
import AssignmentFile from '../../../shared/types/Dojo/AssignmentFile.js';
import { TypedEmitter } from 'tiny-typed-emitter';
import ExerciseRunningEvents from '../../types/Dojo/ExerciseRunningEvents';
import ExerciseRunningEvents from '../../types/Dojo/ExerciseRunningEvents.js';
import { spawn } from 'child_process';
import ExerciseCheckerError from '../../../shared/types/Dojo/ExerciseCheckerError';
import ExerciseCheckerError from '../../../shared/types/Dojo/ExerciseCheckerError.js';
import { ChildProcessWithoutNullStreams } from 'node:child_process';
......@@ -60,10 +60,12 @@ class ExerciseDockerCompose {
private registerChildProcess(childProcess: ChildProcessWithoutNullStreams, resolve: (value: (number | PromiseLike<number>)) => void, reject: (reason?: unknown) => void, displayable: boolean, rejectIfCodeIsNotZero: boolean) {
childProcess.stdout.on('data', data => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-call
this.log(data.toString(), false, displayable);
});
childProcess.stderr.on('data', data => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-call
this.log(data.toString(), true, displayable);
});
......@@ -73,7 +75,7 @@ class ExerciseDockerCompose {
}
run(doDown: boolean = false) {
(async () => {
void (async () => {
let containerExitCode: number = -1;
const filesOverrideArguments = this.composeFileOverride.map(file => `--file "${ file }"`).join(' ');
......
import { TypedEmitter } from 'tiny-typed-emitter';
import ExerciseRunningEvents from '../../types/Dojo/ExerciseRunningEvents';
import ExerciseCheckerError from '../../../shared/types/Dojo/ExerciseCheckerError';
import ExerciseRunningEvents from '../../types/Dojo/ExerciseRunningEvents.js';
import ExerciseCheckerError from '../../../shared/types/Dojo/ExerciseCheckerError.js';
import path from 'node:path';
import ClientsSharedConfig from '../../config/ClientsSharedConfig';
import Toolbox from '../../../shared/helpers/Toolbox';
import ClientsSharedConfig from '../../config/ClientsSharedConfig.js';
import Toolbox from '../../../shared/helpers/Toolbox.js';
import * as fs from 'fs-extra';
import ExerciseResultsFile from '../../../shared/types/Dojo/ExerciseResultsFile';
import ExerciseResultsFile from '../../../shared/types/Dojo/ExerciseResultsFile.js';
import JSON5 from 'json5';
import Json5FileValidator from '../../../shared/helpers/Json5FileValidator';
import Json5FileValidator from '../../../shared/helpers/Json5FileValidator.js';
class ExerciseResultsSanitizerAndValidator {
......@@ -27,7 +27,7 @@ class ExerciseResultsSanitizerAndValidator {
this.containerExitCode = containerExitCode;
}
private async resultsFileSanitization() {
private resultsFileSanitization() {
this.events.emit('step', 'RESULTS_FILE_SANITIZATION', 'Sanitizing results file');
if ( this.exerciseResults.success === undefined ) {
......@@ -57,7 +57,7 @@ class ExerciseResultsSanitizerAndValidator {
// Results file content sanitization
await this.resultsFileSanitization();
this.resultsFileSanitization();
// Results folder size
......@@ -76,19 +76,14 @@ class ExerciseResultsSanitizerAndValidator {
return true;
}
private async resultsFileNotProvided(): Promise<boolean> {
await this.resultsFileSanitization();
return true;
}
run() {
(async () => {
void (async () => {
// Results file existence
this.events.emit('step', 'CHECK_RESULTS_FILE_EXIST', 'Checking if results file exists');
const resultsFileOriginPath = path.join(this.folderResultsExercise, ClientsSharedConfig.filenames.results);
this.resultsFilePath = path.join(this.folderResultsDojo, ClientsSharedConfig.filenames.results);
let result: boolean;
let result: boolean = true;
if ( fs.existsSync(resultsFileOriginPath) ) {
this.events.emit('endStep', 'CHECK_RESULTS_FILE_EXIST', 'Results file found', false);
......@@ -102,7 +97,7 @@ class ExerciseResultsSanitizerAndValidator {
} else {
this.events.emit('endStep', 'CHECK_RESULTS_FILE_EXIST', 'Results file not found', false);
result = await this.resultsFileNotProvided();
this.resultsFileSanitization();
}
if ( result ) {
......
import User from './User';
import Exercise from './Exercise';
import User from './User.js';
import Exercise from './Exercise.js';
import * as Gitlab from '@gitbeaker/rest';
......
import User from './User';
import Assignment from './Assignment';
import User from './User.js';
import Assignment from './Assignment.js';
import * as Gitlab from '@gitbeaker/rest';
......
import AssignmentFile from '../../shared/types/Dojo/AssignmentFile';
import Assignment from './Assignment';
import AssignmentFile from '../../shared/types/Dojo/AssignmentFile.js';
import Assignment from './Assignment.js';
import * as Gitlab from '@gitbeaker/rest';
......
import UserRole from './UserRole';
import Exercise from './Exercise';
import Assignment from './Assignment';
import UserRole from './UserRole.js';
import Exercise from './Exercise.js';
import Assignment from './Assignment.js';
import * as Gitlab from '@gitbeaker/rest';
......