diff --git a/helpers/Dojo/AssignmentValidator.ts b/helpers/Dojo/AssignmentValidator.ts
index a45d61d23f7f60ac7502523ae87994df47b23789..0ac4f467433283a5188cdd16ee722e3f91bfad11 100644
--- a/helpers/Dojo/AssignmentValidator.ts
+++ b/helpers/Dojo/AssignmentValidator.ts
@@ -1,15 +1,15 @@
 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';
 
 
diff --git a/helpers/Dojo/ClientsSharedAssignmentHelper.ts b/helpers/Dojo/ClientsSharedAssignmentHelper.ts
index 9c0eb460ac75a392c00af9c515b691979479eb2a..99d956a00cea8dc593852304f8ca89ea6c560e65 100644
--- a/helpers/Dojo/ClientsSharedAssignmentHelper.ts
+++ b/helpers/Dojo/ClientsSharedAssignmentHelper.ts
@@ -1,7 +1,7 @@
 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 {
diff --git a/helpers/Dojo/ClientsSharedExerciseHelper.ts b/helpers/Dojo/ClientsSharedExerciseHelper.ts
index 740b7695bf484dbb9e0c54bfa0f21bd902926c6a..9a5e925c2be8f7bfd74046d0369de72308c8f7be 100644
--- a/helpers/Dojo/ClientsSharedExerciseHelper.ts
+++ b/helpers/Dojo/ClientsSharedExerciseHelper.ts
@@ -1,7 +1,7 @@
-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 {
diff --git a/helpers/Dojo/DojoBackendHelper.ts b/helpers/Dojo/DojoBackendHelper.ts
index c682bfb71fdd895a6d3761fea6694754542074ee..b201276faef6eae814dcbff93f7c0325eea20d32 100644
--- a/helpers/Dojo/DojoBackendHelper.ts
+++ b/helpers/Dojo/DojoBackendHelper.ts
@@ -1,5 +1,5 @@
-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 {
diff --git a/helpers/Dojo/ExerciseDockerCompose.ts b/helpers/Dojo/ExerciseDockerCompose.ts
index 64d60c38346bee7ed44cc242e3ca6d79ed6c093e..7b088c6daa90e8298670ebeb8508d2aa31f85972 100644
--- a/helpers/Dojo/ExerciseDockerCompose.ts
+++ b/helpers/Dojo/ExerciseDockerCompose.ts
@@ -1,8 +1,8 @@
-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';
 
 
diff --git a/helpers/Dojo/ExerciseResultsSanitizerAndValidator.ts b/helpers/Dojo/ExerciseResultsSanitizerAndValidator.ts
index 38ffa923fd74d191787e20ebf832adc9e6325bec..08076689a5b96d5155e1968ceb96fe4ed347850d 100644
--- a/helpers/Dojo/ExerciseResultsSanitizerAndValidator.ts
+++ b/helpers/Dojo/ExerciseResultsSanitizerAndValidator.ts
@@ -1,13 +1,13 @@
 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 {
diff --git a/models/Assignment.ts b/models/Assignment.ts
index 554d4a5cbc6f9641b90a113361bb472943a2394e..5d8f03e445bfd5cfcb4f35c4761bad196e6a2465 100644
--- a/models/Assignment.ts
+++ b/models/Assignment.ts
@@ -1,5 +1,5 @@
-import User        from './User';
-import Exercise    from './Exercise';
+import User        from './User.js';
+import Exercise    from './Exercise.js';
 import * as Gitlab from '@gitbeaker/rest';
 
 
diff --git a/models/Exercise.ts b/models/Exercise.ts
index 0ec86f6e291dc74fe249e702772e347f93faca53..1cc6df278985b8bee554a0b78d96d5d558af0e4d 100644
--- a/models/Exercise.ts
+++ b/models/Exercise.ts
@@ -1,5 +1,5 @@
-import User        from './User';
-import Assignment  from './Assignment';
+import User        from './User.js';
+import Assignment  from './Assignment.js';
 import * as Gitlab from '@gitbeaker/rest';
 
 
diff --git a/models/ExerciseAssignment.ts b/models/ExerciseAssignment.ts
index ec75edaa84d2f0c464f6a50c901126f8c14298fd..7e0ff7ef88b9a451b9d6b32d12af2cc706c7115e 100644
--- a/models/ExerciseAssignment.ts
+++ b/models/ExerciseAssignment.ts
@@ -1,5 +1,5 @@
-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';
 
 
diff --git a/models/User.ts b/models/User.ts
index df757d182bab02ccb20caa11601aba34b1527372..1ac9fa2c0fd3f3376da03de0349b4920cd2c1114 100644
--- a/models/User.ts
+++ b/models/User.ts
@@ -1,6 +1,6 @@
-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';