Refine TS and linter configuration
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 27 Aug 2022 12:00:56 +0000 (14:00 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 27 Aug 2022 12:00:56 +0000 (14:00 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
72 files changed:
.vscode/extensions.json
src/charging-station/AutomaticTransactionGenerator.ts
src/charging-station/Bootstrap.ts
src/charging-station/ChargingStation.ts
src/charging-station/ChargingStationConfigurationUtils.ts
src/charging-station/ChargingStationUtils.ts
src/charging-station/MessageChannelUtils.ts
src/charging-station/SharedLRUCache.ts
src/charging-station/UIServiceWorkerBroadcastChannel.ts
src/charging-station/WorkerBroadcastChannel.ts
src/charging-station/ocpp/1.6/OCPP16IncomingRequestService.ts
src/charging-station/ocpp/1.6/OCPP16RequestService.ts
src/charging-station/ocpp/1.6/OCPP16ResponseService.ts
src/charging-station/ocpp/1.6/OCPP16ServiceUtils.ts
src/charging-station/ocpp/OCPPIncomingRequestService.ts
src/charging-station/ocpp/OCPPRequestService.ts
src/charging-station/ocpp/OCPPResponseService.ts
src/charging-station/ocpp/OCPPServiceUtils.ts
src/charging-station/ui-server/AbstractUIServer.ts
src/charging-station/ui-server/UIHttpServer.ts
src/charging-station/ui-server/UIServerFactory.ts
src/charging-station/ui-server/UIWebSocketServer.ts
src/charging-station/ui-server/ui-services/AbstractUIService.ts
src/charging-station/ui-server/ui-services/UIService001.ts
src/charging-station/ui-server/ui-services/UIServiceFactory.ts
src/charging-station/ui-server/ui-services/UIServiceUtils.ts
src/exception/OCPPError.ts
src/performance/PerformanceStatistics.ts
src/performance/storage/JsonFileStorage.ts
src/performance/storage/MikroOrmStorage.ts
src/performance/storage/MongoDBStorage.ts
src/performance/storage/Storage.ts
src/performance/storage/StorageFactory.ts
src/types/ChargingStationConfiguration.ts
src/types/ChargingStationInfo.ts
src/types/ChargingStationOcppConfiguration.ts
src/types/ChargingStationTemplate.ts
src/types/ChargingStationWorker.ts
src/types/ConfigurationData.ts
src/types/ConnectorStatus.ts
src/types/MeasurandPerPhaseSampledValueTemplates.ts
src/types/Statistics.ts
src/types/Storage.ts
src/types/UIProtocol.ts
src/types/Worker.ts
src/types/WorkerBroadcastChannel.ts
src/types/ocpp/1.6/ChargingProfile.ts
src/types/ocpp/1.6/MeterValues.ts
src/types/ocpp/1.6/Requests.ts
src/types/ocpp/1.6/Responses.ts
src/types/ocpp/1.6/Transaction.ts
src/types/ocpp/Configuration.ts
src/types/ocpp/Requests.ts
src/types/ocpp/Responses.ts
src/types/orm/entities/PerformanceRecord.ts
src/ui/web/.eslintrc.js
src/ui/web/package-lock.json
src/ui/web/package.json
src/ui/web/src/assets/config.ts
src/ui/web/src/composable/UIClient.ts
src/ui/web/src/router/index.ts
src/ui/web/src/type/ChargingStationType.ts
src/ui/web/src/type/UIProtocol.ts
src/ui/web/tsconfig.json
src/utils/Configuration.ts
src/utils/FileUtils.ts
src/utils/Logger.ts
src/worker/WorkerAbstract.ts
src/worker/WorkerDynamicPool.ts
src/worker/WorkerFactory.ts
src/worker/WorkerStaticPool.ts
tsconfig.json

index e2e32d61d2087403656707b729be3eecce1ba4b0..a7ac4de4a4d5fdba594e86afdc808285238ca7a9 100644 (file)
@@ -8,6 +8,7 @@
     "EditorConfig.EditorConfig",
     "ms-azuretools.vscode-docker",
     "streetsidesoftware.code-spell-checker",
-    "Vue.volar"
+    "Vue.volar",
+    "Vue.vscode-typescript-vue-plugin"
   ]
 }
index 56c97eee83a1093ddb741ce85bb180769b972491..8869a775d90443050b8630bc62fa88c3a6f006da 100644 (file)
@@ -1,12 +1,12 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
 import PerformanceStatistics from '../performance/PerformanceStatistics';
-import {
+import type {
   AutomaticTransactionGeneratorConfiguration,
   Status,
 } from '../types/AutomaticTransactionGenerator';
 import { MeterValuesRequest, RequestCommand } from '../types/ocpp/Requests';
-import { MeterValuesResponse } from '../types/ocpp/Responses';
+import type { MeterValuesResponse } from '../types/ocpp/Responses';
 import {
   AuthorizationStatus,
   AuthorizeRequest,
index 9fc759ff69c41bec24926dec35754249e762fb24..1fdb9eae79d8b0bb0364da7709bf24514f1036f2 100644 (file)
@@ -8,7 +8,7 @@ import chalk from 'chalk';
 
 import { version } from '../../package.json';
 import BaseError from '../exception/BaseError';
-import { Storage } from '../performance/storage/Storage';
+import type { Storage } from '../performance/storage/Storage';
 import { StorageFactory } from '../performance/storage/StorageFactory';
 import {
   ChargingStationData,
@@ -17,15 +17,15 @@ import {
   ChargingStationWorkerMessageData,
   ChargingStationWorkerMessageEvents,
 } from '../types/ChargingStationWorker';
-import { StationTemplateUrl } from '../types/ConfigurationData';
-import Statistics from '../types/Statistics';
+import type { StationTemplateUrl } from '../types/ConfigurationData';
+import type Statistics from '../types/Statistics';
 import Configuration from '../utils/Configuration';
 import logger from '../utils/Logger';
 import Utils from '../utils/Utils';
-import WorkerAbstract from '../worker/WorkerAbstract';
+import type WorkerAbstract from '../worker/WorkerAbstract';
 import WorkerFactory from '../worker/WorkerFactory';
 import { ChargingStationUtils } from './ChargingStationUtils';
-import { AbstractUIServer } from './ui-server/AbstractUIServer';
+import type { AbstractUIServer } from './ui-server/AbstractUIServer';
 import { UIServiceUtils } from './ui-server/ui-services/UIServiceUtils';
 import UIServerFactory from './ui-server/UIServerFactory';
 
index f74cf4bd89906bc6218d648d967e3e12913ef8b8..c5b89152199f53373bc6680648545c7205edab83 100644 (file)
@@ -11,19 +11,19 @@ import WebSocket, { Data, RawData } from 'ws';
 import BaseError from '../exception/BaseError';
 import OCPPError from '../exception/OCPPError';
 import PerformanceStatistics from '../performance/PerformanceStatistics';
-import { AutomaticTransactionGeneratorConfiguration } from '../types/AutomaticTransactionGenerator';
-import ChargingStationConfiguration from '../types/ChargingStationConfiguration';
-import ChargingStationInfo from '../types/ChargingStationInfo';
-import ChargingStationOcppConfiguration from '../types/ChargingStationOcppConfiguration';
+import type { AutomaticTransactionGeneratorConfiguration } from '../types/AutomaticTransactionGenerator';
+import type ChargingStationConfiguration from '../types/ChargingStationConfiguration';
+import type ChargingStationInfo from '../types/ChargingStationInfo';
+import type ChargingStationOcppConfiguration from '../types/ChargingStationOcppConfiguration';
 import ChargingStationTemplate, {
   CurrentType,
   PowerUnits,
   WsOptions,
 } from '../types/ChargingStationTemplate';
 import { SupervisionUrlDistribution } from '../types/ConfigurationData';
-import { ConnectorStatus } from '../types/ConnectorStatus';
+import type { ConnectorStatus } from '../types/ConnectorStatus';
 import { FileType } from '../types/FileType';
-import { JsonType } from '../types/JsonType';
+import type { JsonType } from '../types/JsonType';
 import { ChargePointErrorCode } from '../types/ocpp/ChargePointErrorCode';
 import { ChargePointStatus } from '../types/ocpp/ChargePointStatus';
 import { ChargingProfile, ChargingRateUnitType } from '../types/ocpp/ChargingProfile';
@@ -79,8 +79,8 @@ import OCPP16IncomingRequestService from './ocpp/1.6/OCPP16IncomingRequestServic
 import OCPP16RequestService from './ocpp/1.6/OCPP16RequestService';
 import OCPP16ResponseService from './ocpp/1.6/OCPP16ResponseService';
 import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import OCPPIncomingRequestService from './ocpp/OCPPIncomingRequestService';
-import OCPPRequestService from './ocpp/OCPPRequestService';
+import type OCPPIncomingRequestService from './ocpp/OCPPIncomingRequestService';
+import type OCPPRequestService from './ocpp/OCPPRequestService';
 import SharedLRUCache from './SharedLRUCache';
 
 export default class ChargingStation {
index 9a37190be0c7ab5366072ffc4996fd4a5699e240..004b95fc5083c0440909daf317d39bd239a88c10 100644 (file)
@@ -1,5 +1,5 @@
-import { ConfigurationKey } from '../types/ChargingStationOcppConfiguration';
-import { StandardParametersKey } from '../types/ocpp/Configuration';
+import type { ConfigurationKey } from '../types/ChargingStationOcppConfiguration';
+import type { StandardParametersKey } from '../types/ocpp/Configuration';
 import logger from '../utils/Logger';
 import type ChargingStation from './ChargingStation';
 
index 38dc60c37b3275e53553194894074e860758bd0f..645fbd95f31aea77430cc43e9163aa69848acde3 100644 (file)
@@ -5,15 +5,15 @@ import { fileURLToPath } from 'url';
 import moment from 'moment';
 
 import BaseError from '../exception/BaseError';
-import ChargingStationInfo from '../types/ChargingStationInfo';
+import type ChargingStationInfo from '../types/ChargingStationInfo';
 import ChargingStationTemplate, {
   AmpereUnits,
   CurrentType,
   Voltage,
 } from '../types/ChargingStationTemplate';
-import { SampledValueTemplate } from '../types/MeasurandPerPhaseSampledValueTemplates';
+import type { SampledValueTemplate } from '../types/MeasurandPerPhaseSampledValueTemplates';
 import { ChargingProfileKindType, RecurrencyKindType } from '../types/ocpp/1.6/ChargingProfile';
-import { ChargingProfile, ChargingSchedulePeriod } from '../types/ocpp/ChargingProfile';
+import type { ChargingProfile, ChargingSchedulePeriod } from '../types/ocpp/ChargingProfile';
 import { StandardParametersKey } from '../types/ocpp/Configuration';
 import { MeterValueMeasurand, MeterValuePhase } from '../types/ocpp/MeterValues';
 import {
index e2a7b0b40db6f3ed246ac3d34e59979bea7eb690..3084a38899c40789979ea9314614ea5a1bb063d0 100644 (file)
@@ -3,7 +3,7 @@ import {
   ChargingStationWorkerMessage,
   ChargingStationWorkerMessageEvents,
 } from '../types/ChargingStationWorker';
-import Statistics from '../types/Statistics';
+import type Statistics from '../types/Statistics';
 import type ChargingStation from './ChargingStation';
 
 export class MessageChannelUtils {
index a40de80293ad9090904be33cd5213e349bfe06fe..01e18734b673295004a3c033a5db37bd382d6c58 100644 (file)
@@ -1,7 +1,7 @@
 import LRUCache from 'mnemonist/lru-map-with-delete';
 
-import ChargingStationConfiguration from '../types/ChargingStationConfiguration';
-import ChargingStationTemplate from '../types/ChargingStationTemplate';
+import type ChargingStationConfiguration from '../types/ChargingStationConfiguration';
+import type ChargingStationTemplate from '../types/ChargingStationTemplate';
 import Utils from '../utils/Utils';
 
 enum CacheType {
index 3916f626ee6896a18c9e2898d7fb1da9c2e43456..5397e6906a076c28b1202dc9d59869fb640651aa 100644 (file)
@@ -1,4 +1,4 @@
-import { BroadcastChannelResponse, MessageEvent } from '../types/WorkerBroadcastChannel';
+import type { BroadcastChannelResponse, MessageEvent } from '../types/WorkerBroadcastChannel';
 import logger from '../utils/Logger';
 import type AbstractUIService from './ui-server/ui-services/AbstractUIService';
 import WorkerBroadcastChannel from './WorkerBroadcastChannel';
index ea89dc3dbf65f093f0a0bbfacdfdb32aab3c5f62..dba83cbb01fccdd367143906d53f8fd7a4d280bc 100644 (file)
@@ -1,7 +1,7 @@
 import { BroadcastChannel } from 'worker_threads';
 
 import BaseError from '../exception/BaseError';
-import {
+import type {
   BroadcastChannelRequest,
   BroadcastChannelResponse,
   MessageEvent,
index 298d6af2a7945501b13b07fed95fe43aa1c0c3a7..c870fbc14107624b0f942a09e5c9430c6e3144d6 100644 (file)
@@ -4,12 +4,12 @@ import fs from 'fs';
 import path from 'path';
 import { URL, fileURLToPath } from 'url';
 
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
 import { Client, FTPResponse } from 'basic-ftp';
 import tar from 'tar';
 
 import OCPPError from '../../../exception/OCPPError';
-import { JsonObject, JsonType } from '../../../types/JsonType';
+import type { JsonObject, JsonType } from '../../../types/JsonType';
 import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
 import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
 import {
@@ -21,7 +21,7 @@ import {
   OCPP16SupportedFeatureProfiles,
 } from '../../../types/ocpp/1.6/Configuration';
 import { OCPP16DiagnosticsStatus } from '../../../types/ocpp/1.6/DiagnosticsStatus';
-import {
+import type {
   OCPP16MeterValuesRequest,
   OCPP16MeterValuesResponse,
 } from '../../../types/ocpp/1.6/MeterValues';
@@ -47,7 +47,7 @@ import {
   SetChargingProfileRequest,
   UnlockConnectorRequest,
 } from '../../../types/ocpp/1.6/Requests';
-import {
+import type {
   ChangeAvailabilityResponse,
   ChangeConfigurationResponse,
   ClearChargingProfileResponse,
@@ -71,10 +71,10 @@ import {
   OCPP16StopTransactionRequest,
   OCPP16StopTransactionResponse,
 } from '../../../types/ocpp/1.6/Transaction';
-import { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
+import type { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
 import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { IncomingRequestHandler } from '../../../types/ocpp/Requests';
-import { DefaultResponse } from '../../../types/ocpp/Responses';
+import type { IncomingRequestHandler } from '../../../types/ocpp/Requests';
+import type { DefaultResponse } from '../../../types/ocpp/Responses';
 import Constants from '../../../utils/Constants';
 import logger from '../../../utils/Logger';
 import Utils from '../../../utils/Utils';
index a0f09bb8336d76ce442b88e26056829a0e63c12e..4fa0190e84224464f92b8d2e4cda4cb35bc68b7a 100644 (file)
@@ -4,11 +4,11 @@ import fs from 'fs';
 import path from 'path';
 import { fileURLToPath } from 'url';
 
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
 
 import OCPPError from '../../../exception/OCPPError';
-import { JsonObject, JsonType } from '../../../types/JsonType';
-import { OCPP16MeterValuesRequest } from '../../../types/ocpp/1.6/MeterValues';
+import type { JsonObject, JsonType } from '../../../types/JsonType';
+import type { OCPP16MeterValuesRequest } from '../../../types/ocpp/1.6/MeterValues';
 import {
   DiagnosticsStatusNotificationRequest,
   OCPP16BootNotificationRequest,
@@ -16,13 +16,13 @@ import {
   OCPP16RequestCommand,
   OCPP16StatusNotificationRequest,
 } from '../../../types/ocpp/1.6/Requests';
-import {
+import type {
   OCPP16AuthorizeRequest,
   OCPP16StartTransactionRequest,
   OCPP16StopTransactionRequest,
 } from '../../../types/ocpp/1.6/Transaction';
 import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { RequestParams } from '../../../types/ocpp/Requests';
+import type { RequestParams } from '../../../types/ocpp/Requests';
 import Constants from '../../../utils/Constants';
 import logger from '../../../utils/Logger';
 import Utils from '../../../utils/Utils';
@@ -144,14 +144,14 @@ export default class OCPP16RequestService extends OCPPRequestService {
     this.validatePayload.bind(this);
   }
 
-  public async requestHandler<Request extends JsonType, Response extends JsonType>(
+  public async requestHandler<RequestType extends JsonType, ResponseType extends JsonType>(
     chargingStation: ChargingStation,
     commandName: OCPP16RequestCommand,
     commandParams?: JsonType,
     params?: RequestParams
-  ): Promise<Response> {
+  ): Promise<ResponseType> {
     if (ChargingStationUtils.isRequestCommandSupported(commandName, chargingStation)) {
-      const requestPayload = this.buildRequestPayload<Request>(
+      const requestPayload = this.buildRequestPayload<RequestType>(
         chargingStation,
         commandName,
         commandParams
@@ -163,7 +163,7 @@ export default class OCPP16RequestService extends OCPPRequestService {
         requestPayload,
         commandName,
         params
-      )) as unknown as Response;
+      )) as unknown as ResponseType;
     }
     throw new OCPPError(
       ErrorType.NOT_SUPPORTED,
index cf7e729e09c2cafdeece6771f5b7d3a3dde7f912..70ae3c258445285b18a183794cb6765bba33dccc 100644 (file)
@@ -4,14 +4,14 @@ import fs from 'fs';
 import path from 'path';
 import { fileURLToPath } from 'url';
 
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
 
 import OCPPError from '../../../exception/OCPPError';
-import { JsonObject, JsonType } from '../../../types/JsonType';
+import type { JsonObject, JsonType } from '../../../types/JsonType';
 import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
 import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
 import { OCPP16StandardParametersKey } from '../../../types/ocpp/1.6/Configuration';
-import {
+import type {
   OCPP16MeterValuesRequest,
   OCPP16MeterValuesResponse,
 } from '../../../types/ocpp/1.6/MeterValues';
@@ -37,7 +37,7 @@ import {
   OCPP16StopTransactionResponse,
 } from '../../../types/ocpp/1.6/Transaction';
 import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { ResponseHandler } from '../../../types/ocpp/Responses';
+import type { ResponseHandler } from '../../../types/ocpp/Responses';
 import logger from '../../../utils/Logger';
 import Utils from '../../../utils/Utils';
 import type ChargingStation from '../../ChargingStation';
index 2a154e7b78e9dd26a6ebb2b300f968c7dba3f712..0915aa462b3fa70deefacd04cdcdc9918063c2fc 100644 (file)
@@ -2,10 +2,10 @@
 
 import OCPPError from '../../../exception/OCPPError';
 import { CurrentType, Voltage } from '../../../types/ChargingStationTemplate';
-import MeasurandPerPhaseSampledValueTemplates, {
-  SampledValueTemplate,
-} from '../../../types/MeasurandPerPhaseSampledValueTemplates';
-import MeasurandValues from '../../../types/MeasurandValues';
+import type MeasurandPerPhaseSampledValueTemplates from '../../../types/MeasurandPerPhaseSampledValueTemplates';
+// eslint-disable-next-line no-duplicate-imports
+import type { SampledValueTemplate } from '../../../types/MeasurandPerPhaseSampledValueTemplates';
+import type MeasurandValues from '../../../types/MeasurandValues';
 import {
   OCPP16StandardParametersKey,
   OCPP16SupportedFeatureProfiles,
index 0e69fcfcac9ad0d587b8d3656a8cb356416651f5..4b68b8a8be7483f7b53a03555d5faa70995986f4 100644 (file)
@@ -1,11 +1,11 @@
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
 import Ajv from 'ajv-draft-04';
 import ajvFormats from 'ajv-formats';
 
 import OCPPError from '../../exception/OCPPError';
-import { HandleErrorParams } from '../../types/Error';
-import { JsonType } from '../../types/JsonType';
-import { IncomingRequestCommand } from '../../types/ocpp/Requests';
+import type { HandleErrorParams } from '../../types/Error';
+import type { JsonType } from '../../types/JsonType';
+import type { IncomingRequestCommand } from '../../types/ocpp/Requests';
 import logger from '../../utils/Logger';
 import type ChargingStation from '../ChargingStation';
 import { OCPPServiceUtils } from './OCPPServiceUtils';
index 236508bbae983fadfcc70b883ba1e72638577497..c3311b856d3a21e267dd52141715a9a3cd6bc72d 100644 (file)
@@ -1,12 +1,12 @@
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
 import Ajv from 'ajv-draft-04';
 import ajvFormats from 'ajv-formats';
 
 import OCPPError from '../../exception/OCPPError';
 import PerformanceStatistics from '../../performance/PerformanceStatistics';
-import { EmptyObject } from '../../types/EmptyObject';
-import { HandleErrorParams } from '../../types/Error';
-import { JsonObject, JsonType } from '../../types/JsonType';
+import type { EmptyObject } from '../../types/EmptyObject';
+import type { HandleErrorParams } from '../../types/Error';
+import type { JsonObject, JsonType } from '../../types/JsonType';
 import { ErrorType } from '../../types/ocpp/ErrorType';
 import { MessageType } from '../../types/ocpp/MessageType';
 import {
@@ -16,7 +16,7 @@ import {
   RequestParams,
   ResponseType,
 } from '../../types/ocpp/Requests';
-import { ErrorResponse, Response } from '../../types/ocpp/Responses';
+import type { ErrorResponse, Response } from '../../types/ocpp/Responses';
 import Constants from '../../utils/Constants';
 import logger from '../../utils/Logger';
 import Utils from '../../utils/Utils';
@@ -368,10 +368,10 @@ export default abstract class OCPPRequestService {
   }
 
   // eslint-disable-next-line @typescript-eslint/no-unused-vars
-  public abstract requestHandler<Request extends JsonType, Response extends JsonType>(
+  public abstract requestHandler<RequestType extends JsonType, ResponseType extends JsonType>(
     chargingStation: ChargingStation,
     commandName: RequestCommand,
     commandParams?: JsonType,
     params?: RequestParams
-  ): Promise<Response>;
+  ): Promise<ResponseType>;
 }
index 94a943d7c5439ed7f77936d3e464fa6b81443eab..3faa4351e7ef8867096c2844ef5d243110dcfb0d 100644 (file)
@@ -1,10 +1,10 @@
-import { JSONSchemaType } from 'ajv';
+import type { JSONSchemaType } from 'ajv';
 import Ajv from 'ajv-draft-04';
 import ajvFormats from 'ajv-formats';
 
 import OCPPError from '../../exception/OCPPError';
-import { JsonType } from '../../types/JsonType';
-import { RequestCommand } from '../../types/ocpp/Requests';
+import type { JsonType } from '../../types/JsonType';
+import type { RequestCommand } from '../../types/ocpp/Requests';
 import logger from '../../utils/Logger';
 import type ChargingStation from '../ChargingStation';
 import { OCPPServiceUtils } from './OCPPServiceUtils';
index 39d738af4b19abcdbc91aa0ba45ebd89cbbba159..96b34218bae93f78a595545a29b2969fc91000fc 100644 (file)
@@ -1,4 +1,4 @@
-import { DefinedError, ErrorObject } from 'ajv';
+import type { DefinedError, ErrorObject } from 'ajv';
 
 import { ErrorType } from '../../types/ocpp/ErrorType';
 
index b8e7c46cdf879b1e5d28d65c653085e90c40cf89..902b6bd5d70bcd4152f6bcabb7eae33fc11787b4 100644 (file)
@@ -1,9 +1,9 @@
-import { Server as HttpServer } from 'http';
+import type { Server as HttpServer } from 'http';
 
-import WebSocket from 'ws';
+import type WebSocket from 'ws';
 
-import { ChargingStationData } from '../../types/ChargingStationWorker';
-import {
+import type { ChargingStationData } from '../../types/ChargingStationWorker';
+import type {
   ProcedureName,
   ProtocolRequest,
   ProtocolResponse,
index 6fb8a6add2550be30898b0f43fab18eb39153d8a..dcf4cbc032db72af3731de3cb9105acbe203332a 100644 (file)
@@ -3,7 +3,7 @@ import { IncomingMessage, RequestListener, Server, ServerResponse } from 'http';
 import { StatusCodes } from 'http-status-codes';
 
 import BaseError from '../../exception/BaseError';
-import { ServerOptions } from '../../types/ConfigurationData';
+import type { ServerOptions } from '../../types/ConfigurationData';
 import {
   ProcedureName,
   Protocol,
index 90f61c7a66226003132cccbd96b90b1bda61b641..bbbb66b9c2fd67b01e2deb604345ae95314a7b36 100644 (file)
@@ -1,9 +1,9 @@
 import chalk from 'chalk';
 
-import { ServerOptions } from '../../types/ConfigurationData';
+import type { ServerOptions } from '../../types/ConfigurationData';
 import { ApplicationProtocol } from '../../types/UIProtocol';
 import Configuration from '../../utils/Configuration';
-import { AbstractUIServer } from './AbstractUIServer';
+import type { AbstractUIServer } from './AbstractUIServer';
 import { UIServiceUtils } from './ui-services/UIServiceUtils';
 import UIHttpServer from './UIHttpServer';
 import UIWebSocketServer from './UIWebSocketServer';
index be2961c522584172560a9736b15f6703f10599da..e928f9ffae685e9efcf56aeb8d49a88bb7e109d0 100644 (file)
@@ -1,8 +1,8 @@
-import { IncomingMessage } from 'http';
+import type { IncomingMessage } from 'http';
 
 import WebSocket from 'ws';
 
-import { ServerOptions } from '../../types/ConfigurationData';
+import type { ServerOptions } from '../../types/ConfigurationData';
 import { Protocol, ProtocolVersion } from '../../types/UIProtocol';
 import Configuration from '../../utils/Configuration';
 import logger from '../../utils/Logger';
index 2c541cde9f993ebd1c2ea2ca66a8d551bed5a4a6..e72af5c0549fa1feb2f4c9bfd66225f53fe76e27 100644 (file)
@@ -1,8 +1,8 @@
-import { RawData } from 'ws';
+import type { RawData } from 'ws';
 
 import BaseError from '../../../exception/BaseError';
 import { Bootstrap } from '../../../internal';
-import { JsonType } from '../../../types/JsonType';
+import type { JsonType } from '../../../types/JsonType';
 import {
   ProcedureName,
   ProtocolRequest,
index 5061ed78d854b066e05e813a5d6972ad2f8c0853..11925ee48a26789997e54818d5b9f03e27f14c21 100644 (file)
@@ -8,7 +8,7 @@ import {
   BroadcastChannelProcedureName,
   BroadcastChannelRequestPayload,
 } from '../../../types/WorkerBroadcastChannel';
-import { AbstractUIServer } from '../AbstractUIServer';
+import type { AbstractUIServer } from '../AbstractUIServer';
 import AbstractUIService from './AbstractUIService';
 
 export default class UIService001 extends AbstractUIService {
index 8fb55e04ca50152841ffedc10764a05bd8dfb799..b0dd2f0799b92ed42a53c50cfe17ad8c43ad0a79 100644 (file)
@@ -1,6 +1,6 @@
 import { ProtocolVersion } from '../../../types/UIProtocol';
-import { AbstractUIServer } from '../AbstractUIServer';
-import AbstractUIService from './AbstractUIService';
+import type { AbstractUIServer } from '../AbstractUIServer';
+import type AbstractUIService from './AbstractUIService';
 import UIService001 from './UIService001';
 
 export default class UIServiceFactory {
index 06db5a47109f2c11b77eb938021748d86968eaf5..a824adaf2b052415f8980be108d1424fad8a7e10 100644 (file)
@@ -1,4 +1,4 @@
-import { IncomingMessage } from 'http';
+import type { IncomingMessage } from 'http';
 
 import { Protocol, ProtocolVersion } from '../../../types/UIProtocol';
 import logger from '../../../utils/Logger';
index 563575a321fbcc1d1e985decea92fb9b34523ffd..90817649e9783b519bc506ff53e860b8f4d02123 100644 (file)
@@ -1,8 +1,8 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import { JsonType } from '../types/JsonType';
+import type { JsonType } from '../types/JsonType';
 import { ErrorType } from '../types/ocpp/ErrorType';
-import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
+import type { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
 import BaseError from './BaseError';
 
 export default class OCPPError extends BaseError {
index c41b2d59a2e0d157758e7b37643f34d8e17f90ad..6a5b454f9c5d868f74ad3bc62c606324adfebe9e 100644 (file)
@@ -1,13 +1,15 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
 import { PerformanceEntry, PerformanceObserver, performance } from 'perf_hooks';
-import { URL } from 'url';
+import type { URL } from 'url';
 import { parentPort } from 'worker_threads';
 
 import { MessageChannelUtils } from '../charging-station/MessageChannelUtils';
 import { MessageType } from '../types/ocpp/MessageType';
-import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
-import Statistics, { StatisticsData, TimeSeries } from '../types/Statistics';
+import type { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
+import type Statistics from '../types/Statistics';
+// eslint-disable-next-line no-duplicate-imports
+import type { StatisticsData, TimeSeries } from '../types/Statistics';
 import { CircularArray, DEFAULT_CIRCULAR_ARRAY_SIZE } from '../utils/CircularArray';
 import Configuration from '../utils/Configuration';
 import logger from '../utils/Logger';
index bc28a6cb43c15b39a0925c10c9b8cf555a85b68d..d1c294d8185e2d4526b2eeeec3e29f31f0f21220 100644 (file)
@@ -5,7 +5,7 @@ import fs from 'fs';
 import lockfile from 'proper-lockfile';
 
 import { FileType } from '../../types/FileType';
-import Statistics from '../../types/Statistics';
+import type Statistics from '../../types/Statistics';
 import FileUtils from '../../utils/FileUtils';
 import { Storage } from './Storage';
 
index df96d6a6b078794f54101806caf30eb94fbe95e0..44be74918fa1d6ed9e50b69f10f6225a09a51b22 100644 (file)
@@ -5,7 +5,7 @@ import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
 
 import { PerformanceData } from '../../types/orm/entities/PerformanceData';
 import { PerformanceRecord } from '../../types/orm/entities/PerformanceRecord';
-import Statistics from '../../types/Statistics';
+import type Statistics from '../../types/Statistics';
 import { MikroORMDBType, StorageType } from '../../types/Storage';
 import Constants from '../../utils/Constants';
 import { Storage } from './Storage';
index d941d7c188ad920a036f804838056f26ae13b887..f10481a0f96622cbe000e22def7da71e22936516 100644 (file)
@@ -2,7 +2,7 @@
 
 import { MongoClient } from 'mongodb';
 
-import Statistics from '../../types/Statistics';
+import type Statistics from '../../types/Statistics';
 import { StorageType } from '../../types/Storage';
 import Constants from '../../utils/Constants';
 import { Storage } from './Storage';
index 96188263e123376769e909be441ee8b0754588a7..d85d8c415efdd1b254694976597bfd722af4c42d 100644 (file)
@@ -2,9 +2,9 @@
 
 import { URL } from 'url';
 
-import { EmptyObject } from '../../types/EmptyObject';
-import { HandleErrorParams } from '../../types/Error';
-import Statistics from '../../types/Statistics';
+import type { EmptyObject } from '../../types/EmptyObject';
+import type { HandleErrorParams } from '../../types/Error';
+import type Statistics from '../../types/Statistics';
 import { DBName, StorageType } from '../../types/Storage';
 import logger from '../../utils/Logger';
 import Utils from '../../utils/Utils';
index b4c19d580f7894fb7456bd8623b72bb1b0d95e21..b0f9da58cff118cb2cfc5b929ff0b8f6a86abf62 100644 (file)
@@ -4,7 +4,7 @@ import { StorageType } from '../../types/Storage';
 import { JsonFileStorage } from './JsonFileStorage';
 import { MikroOrmStorage } from './MikroOrmStorage';
 import { MongoDBStorage } from './MongoDBStorage';
-import { Storage } from './Storage';
+import type { Storage } from './Storage';
 
 export class StorageFactory {
   private constructor() {
index d1346306aa13e71391dc0fd85a0a7ca5806fa607..b81f7675d6183727ca7b92918105cd7711105642 100644 (file)
@@ -1,5 +1,5 @@
-import { ChargingStationInfoConfiguration } from './ChargingStationInfo';
-import ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
+import type { ChargingStationInfoConfiguration } from './ChargingStationInfo';
+import type ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
 
 export default interface ChargingStationConfiguration
   extends ChargingStationInfoConfiguration,
index 2baa72ef24ebb656ace0a380d41d844138f9d460..4f9697a67a0be01889e5ebf9a3ab080f020aa872 100644 (file)
@@ -1,4 +1,4 @@
-import ChargingStationTemplate from './ChargingStationTemplate';
+import type ChargingStationTemplate from './ChargingStationTemplate';
 
 export default interface ChargingStationInfo
   extends Omit<
index a1da931f0bf77986f6da897b916906e6e4cc7414..b6d9ec9278e89db8f81e3a7205078f6bd6adb7df 100644 (file)
@@ -1,4 +1,4 @@
-import { OCPPConfigurationKey } from './ocpp/Configuration';
+import type { OCPPConfigurationKey } from './ocpp/Configuration';
 
 export interface ConfigurationKey extends OCPPConfigurationKey {
   visible?: boolean;
index 71d84bc80056a3b477ca3f7ce03c94508ef70a72..9251909cd61256f2353a4f71a7a218cab2a41f76 100644 (file)
@@ -1,13 +1,13 @@
-import { ClientRequestArgs } from 'http';
+import type { ClientRequestArgs } from 'http';
 
-import { ClientOptions } from 'ws';
+import type { ClientOptions } from 'ws';
 
-import { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
-import { ConnectorStatus } from './ConnectorStatus';
-import { OCPPProtocol } from './ocpp/OCPPProtocol';
-import { OCPPVersion } from './ocpp/OCPPVersion';
-import { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
+import type { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
+import type ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
+import type { ConnectorStatus } from './ConnectorStatus';
+import type { OCPPProtocol } from './ocpp/OCPPProtocol';
+import type { OCPPVersion } from './ocpp/OCPPVersion';
+import type { IncomingRequestCommand, RequestCommand } from './ocpp/Requests';
 
 export enum CurrentType {
   AC = 'AC',
index fe4bbc301ce1379e3354a8f53a7d6152ff4b4096..d3ba12c7128bd93924a795e052482b49144bbab1 100644 (file)
@@ -1,8 +1,8 @@
-import ChargingStationInfo from './ChargingStationInfo';
-import { ConnectorStatus } from './ConnectorStatus';
-import { JsonObject } from './JsonType';
-import { BootNotificationResponse } from './ocpp/Responses';
-import Statistics from './Statistics';
+import type ChargingStationInfo from './ChargingStationInfo';
+import type { ConnectorStatus } from './ConnectorStatus';
+import type { JsonObject } from './JsonType';
+import type { BootNotificationResponse } from './ocpp/Responses';
+import type Statistics from './Statistics';
 import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
 
 export interface ChargingStationWorkerOptions extends JsonObject {
index 32470f7b6906e336a0e930d209e9574b58473545..1681fcf53e19580f351a5d14b86cba7d3aadfe53 100644 (file)
@@ -1,11 +1,11 @@
-import { ListenOptions } from 'net';
+import type { ListenOptions } from 'net';
 
 import type { WorkerChoiceStrategy } from 'poolifier';
-import { ServerOptions as WSServerOptions } from 'ws';
+import type { ServerOptions as WSServerOptions } from 'ws';
 
-import { StorageType } from './Storage';
-import { ApplicationProtocol } from './UIProtocol';
-import { WorkerProcessType } from './Worker';
+import type { StorageType } from './Storage';
+import type { ApplicationProtocol } from './UIProtocol';
+import type { WorkerProcessType } from './Worker';
 
 export type ServerOptions = WSServerOptions & ListenOptions;
 
index 6eab4106ba0fb54e93a8a60f9597daa7e75019f0..abf0c45ddd9a3c8bda06779be2c48c654d813330 100644 (file)
@@ -1,8 +1,8 @@
-import { SampledValueTemplate } from './MeasurandPerPhaseSampledValueTemplates';
-import { ChargePointStatus } from './ocpp/ChargePointStatus';
-import { ChargingProfile } from './ocpp/ChargingProfile';
-import { MeterValue } from './ocpp/MeterValues';
-import { AvailabilityType } from './ocpp/Requests';
+import type { SampledValueTemplate } from './MeasurandPerPhaseSampledValueTemplates';
+import type { ChargePointStatus } from './ocpp/ChargePointStatus';
+import type { ChargingProfile } from './ocpp/ChargingProfile';
+import type { MeterValue } from './ocpp/MeterValues';
+import type { AvailabilityType } from './ocpp/Requests';
 
 export interface ConnectorStatus {
   availability: AvailabilityType;
index 9240fde2836c3229058ac1c105095f45a31c665d..2fb8f9ba21716957e71aa586a0fd4778a0e46e83 100644 (file)
@@ -1,4 +1,4 @@
-import { SampledValue } from './ocpp/MeterValues';
+import type { SampledValue } from './ocpp/MeterValues';
 
 export interface SampledValueTemplate extends SampledValue {
   fluctuationPercent?: number;
index 5c7191a8609f1d152aae142bf9c165b0a2a46a70..628ad28b6d150a582acacd875dd575dd18c5d5e5 100644 (file)
@@ -1,5 +1,5 @@
-import { CircularArray } from '../utils/CircularArray';
-import { WorkerData } from './Worker';
+import type { CircularArray } from '../utils/CircularArray';
+import type { WorkerData } from './Worker';
 
 export interface TimeSeries {
   timestamp: number;
index 1d674edfa3d5d7d9fdd8e430c2e25dc3b72f141f..bb300c2387fc1e41cb57b01facdfc793f3c9926d 100644 (file)
@@ -1,4 +1,4 @@
-import { Configuration } from '@mikro-orm/core';
+import type { Configuration } from '@mikro-orm/core';
 
 export type MikroORMDBType = keyof typeof Configuration.PLATFORMS;
 
index 1939fdd5802120683bc0b6ad701c31a7952d5630..463b205ec33b29982dcec20f5beb28c885e2e6e3 100644 (file)
@@ -1,4 +1,4 @@
-import { JsonObject } from './JsonType';
+import type { JsonObject } from './JsonType';
 
 export enum Protocol {
   UI = 'ui',
index 7de7045d7a8589a3d85686cffa744c1c6b998dd1..9d9692a720a1af4c32342df01354f6b1f375cd6d 100644 (file)
@@ -1,6 +1,6 @@
-import { Worker } from 'worker_threads';
+import type { Worker } from 'worker_threads';
 
-import { PoolOptions } from 'poolifier';
+import type { PoolOptions } from 'poolifier';
 
 export enum WorkerProcessType {
   WORKER_SET = 'workerSet',
index 0d6da48d8871563122d8ec1e2f70fdd8aa551501..45168b03834471fad4fa41cdc2c62ad8b117b7ff 100644 (file)
@@ -1,4 +1,4 @@
-import { RequestPayload, ResponsePayload } from './UIProtocol';
+import type { RequestPayload, ResponsePayload } from './UIProtocol';
 
 export type BroadcastChannelRequest = [
   string,
index b33bf0665d33204d3c9a3d2bdb8fa08d15a7f11c..529bfd1da5eaf7cac6d566de0080316189bdfc1e 100644 (file)
@@ -1,4 +1,4 @@
-import { JsonObject } from '../../JsonType';
+import type { JsonObject } from '../../JsonType';
 
 export interface OCPP16ChargingProfile extends JsonObject {
   chargingProfileId: number;
index 0d9d3263f755d184639bef69d041b10142eca758..79bad3626e7dfd650cde76c8cdc6a3af79dc04e8 100644 (file)
@@ -1,5 +1,5 @@
-import { EmptyObject } from '../../EmptyObject';
-import { JsonObject } from '../../JsonType';
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
 
 export enum MeterValueUnit {
   WATT_HOUR = 'Wh',
index 145947aec338ba0d6b557b4954a51102d73be4a9..db0c7edd94ddcda7736ed43a3f99461526e60070 100644 (file)
@@ -1,10 +1,10 @@
-import { EmptyObject } from '../../EmptyObject';
-import { JsonObject } from '../../JsonType';
-import { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from './ChargePointStatus';
-import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
-import { OCPP16StandardParametersKey } from './Configuration';
-import { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
+import type { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
+import type { OCPP16ChargePointStatus } from './ChargePointStatus';
+import type { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
+import type { OCPP16StandardParametersKey } from './Configuration';
+import type { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
 
 export enum OCPP16RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
index 08076964f5dd4a1b48f3d3df898b4b2c90e33126..2acee1ea7f03e7bb8d3b9359da7874c7dd20ae5b 100644 (file)
@@ -1,6 +1,6 @@
-import { EmptyObject } from '../../EmptyObject';
-import { JsonObject } from '../../JsonType';
-import { OCPPConfigurationKey } from '../Configuration';
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
+import type { OCPPConfigurationKey } from '../Configuration';
 
 export interface OCPP16HeartbeatResponse extends JsonObject {
   currentTime: string;
index 7e9059c36322067ae0b154844b162d39dd23cb00..ca68117d5020c04e3a556e7b58ed4940bdc23e52 100644 (file)
@@ -1,5 +1,5 @@
-import { JsonObject } from '../../JsonType';
-import { OCPP16MeterValue } from './MeterValues';
+import type { JsonObject } from '../../JsonType';
+import type { OCPP16MeterValue } from './MeterValues';
 
 export enum OCPP16StopTransactionReason {
   NONE = '',
index 31d714994c801d26b8819cc13b67415483ee026e..f60c4f1c06712188ffdcc8bff47dc801e6c3a19f 100644 (file)
@@ -1,4 +1,4 @@
-import { JsonObject } from '../JsonType';
+import type { JsonObject } from '../JsonType';
 import {
   OCPP16StandardParametersKey,
   OCPP16SupportedFeatureProfiles,
index ed9dac1a71fe2d8de071adb90093a945de149eff..99a3f817b064301c55d396c28f11a557c0c6b90e 100644 (file)
@@ -1,8 +1,8 @@
 import type ChargingStation from '../../charging-station/ChargingStation';
-import OCPPError from '../../exception/OCPPError';
-import { JsonType } from '../JsonType';
+import type OCPPError from '../../exception/OCPPError';
+import type { JsonType } from '../JsonType';
 import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
-import { OCPP16MeterValuesRequest } from './1.6/MeterValues';
+import type { OCPP16MeterValuesRequest } from './1.6/MeterValues';
 import {
   OCPP16AvailabilityType,
   OCPP16BootNotificationRequest,
@@ -11,7 +11,7 @@ import {
   OCPP16RequestCommand,
   OCPP16StatusNotificationRequest,
 } from './1.6/Requests';
-import { MessageType } from './MessageType';
+import type { MessageType } from './MessageType';
 
 export type RequestCommand = OCPP16RequestCommand;
 
index d5b4b7c578ad31a188a295ce8bc3e9e55af85088..43250047ade5952a2d818aa7c8a0c97e5aa271b3 100644 (file)
@@ -1,6 +1,6 @@
 import type ChargingStation from '../../charging-station/ChargingStation';
-import { JsonType } from '../JsonType';
-import { OCPP16MeterValuesResponse } from './1.6/MeterValues';
+import type { JsonType } from '../JsonType';
+import type { OCPP16MeterValuesResponse } from './1.6/MeterValues';
 import {
   OCPP16AvailabilityStatus,
   OCPP16BootNotificationResponse,
@@ -13,8 +13,8 @@ import {
   OCPP16TriggerMessageStatus,
   OCPP16UnlockStatus,
 } from './1.6/Responses';
-import { ErrorType } from './ErrorType';
-import { MessageType } from './MessageType';
+import type { ErrorType } from './ErrorType';
+import type { MessageType } from './MessageType';
 
 export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
 
index 67ffc700c99223f2f1004a56f70550113cd76e5e..06114da6be0a602422504d2e238a6b3792cae81a 100644 (file)
@@ -1,6 +1,6 @@
 import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core';
 
-import { PerformanceData } from './PerformanceData';
+import type { PerformanceData } from './PerformanceData';
 
 @Entity()
 export class PerformanceRecord {
index 9fdad85f4c712b0df209d69962fe92ee1c50112a..e048f31854a26eb416dde9665f0b14cd61369e74 100644 (file)
@@ -8,15 +8,12 @@ module.exports = {
   extends: [
     'plugin:vue/vue3-essential',
     'eslint:recommended',
-    '@vue/typescript/recommended',
-    'plugin:prettier/recommended',
+    '@vue/eslint-config-typescript/recommended',
+    '@vue/eslint-config-prettier',
   ],
 
-  parser: 'vue-eslint-parser',
-
   parserOptions: {
-    ecmaVersion: 2020,
-    parser: '@typescript-eslint/parser',
+    ecmaVersion: 'latest',
   },
 
   rules: {
index 73b6f99ba70fbd4874c257a4c741acb70dbe9595..0a6d10b9399a509365212d4bb45cab97acc29c05 100644 (file)
         "@vue/cli-plugin-typescript": "~5.0.8",
         "@vue/cli-plugin-unit-mocha": "~5.0.8",
         "@vue/cli-service": "~5.0.8",
+        "@vue/eslint-config-prettier": "^7.0.0",
         "@vue/eslint-config-typescript": "^11.0.0",
         "@vue/test-utils": "^2.0.2",
+        "@vue/tsconfig": "^0.1.3",
         "chai": "^4.3.6",
         "eslint": "^8.22.0",
-        "eslint-config-prettier": "^8.5.0",
-        "eslint-plugin-prettier": "^4.2.1",
         "eslint-plugin-vue": "^9.4.0",
         "lint-staged": "^13.0.3",
         "prettier": "^2.7.1",
-        "typescript": "^4.8.2",
-        "vue-eslint-parser": "^9.0.3"
+        "typescript": "^4.8.2"
       }
     },
     "node_modules/@achrinza/node-ipc": {
       "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.4.tgz",
       "integrity": "sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ=="
     },
+    "node_modules/@vue/eslint-config-prettier": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz",
+      "integrity": "sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==",
+      "dev": true,
+      "dependencies": {
+        "eslint-config-prettier": "^8.3.0",
+        "eslint-plugin-prettier": "^4.0.0"
+      },
+      "peerDependencies": {
+        "eslint": ">= 7.28.0",
+        "prettier": ">= 2.0.0"
+      }
+    },
     "node_modules/@vue/eslint-config-typescript": {
       "version": "11.0.0",
       "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.0.tgz",
         "vue": "^3.0.1"
       }
     },
+    "node_modules/@vue/tsconfig": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz",
+      "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==",
+      "dev": true,
+      "peerDependencies": {
+        "@types/node": "*"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@vue/vue-loader-v15": {
       "name": "vue-loader",
       "version": "15.10.0",
       "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.4.tgz",
       "integrity": "sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ=="
     },
+    "@vue/eslint-config-prettier": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz",
+      "integrity": "sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==",
+      "dev": true,
+      "requires": {
+        "eslint-config-prettier": "^8.3.0",
+        "eslint-plugin-prettier": "^4.0.0"
+      }
+    },
     "@vue/eslint-config-typescript": {
       "version": "11.0.0",
       "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.0.tgz",
       "dev": true,
       "requires": {}
     },
+    "@vue/tsconfig": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz",
+      "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==",
+      "dev": true,
+      "requires": {}
+    },
     "@vue/vue-loader-v15": {
       "version": "npm:vue-loader@15.10.0",
       "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.0.tgz",
index dd3ed56b9e5a47cd85c146239478474d345196be..3c790ec0c708252ef46a8ceffa3b0454b252bc00 100644 (file)
     "@vue/cli-plugin-typescript": "~5.0.8",
     "@vue/cli-plugin-unit-mocha": "~5.0.8",
     "@vue/cli-service": "~5.0.8",
+    "@vue/eslint-config-prettier": "^7.0.0",
     "@vue/eslint-config-typescript": "^11.0.0",
     "@vue/test-utils": "^2.0.2",
+    "@vue/tsconfig": "^0.1.3",
     "chai": "^4.3.6",
     "eslint": "^8.22.0",
-    "eslint-config-prettier": "^8.5.0",
-    "eslint-plugin-prettier": "^4.2.1",
     "eslint-plugin-vue": "^9.4.0",
     "lint-staged": "^13.0.3",
     "prettier": "^2.7.1",
-    "typescript": "^4.8.2",
-    "vue-eslint-parser": "^9.0.3"
+    "typescript": "^4.8.2"
   },
   "_id": "webui@0.1.0",
   "gitHooks": {
index e17a02b89465d093ee5d645770a700583dc0580b..43170a2c630c2d7e520fd494e18090202d9b04c1 100644 (file)
@@ -1,4 +1,4 @@
-import { BaseConfig } from '@/type/ConfigurationType';
+import type { BaseConfig } from '@/type/ConfigurationType';
 
 const config: BaseConfig = {
   emobility: {
index 2095b1671775eb2f60c622e3c9b4e7fb4a50697b..9ac8923c5858db9156a772c05baeb0d5801e3bbe 100644 (file)
@@ -1,10 +1,7 @@
-import { JsonType } from '@/type/JsonType';
-import {
-  ProcedureName,
-  ProtocolResponse,
-  ResponsePayload,
-  ResponseStatus,
-} from '@/type/UIProtocol';
+import type { JsonType } from '@/type/JsonType';
+import { ProcedureName, ResponseStatus } from '@/type/UIProtocol';
+import type { ProtocolResponse, ResponsePayload } from '@/type/UIProtocol';
+
 import Utils from './Utils';
 import config from '@/assets/config';
 import { v4 as uuidv4 } from 'uuid';
index f5d64dfef93ba4a06339efbb2f61bdaa4117ca22..0857e041cb52a97953482b940329657560fe82b9 100644 (file)
@@ -1,4 +1,5 @@
-import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';
+import { createRouter, createWebHistory } from 'vue-router';
+import type { RouteRecordRaw } from 'vue-router';
 import ChargingStationsView from '@/views/ChargingStationsView.vue';
 
 const routes: Array<RouteRecordRaw> = [
index 537e7b74b560d72481ab09ecddf60a0770510706..dc485451034efc2efa12a8e0d94674eaf12ea73b 100644 (file)
@@ -1,4 +1,4 @@
-import { JsonObject } from './JsonType';
+import type { JsonObject } from './JsonType';
 
 export type ChargingStationData = {
   hashId: string;
index 23537c3ea0d7637df3e65f2378340a6cf7004e00..d324acc5a54fedbf34af830885bd38574fc1140a 100644 (file)
@@ -1,4 +1,4 @@
-import { JsonObject } from './JsonType';
+import type { JsonObject } from './JsonType';
 
 export enum Protocol {
   UI = 'ui',
index f0a1203d4ff48f6776e35776240f18c5480db90a..9e934d1f7d301777f66938d292d13d4973815fc7 100644 (file)
@@ -1,19 +1,12 @@
 {
+  "extends": "@vue/tsconfig/tsconfig.node.json",
   "compilerOptions": {
-    "target": "esnext",
-    "module": "esnext",
-    "strict": true,
-    "jsx": "preserve",
-    "moduleResolution": "node",
     "experimentalDecorators": true,
-    "skipLibCheck": true,
-    "esModuleInterop": true,
     "allowSyntheticDefaultImports": true,
-    "forceConsistentCasingInFileNames": true,
-    "useDefineForClassFields": true,
     "sourceMap": true,
     "baseUrl": ".",
     "types": [
+      "node",
       "webpack-env",
       "mocha",
       "chai"
@@ -25,9 +18,7 @@
     },
     "lib": [
       "esnext",
-      "dom",
-      "dom.iterable",
-      "scripthost"
+      "dom"
     ]
   },
   "include": [
index f4eb39ad62ae287667e82355255a9f30ca2dbca4..afc992f8e7841b35f44a49841ee1c63f452e5285 100644 (file)
@@ -11,8 +11,8 @@ import ConfigurationData, {
   UIServerConfiguration,
   WorkerConfiguration,
 } from '../types/ConfigurationData';
-import { EmptyObject } from '../types/EmptyObject';
-import { HandleErrorParams } from '../types/Error';
+import type { EmptyObject } from '../types/EmptyObject';
+import type { HandleErrorParams } from '../types/Error';
 import { FileType } from '../types/FileType';
 import { StorageType } from '../types/Storage';
 import { ApplicationProtocol } from '../types/UIProtocol';
index 10317c7353f4855a4a0f24ecb42d809b5f0b1f03..8de719a152d35e9da5c16b434a3989ad3e95f782 100644 (file)
@@ -2,10 +2,10 @@ import fs from 'fs';
 
 import chalk from 'chalk';
 
-import { EmptyObject } from '../types/EmptyObject';
-import { HandleErrorParams } from '../types/Error';
-import { FileType } from '../types/FileType';
-import { JsonType } from '../types/JsonType';
+import type { EmptyObject } from '../types/EmptyObject';
+import type { HandleErrorParams } from '../types/Error';
+import type { FileType } from '../types/FileType';
+import type { JsonType } from '../types/JsonType';
 import logger from './Logger';
 import Utils from './Utils';
 
index 60a101d02e97f31ef3cdffa66ebda2a5e4817dc5..1baea780f3625896b95b43ca62986756bfd847c0 100644 (file)
@@ -1,4 +1,4 @@
-import { Format } from 'logform';
+import type { Format } from 'logform';
 import { Logger, createLogger, format, transport } from 'winston';
 import DailyRotateFile from 'winston-daily-rotate-file';
 import TransportType from 'winston/lib/winston/transports/index.js';
index 3fbd4a0b2da68f7adaafbcfe8cb7a940c04c833a..27f947d1a0f04ec987b798c61948e1bed8572061 100644 (file)
@@ -1,6 +1,6 @@
 import fs from 'fs';
 
-import { WorkerData, WorkerOptions } from '../types/Worker';
+import type { WorkerData, WorkerOptions } from '../types/Worker';
 import WorkerConstants from './WorkerConstants';
 
 export default abstract class WorkerAbstract<T extends WorkerData> {
index 68813e20366edcc8b9cda844dbf17be087eedc13..b2cd20dd10d181fe047db0621571b76d99786eee 100644 (file)
@@ -1,6 +1,6 @@
 import { DynamicThreadPool } from 'poolifier';
 
-import { WorkerData, WorkerOptions } from '../types/Worker';
+import type { WorkerData, WorkerOptions } from '../types/Worker';
 import Utils from '../utils/Utils';
 import WorkerAbstract from './WorkerAbstract';
 import { WorkerUtils } from './WorkerUtils';
index 01adb96e795eb1e93e74e94b5d8b9bb4c56f9489..a6679cca73149c07fb6130feb6eb4f8bc62dfd80 100644 (file)
@@ -1,6 +1,6 @@
 import { Worker, isMainThread } from 'worker_threads';
 
-import { PoolOptions } from 'poolifier';
+import type { PoolOptions } from 'poolifier';
 
 import { WorkerData, WorkerOptions, WorkerProcessType } from '../types/Worker';
 import type WorkerAbstract from './WorkerAbstract';
index 99ea301d5d1a05ef8fbdd3627c3b04aec54be596..6fc91524173e614e1fb4ff1a7bae586c5e216b22 100644 (file)
@@ -1,6 +1,6 @@
 import { FixedThreadPool } from 'poolifier';
 
-import { WorkerData, WorkerOptions } from '../types/Worker';
+import type { WorkerData, WorkerOptions } from '../types/Worker';
 import Utils from '../utils/Utils';
 import WorkerAbstract from './WorkerAbstract';
 import { WorkerUtils } from './WorkerUtils';
index a0c7e1629f61d538a2f732b817d31636179d5228..ff3ae353b3441c685ddf1d2a1c606cbb69566e9d 100644 (file)
@@ -33,6 +33,7 @@
     // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
     // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
     // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+    "importsNotUsedAsValues": "error",        /* Enforce using `import type` instead of `import` for types */
 
     /* Additional Checks */
     // "noUnusedLocals": true,                /* Report errors on unused locals. */