Use eslint extension for import sorting instead of unmaintained external ones
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 17 Jul 2022 22:58:04 +0000 (00:58 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 17 Jul 2022 22:58:04 +0000 (00:58 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
59 files changed:
.eslintrc
.vscode/extensions.json
.vscode/settings.json
package-lock.json
package.json
src/charging-station/AuthorizedTagsCache.ts
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/ChargingStationWorker.ts
src/charging-station/SharedLRUCache.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/ui-server/AbstractUIServer.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/scripts/deleteChargingStations.js
src/scripts/setCSPublicFlag.js
src/start.ts
src/types/ChargingStationTemplate.ts
src/types/ChargingStationWorker.ts
src/types/ConfigurationData.ts
src/types/ConnectorStatus.ts
src/types/Worker.ts
src/types/ocpp/1.6/Requests.ts
src/types/ocpp/Configuration.ts
src/types/ocpp/Requests.ts
src/types/ocpp/Responses.ts
src/ui/httpd/start.ts
src/utils/Configuration.ts
src/utils/Constants.ts
src/utils/FileUtils.ts
src/utils/Logger.ts
src/utils/Utils.ts
src/worker/WorkerAbstract.ts
src/worker/WorkerDynamicPool.ts
src/worker/WorkerFactory.ts
src/worker/WorkerSet.ts
src/worker/WorkerStaticPool.ts
test/robohydra/plugins/wsServer/index.js
test/utils/CircularArrayTest.ts

index 9a860ac8e686f9f058b45f196eb713264fa6bc13..adb3c787842e635fb05b958d2b6b69e2d103ef7c 100644 (file)
--- a/.eslintrc
+++ b/.eslintrc
   "settings": {
     "jsdoc": {
       "mode": "typescript"
+    },
+    "import/resolver": {
+      "typescript": {
+        "project": "./tsconfig.json"
+      }
     }
   },
   "rules": {
       "warn",
       {
         "ignoreCase": false,
-        "ignoreDeclarationSort": false,
+        "ignoreDeclarationSort": true,
         "ignoreMemberSort": false,
-        "memberSyntaxSortOrder": ["none", "all", "multiple", "single"]
+        "memberSyntaxSortOrder": ["none", "all", "multiple", "single"],
+        "allowSeparatedGroups": true
+      }
+    ],
+    "import/no-unresolved": "error",
+    "import/order": [
+      "error",
+      {
+        "groups": [
+          "builtin", // Built-in imports (come from NodeJS native) go first
+          "external", // <- External imports
+          "internal", // <- Absolute imports
+          ["sibling", "parent"], // <- Relative imports, the sibling and parent types they can be mingled together
+          "index", // <- Index imports
+          "unknown" // <- Unknown
+        ],
+        "newlines-between": "always",
+        "alphabetize": {
+          /* Sort in ascending order. Options: ["ignore", "asc", "desc"] */
+          "order": "asc",
+          /* Ignore case. Options: [true, false] */
+          "caseInsensitive": true
+        }
       }
     ],
     "object-curly-spacing": ["error", "always"],
index 5366569b3ec17bab43b323d1419a6097e9ead0e7..bed2ea6ee33c9b6eed167c43a467d623b6894e2f 100644 (file)
@@ -2,7 +2,6 @@
   // See https://go.microsoft.com/fwlink/?LinkId=827846
   // for the documentation about the extensions.json format
   "recommendations": [
-    "amatiasq.sort-imports",
     "codezombiech.gitignore",
     "dbaeumer.vscode-eslint",
     "eamodio.gitlens",
index 246e9c6e8977ee78076dd57b3b052f8b2c1a02a4..b40f1546ca5f76ac286e9fd0101ada7567375a38 100644 (file)
@@ -1,5 +1,6 @@
 {
+  "editor.formatOnSave": false,
   "editor.codeActionsOnSave": {
-    "source.fixAll.eslint": true
+    "source.fixAll": true
   }
 }
index bd5251f353abb9f7b4e6c945a079d20715737c8a..922566dd4da783f5826e3dc2d45c24c24c4d649b 100644 (file)
@@ -48,7 +48,7 @@
         "cross-env": "^7.0.3",
         "eslint": "^8.19.0",
         "eslint-config-prettier": "^8.5.0",
-        "eslint-import-resolver-typescript": "^3.2.6",
+        "eslint-import-resolver-typescript": "^3.2.7",
         "eslint-plugin-import": "^2.26.0",
         "eslint-plugin-jsdoc": "^39.3.3",
         "eslint-plugin-node": "^11.1.0",
       }
     },
     "node_modules/@types/node": {
-      "version": "18.0.4",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.4.tgz",
-      "integrity": "sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA=="
+      "version": "18.0.6",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.6.tgz",
+      "integrity": "sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw=="
     },
     "node_modules/@types/object-path": {
       "version": "0.11.1",
       }
     },
     "node_modules/eslint-import-resolver-typescript": {
-      "version": "3.2.6",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.2.6.tgz",
-      "integrity": "sha512-Gk7+viMP9Ho5Q36gmXw3UJrnSCbMTStLS+TuF49SdsOUQGNvhg7ZVsnaieuN0FNNWPB+Xf5tBwADgEuoRPeDDw==",
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.2.7.tgz",
+      "integrity": "sha512-WvcsRy3aPmwVsuS/XVliAJWpIdTlaFXXZPZk3TCbvvF8RtaAkjAhcLL5bl5VEoTmE+XnTHjIbWMzNZcOQpK/DA==",
       "dev": true,
       "dependencies": {
         "debug": "^4.3.4",
         "globby": "^13.1.2",
         "is-core-module": "^2.9.0",
         "is-glob": "^4.0.3",
-        "synckit": "^0.7.2"
+        "synckit": "^0.8.1"
       },
       "engines": {
         "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
       }
     },
     "node_modules/synckit": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.7.2.tgz",
-      "integrity": "sha512-CSZRtSRZ8RhJGMtWyLRqlarmWPPlsgZJHtV6cz0VTHNOg+R7UBoE2eNPQmB5Qrhtk3RX2AAcJmVwMXFULVQSwg==",
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.1.tgz",
+      "integrity": "sha512-rJEeygO5PNmcZICmrgnbOd2usi5zWE1ESc0Gn5tTmJlongoU8zCTwMFQtar2UgMSiR68vK9afPQ+uVs2lURSIA==",
       "dev": true,
       "dependencies": {
-        "@pkgr/utils": "^2.2.0",
+        "@pkgr/utils": "^2.3.0",
         "tslib": "^2.4.0"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+        "node": "^14.18.0 || >=16.0.0"
       },
       "funding": {
         "url": "https://opencollective.com/unts"
       }
     },
     "@types/node": {
-      "version": "18.0.4",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.4.tgz",
-      "integrity": "sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA=="
+      "version": "18.0.6",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.6.tgz",
+      "integrity": "sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw=="
     },
     "@types/object-path": {
       "version": "0.11.1",
       }
     },
     "eslint-import-resolver-typescript": {
-      "version": "3.2.6",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.2.6.tgz",
-      "integrity": "sha512-Gk7+viMP9Ho5Q36gmXw3UJrnSCbMTStLS+TuF49SdsOUQGNvhg7ZVsnaieuN0FNNWPB+Xf5tBwADgEuoRPeDDw==",
+      "version": "3.2.7",
+      "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.2.7.tgz",
+      "integrity": "sha512-WvcsRy3aPmwVsuS/XVliAJWpIdTlaFXXZPZk3TCbvvF8RtaAkjAhcLL5bl5VEoTmE+XnTHjIbWMzNZcOQpK/DA==",
       "dev": true,
       "requires": {
         "debug": "^4.3.4",
         "globby": "^13.1.2",
         "is-core-module": "^2.9.0",
         "is-glob": "^4.0.3",
-        "synckit": "^0.7.2"
+        "synckit": "^0.8.1"
       },
       "dependencies": {
         "globby": {
       "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
     },
     "synckit": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.7.2.tgz",
-      "integrity": "sha512-CSZRtSRZ8RhJGMtWyLRqlarmWPPlsgZJHtV6cz0VTHNOg+R7UBoE2eNPQmB5Qrhtk3RX2AAcJmVwMXFULVQSwg==",
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.1.tgz",
+      "integrity": "sha512-rJEeygO5PNmcZICmrgnbOd2usi5zWE1ESc0Gn5tTmJlongoU8zCTwMFQtar2UgMSiR68vK9afPQ+uVs2lURSIA==",
       "dev": true,
       "requires": {
-        "@pkgr/utils": "^2.2.0",
+        "@pkgr/utils": "^2.3.0",
         "tslib": "^2.4.0"
       }
     },
index 2da0247545c754a4f43a93a32479effdf43d8137..840f8d31b4ccd93eb0dadfe4464f4486b3ab9ba0 100644 (file)
@@ -66,7 +66,6 @@
     "lint": "cross-env TIMING=1 eslint --cache --ext .js,.ts src",
     "lint:fix": "cross-env TIMING=1 eslint --cache --fix --ext .js,.ts src",
     "format": "prettier --write .",
-    "import-sort": "npx import-sort-cli --write 'src/**/*.ts{,x}'",
     "test": "cross-env TS_NODE_COMPILER_OPTIONS={\\\"module\\\":\\\"commonjs\\\"} nyc mocha test/**/*Test.ts",
     "coverage": "nyc report --reporter=lcov",
     "coverage:html": "nyc report --reporter=html",
     "cross-env": "^7.0.3",
     "eslint": "^8.19.0",
     "eslint-config-prettier": "^8.5.0",
-    "eslint-import-resolver-typescript": "^3.2.6",
+    "eslint-import-resolver-typescript": "^3.2.7",
     "eslint-plugin-import": "^2.26.0",
     "eslint-plugin-jsdoc": "^39.3.3",
     "eslint-plugin-node": "^11.1.0",
index 4a9da4ce67f3bfa6e0ca699395f971d1a42712fc..4142ee251f354ed31100c530a5732e25e1f3c013 100644 (file)
@@ -1,8 +1,9 @@
+import fs from 'fs';
+
 import { FileType } from '../types/FileType';
 import FileUtils from '../utils/FileUtils';
-import Utils from '../utils/Utils';
-import fs from 'fs';
 import logger from '../utils/Logger';
+import Utils from '../utils/Utils';
 
 export default class AuthorizedTagsCache {
   private static instance: AuthorizedTagsCache | null = null;
index 31f0716886aa57f74d615e758a7b0cf8a1570300..d3517fa010d710308aa4b09bbc7b67ee7cb175a9 100644 (file)
@@ -1,5 +1,12 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import PerformanceStatistics from '../performance/PerformanceStatistics';
+import {
+  AutomaticTransactionGeneratorConfiguration,
+  Status,
+} from '../types/AutomaticTransactionGenerator';
+import { MeterValuesRequest, RequestCommand } from '../types/ocpp/Requests';
+import { MeterValuesResponse } from '../types/ocpp/Responses';
 import {
   AuthorizationStatus,
   AuthorizeRequest,
@@ -10,19 +17,11 @@ import {
   StopTransactionRequest,
   StopTransactionResponse,
 } from '../types/ocpp/Transaction';
-import {
-  AutomaticTransactionGeneratorConfiguration,
-  Status,
-} from '../types/AutomaticTransactionGenerator';
-import { MeterValuesRequest, RequestCommand } from '../types/ocpp/Requests';
-
-import type ChargingStation from './ChargingStation';
 import Constants from '../utils/Constants';
-import { MeterValuesResponse } from '../types/ocpp/Responses';
-import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import PerformanceStatistics from '../performance/PerformanceStatistics';
-import Utils from '../utils/Utils';
 import logger from '../utils/Logger';
+import Utils from '../utils/Utils';
+import type ChargingStation from './ChargingStation';
+import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
 
 export default class AutomaticTransactionGenerator {
   private static readonly instances: Map<string, AutomaticTransactionGenerator> = new Map<
index ed9f1bef259640df365739f65ab5a4a8913c24d2..b5e90bd80fcdae1f55bf3e65b9d2e0e3831fd04b 100644 (file)
@@ -1,29 +1,30 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import path from 'path';
+import { fileURLToPath } from 'url';
+import { isMainThread } from 'worker_threads';
+
+import chalk from 'chalk';
+
+import { version } from '../../package.json';
+import { Storage } from '../performance/storage/Storage';
+import { StorageFactory } from '../performance/storage/StorageFactory';
 import {
   ChargingStationWorkerData,
   ChargingStationWorkerMessage,
   ChargingStationWorkerMessageEvents,
 } from '../types/ChargingStationWorker';
-
-import { AbstractUIServer } from './ui-server/AbstractUIServer';
-import { ApplicationProtocol } from '../types/UIProtocol';
-import { ChargingStationUtils } from './ChargingStationUtils';
-import Configuration from '../utils/Configuration';
 import { StationTemplateUrl } from '../types/ConfigurationData';
 import Statistics from '../types/Statistics';
-import { Storage } from '../performance/storage/Storage';
-import { StorageFactory } from '../performance/storage/StorageFactory';
-import UIServerFactory from './ui-server/UIServerFactory';
-import { UIServiceUtils } from './ui-server/ui-services/UIServiceUtils';
+import { ApplicationProtocol } from '../types/UIProtocol';
+import Configuration from '../utils/Configuration';
 import Utils from '../utils/Utils';
 import WorkerAbstract from '../worker/WorkerAbstract';
 import WorkerFactory from '../worker/WorkerFactory';
-import chalk from 'chalk';
-import { fileURLToPath } from 'url';
-import { isMainThread } from 'worker_threads';
-import path from 'path';
-import { version } from '../../package.json';
+import { ChargingStationUtils } from './ChargingStationUtils';
+import { AbstractUIServer } from './ui-server/AbstractUIServer';
+import { UIServiceUtils } from './ui-server/ui-services/UIServiceUtils';
+import UIServerFactory from './ui-server/UIServerFactory';
 
 export default class Bootstrap {
   private static instance: Bootstrap | null = null;
index 23ac2bdc843a1d740ba2f4a8c1ad5dfbe21f3037..98cd5e8348ca2722d057aa9dd112e94bd04237cb 100644 (file)
@@ -1,6 +1,43 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import { ACElectricUtils, DCElectricUtils } from '../utils/ElectricUtils';
+import crypto from 'crypto';
+import fs from 'fs';
+import path from 'path';
+import { URL, fileURLToPath } from 'url';
+import { parentPort } from 'worker_threads';
+
+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 ChargingStationTemplate, {
+  CurrentType,
+  PowerUnits,
+  WsOptions,
+} from '../types/ChargingStationTemplate';
+import { ChargingStationWorkerMessageEvents } from '../types/ChargingStationWorker';
+import { SupervisionUrlDistribution } from '../types/ConfigurationData';
+import { ConnectorStatus } from '../types/ConnectorStatus';
+import { FileType } from '../types/FileType';
+import { JsonType } from '../types/JsonType';
+import { ChargePointErrorCode } from '../types/ocpp/ChargePointErrorCode';
+import { ChargePointStatus } from '../types/ocpp/ChargePointStatus';
+import { ChargingProfile, ChargingRateUnitType } from '../types/ocpp/ChargingProfile';
+import {
+  ConnectorPhaseRotation,
+  StandardParametersKey,
+  SupportedFeatureProfiles,
+  VendorDefaultParametersKey,
+} from '../types/ocpp/Configuration';
+import { ErrorType } from '../types/ocpp/ErrorType';
+import { MessageType } from '../types/ocpp/MessageType';
+import { MeterValue, MeterValueMeasurand } from '../types/ocpp/MeterValues';
+import { OCPPVersion } from '../types/ocpp/OCPPVersion';
 import {
   AvailabilityType,
   BootNotificationRequest,
@@ -21,65 +58,29 @@ import {
   Response,
   StatusNotificationResponse,
 } from '../types/ocpp/Responses';
-import { ChargingProfile, ChargingRateUnitType } from '../types/ocpp/ChargingProfile';
-import ChargingStationTemplate, {
-  CurrentType,
-  PowerUnits,
-  WsOptions,
-} from '../types/ChargingStationTemplate';
-import {
-  ConnectorPhaseRotation,
-  StandardParametersKey,
-  SupportedFeatureProfiles,
-  VendorDefaultParametersKey,
-} from '../types/ocpp/Configuration';
-import { MeterValue, MeterValueMeasurand } from '../types/ocpp/MeterValues';
 import {
   StopTransactionReason,
   StopTransactionRequest,
   StopTransactionResponse,
 } from '../types/ocpp/Transaction';
-import { URL, fileURLToPath } from 'url';
 import { WSError, WebSocketCloseEventStatusCode } from '../types/WebSocket';
-import WebSocket, { Data, RawData } from 'ws';
-
+import Configuration from '../utils/Configuration';
+import Constants from '../utils/Constants';
+import { ACElectricUtils, DCElectricUtils } from '../utils/ElectricUtils';
+import FileUtils from '../utils/FileUtils';
+import logger from '../utils/Logger';
+import Utils from '../utils/Utils';
 import AuthorizedTagsCache from './AuthorizedTagsCache';
 import AutomaticTransactionGenerator from './AutomaticTransactionGenerator';
-import { AutomaticTransactionGeneratorConfiguration } from '../types/AutomaticTransactionGenerator';
-import BaseError from '../exception/BaseError';
-import { ChargePointErrorCode } from '../types/ocpp/ChargePointErrorCode';
-import { ChargePointStatus } from '../types/ocpp/ChargePointStatus';
-import ChargingStationConfiguration from '../types/ChargingStationConfiguration';
 import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
-import ChargingStationInfo from '../types/ChargingStationInfo';
-import ChargingStationOcppConfiguration from '../types/ChargingStationOcppConfiguration';
 import { ChargingStationUtils } from './ChargingStationUtils';
-import { ChargingStationWorkerMessageEvents } from '../types/ChargingStationWorker';
-import Configuration from '../utils/Configuration';
-import { ConnectorStatus } from '../types/ConnectorStatus';
-import Constants from '../utils/Constants';
-import { ErrorType } from '../types/ocpp/ErrorType';
-import { FileType } from '../types/FileType';
-import FileUtils from '../utils/FileUtils';
-import { JsonType } from '../types/JsonType';
-import { MessageType } from '../types/ocpp/MessageType';
 import OCPP16IncomingRequestService from './ocpp/1.6/OCPP16IncomingRequestService';
 import OCPP16RequestService from './ocpp/1.6/OCPP16RequestService';
 import OCPP16ResponseService from './ocpp/1.6/OCPP16ResponseService';
 import { OCPP16ServiceUtils } from './ocpp/1.6/OCPP16ServiceUtils';
-import OCPPError from '../exception/OCPPError';
 import OCPPIncomingRequestService from './ocpp/OCPPIncomingRequestService';
 import OCPPRequestService from './ocpp/OCPPRequestService';
-import { OCPPVersion } from '../types/ocpp/OCPPVersion';
-import PerformanceStatistics from '../performance/PerformanceStatistics';
 import SharedLRUCache from './SharedLRUCache';
-import { SupervisionUrlDistribution } from '../types/ConfigurationData';
-import Utils from '../utils/Utils';
-import crypto from 'crypto';
-import fs from 'fs';
-import logger from '../utils/Logger';
-import { parentPort } from 'worker_threads';
-import path from 'path';
 
 export default class ChargingStation {
   public hashId!: string;
index 7f1ff980e4ac75dd60bc7c289fe747cdb8ce716d..8a046715393a2e9565714aad7f4f2d6eefba74c5 100644 (file)
@@ -1,7 +1,7 @@
-import ChargingStation from './ChargingStation';
 import { ConfigurationKey } from '../types/ChargingStationOcppConfiguration';
 import { StandardParametersKey } from '../types/ocpp/Configuration';
 import logger from '../utils/Logger';
+import ChargingStation from './ChargingStation';
 
 export class ChargingStationConfigurationUtils {
   private constructor() {
index 2ac8a81bd4feb8f3df01972d8b473a435d04caa0..51887b1ba830ed66e2190093b439928f01da8474 100644 (file)
@@ -1,29 +1,30 @@
-import { ChargingProfile, ChargingSchedulePeriod } from '../types/ocpp/ChargingProfile';
-import { ChargingProfileKindType, RecurrencyKindType } from '../types/ocpp/1.6/ChargingProfile';
+import crypto from 'crypto';
+import path from 'path';
+import { fileURLToPath } from 'url';
+
+import moment from 'moment';
+
+import BaseError from '../exception/BaseError';
+import ChargingStationInfo from '../types/ChargingStationInfo';
 import ChargingStationTemplate, {
   AmpereUnits,
   CurrentType,
   Voltage,
 } from '../types/ChargingStationTemplate';
-import { MeterValueMeasurand, MeterValuePhase } from '../types/ocpp/MeterValues';
-
-import BaseError from '../exception/BaseError';
-import { BootNotificationRequest } from '../types/ocpp/Requests';
-import ChargingStation from './ChargingStation';
-import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
-import ChargingStationInfo from '../types/ChargingStationInfo';
-import Configuration from '../utils/Configuration';
-import Constants from '../utils/Constants';
 import { SampledValueTemplate } from '../types/MeasurandPerPhaseSampledValueTemplates';
+import { ChargingProfileKindType, RecurrencyKindType } from '../types/ocpp/1.6/ChargingProfile';
+import { ChargingProfile, ChargingSchedulePeriod } from '../types/ocpp/ChargingProfile';
 import { StandardParametersKey } from '../types/ocpp/Configuration';
-import Utils from '../utils/Utils';
+import { MeterValueMeasurand, MeterValuePhase } from '../types/ocpp/MeterValues';
+import { BootNotificationRequest } from '../types/ocpp/Requests';
 import { WebSocketCloseEventStatusString } from '../types/WebSocket';
 import { WorkerProcessType } from '../types/Worker';
-import crypto from 'crypto';
-import { fileURLToPath } from 'url';
+import Configuration from '../utils/Configuration';
+import Constants from '../utils/Constants';
 import logger from '../utils/Logger';
-import moment from 'moment';
-import path from 'path';
+import Utils from '../utils/Utils';
+import ChargingStation from './ChargingStation';
+import { ChargingStationConfigurationUtils } from './ChargingStationConfigurationUtils';
 
 export class ChargingStationUtils {
   private constructor() {
index 85ea77fb8b58d1d18d6424ee2f8c927080b03180..2fd83728d9ff3cb0e8fb1d0bcdff24069946e29a 100644 (file)
@@ -1,17 +1,18 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import { parentPort, workerData } from 'worker_threads';
+
+import { ThreadWorker } from 'poolifier';
+
 import {
   ChargingStationWorkerData,
   ChargingStationWorkerMessage,
   ChargingStationWorkerMessageEvents,
 } from '../types/ChargingStationWorker';
-import { parentPort, workerData } from 'worker_threads';
-
-import ChargingStation from './ChargingStation';
-import { ChargingStationUtils } from './ChargingStationUtils';
-import { ThreadWorker } from 'poolifier';
 import Utils from '../utils/Utils';
 import WorkerConstants from '../worker/WorkerConstants';
+import ChargingStation from './ChargingStation';
+import { ChargingStationUtils } from './ChargingStationUtils';
 
 // Conditionally export ThreadWorker instance for pool usage
 export let threadWorker: ThreadWorker;
index cda04196aa3c798f8bee698073c950940ac5e762..697cf943dadcbaa0b04f6db260f369b949556ada 100644 (file)
@@ -1,6 +1,7 @@
+import LRUCache from 'mnemonist/lru-map-with-delete';
+
 import ChargingStationConfiguration from '../types/ChargingStationConfiguration';
 import ChargingStationTemplate from '../types/ChargingStationTemplate';
-import LRUCache from 'mnemonist/lru-map-with-delete';
 import Utils from '../utils/Utils';
 
 enum CacheType {
index 7aad17a15e9a95d2ee3cfb173a89296d86cb1d06..e579395ebe7790c314e9f4f1cc59e3bbfa47fefc 100644 (file)
@@ -1,5 +1,29 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import fs from 'fs';
+import path from 'path';
+import { URL, fileURLToPath } from 'url';
+
+import { Client, FTPResponse } from 'basic-ftp';
+import tar from 'tar';
+
+import OCPPError from '../../../exception/OCPPError';
+import { JsonType } from '../../../types/JsonType';
+import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
+import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
+import {
+  ChargingProfilePurposeType,
+  OCPP16ChargingProfile,
+} from '../../../types/ocpp/1.6/ChargingProfile';
+import {
+  OCPP16StandardParametersKey,
+  OCPP16SupportedFeatureProfiles,
+} from '../../../types/ocpp/1.6/Configuration';
+import { OCPP16DiagnosticsStatus } from '../../../types/ocpp/1.6/DiagnosticsStatus';
+import {
+  OCPP16MeterValuesRequest,
+  OCPP16MeterValuesResponse,
+} from '../../../types/ocpp/1.6/MeterValues';
 import {
   ChangeAvailabilityRequest,
   ChangeConfigurationRequest,
@@ -35,11 +59,6 @@ import {
   SetChargingProfileResponse,
   UnlockConnectorResponse,
 } from '../../../types/ocpp/1.6/Responses';
-import {
-  ChargingProfilePurposeType,
-  OCPP16ChargingProfile,
-} from '../../../types/ocpp/1.6/ChargingProfile';
-import { Client, FTPResponse } from 'basic-ftp';
 import {
   OCPP16AuthorizationStatus,
   OCPP16AuthorizeRequest,
@@ -50,36 +69,18 @@ import {
   OCPP16StopTransactionRequest,
   OCPP16StopTransactionResponse,
 } from '../../../types/ocpp/1.6/Transaction';
-import {
-  OCPP16MeterValuesRequest,
-  OCPP16MeterValuesResponse,
-} from '../../../types/ocpp/1.6/MeterValues';
-import {
-  OCPP16StandardParametersKey,
-  OCPP16SupportedFeatureProfiles,
-} from '../../../types/ocpp/1.6/Configuration';
-import { URL, fileURLToPath } from 'url';
-
+import { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
+import { ErrorType } from '../../../types/ocpp/ErrorType';
+import { IncomingRequestHandler } from '../../../types/ocpp/Requests';
+import { DefaultResponse } from '../../../types/ocpp/Responses';
+import Constants from '../../../utils/Constants';
+import logger from '../../../utils/Logger';
+import Utils from '../../../utils/Utils';
 import type ChargingStation from '../../ChargingStation';
 import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
 import { ChargingStationUtils } from '../../ChargingStationUtils';
-import Constants from '../../../utils/Constants';
-import { DefaultResponse } from '../../../types/ocpp/Responses';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { IncomingRequestHandler } from '../../../types/ocpp/Requests';
-import { JsonType } from '../../../types/JsonType';
-import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
-import { OCPP16DiagnosticsStatus } from '../../../types/ocpp/1.6/DiagnosticsStatus';
-import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
-import { OCPPConfigurationKey } from '../../../types/ocpp/Configuration';
-import OCPPError from '../../../exception/OCPPError';
 import OCPPIncomingRequestService from '../OCPPIncomingRequestService';
-import Utils from '../../../utils/Utils';
-import fs from 'fs';
-import logger from '../../../utils/Logger';
-import path from 'path';
-import tar from 'tar';
+import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
 
 const moduleName = 'OCPP16IncomingRequestService';
 
index 3296dc94174feb603600a113d4be2130094947fb..2a2d4dfcf8f74e1217901348cbebe9d5b8a53199 100644 (file)
@@ -1,17 +1,16 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import OCPPError from '../../../exception/OCPPError';
 import { JsonObject, JsonType } from '../../../types/JsonType';
-
-import type ChargingStation from '../../ChargingStation';
-import Constants from '../../../utils/Constants';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
 import { OCPP16RequestCommand } from '../../../types/ocpp/1.6/Requests';
-import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
-import OCPPError from '../../../exception/OCPPError';
-import OCPPRequestService from '../OCPPRequestService';
-import type OCPPResponseService from '../OCPPResponseService';
+import { ErrorType } from '../../../types/ocpp/ErrorType';
 import { RequestParams } from '../../../types/ocpp/Requests';
+import Constants from '../../../utils/Constants';
 import Utils from '../../../utils/Utils';
+import type ChargingStation from '../../ChargingStation';
+import OCPPRequestService from '../OCPPRequestService';
+import type OCPPResponseService from '../OCPPResponseService';
+import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
 
 const moduleName = 'OCPP16RequestService';
 
index 90c04035aedc3a587011fe715d3f19c44675f595..fd972b261b6cc6e7e1334462534f8c0a19161390 100644 (file)
@@ -1,14 +1,14 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import OCPPError from '../../../exception/OCPPError';
+import { 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 {
-  OCPP16AuthorizationStatus,
-  OCPP16AuthorizeRequest,
-  OCPP16AuthorizeResponse,
-  OCPP16StartTransactionRequest,
-  OCPP16StartTransactionResponse,
-  OCPP16StopTransactionRequest,
-  OCPP16StopTransactionResponse,
-} from '../../../types/ocpp/1.6/Transaction';
+  OCPP16MeterValuesRequest,
+  OCPP16MeterValuesResponse,
+} from '../../../types/ocpp/1.6/MeterValues';
 import {
   OCPP16BootNotificationRequest,
   OCPP16RequestCommand,
@@ -20,23 +20,22 @@ import {
   OCPP16StatusNotificationResponse,
 } from '../../../types/ocpp/1.6/Responses';
 import {
-  OCPP16MeterValuesRequest,
-  OCPP16MeterValuesResponse,
-} from '../../../types/ocpp/1.6/MeterValues';
-
-import type ChargingStation from '../../ChargingStation';
-import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
+  OCPP16AuthorizationStatus,
+  OCPP16AuthorizeRequest,
+  OCPP16AuthorizeResponse,
+  OCPP16StartTransactionRequest,
+  OCPP16StartTransactionResponse,
+  OCPP16StopTransactionRequest,
+  OCPP16StopTransactionResponse,
+} from '../../../types/ocpp/1.6/Transaction';
 import { ErrorType } from '../../../types/ocpp/ErrorType';
-import { JsonType } from '../../../types/JsonType';
-import { OCPP16ChargePointErrorCode } from '../../../types/ocpp/1.6/ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from '../../../types/ocpp/1.6/ChargePointStatus';
-import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
-import { OCPP16StandardParametersKey } from '../../../types/ocpp/1.6/Configuration';
-import OCPPError from '../../../exception/OCPPError';
-import OCPPResponseService from '../OCPPResponseService';
 import { ResponseHandler } from '../../../types/ocpp/Responses';
-import Utils from '../../../utils/Utils';
 import logger from '../../../utils/Logger';
+import Utils from '../../../utils/Utils';
+import type ChargingStation from '../../ChargingStation';
+import { ChargingStationConfigurationUtils } from '../../ChargingStationConfigurationUtils';
+import OCPPResponseService from '../OCPPResponseService';
+import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
 
 const moduleName = 'OCPP16ResponseService';
 
index 0599cfa0e07915d7bd77429bf4e412c1f178d269..2a154e7b78e9dd26a6ebb2b300f968c7dba3f712 100644 (file)
@@ -1,10 +1,15 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import { ACElectricUtils, DCElectricUtils } from '../../../utils/ElectricUtils';
+import OCPPError from '../../../exception/OCPPError';
 import { CurrentType, Voltage } from '../../../types/ChargingStationTemplate';
 import MeasurandPerPhaseSampledValueTemplates, {
   SampledValueTemplate,
 } from '../../../types/MeasurandPerPhaseSampledValueTemplates';
+import MeasurandValues from '../../../types/MeasurandValues';
+import {
+  OCPP16StandardParametersKey,
+  OCPP16SupportedFeatureProfiles,
+} from '../../../types/ocpp/1.6/Configuration';
 import {
   MeterValueContext,
   MeterValueLocation,
@@ -18,20 +23,14 @@ import {
   OCPP16IncomingRequestCommand,
   OCPP16RequestCommand,
 } from '../../../types/ocpp/1.6/Requests';
-import {
-  OCPP16StandardParametersKey,
-  OCPP16SupportedFeatureProfiles,
-} from '../../../types/ocpp/1.6/Configuration';
-
+import { ErrorType } from '../../../types/ocpp/ErrorType';
+import Constants from '../../../utils/Constants';
+import { ACElectricUtils, DCElectricUtils } from '../../../utils/ElectricUtils';
+import logger from '../../../utils/Logger';
+import Utils from '../../../utils/Utils';
 import type ChargingStation from '../../ChargingStation';
 import { ChargingStationUtils } from '../../ChargingStationUtils';
-import Constants from '../../../utils/Constants';
-import { ErrorType } from '../../../types/ocpp/ErrorType';
-import MeasurandValues from '../../../types/MeasurandValues';
-import OCPPError from '../../../exception/OCPPError';
 import { OCPPServiceUtils } from '../OCPPServiceUtils';
-import Utils from '../../../utils/Utils';
-import logger from '../../../utils/Logger';
 
 export class OCPP16ServiceUtils extends OCPPServiceUtils {
   public static checkFeatureProfile(
index bf5170956f499d4c9e41897f879bc0a1e095c320..5955b6c9d8fa19859eaf3d05dbaea9fcc6aae1cb 100644 (file)
@@ -1,8 +1,8 @@
-import type ChargingStation from '../ChargingStation';
 import { HandleErrorParams } from '../../types/Error';
-import { IncomingRequestCommand } from '../../types/ocpp/Requests';
 import { JsonType } from '../../types/JsonType';
+import { IncomingRequestCommand } from '../../types/ocpp/Requests';
 import logger from '../../utils/Logger';
+import type ChargingStation from '../ChargingStation';
 
 export default abstract class OCPPIncomingRequestService {
   private static instance: OCPPIncomingRequestService | null = null;
index d03e64ec067759a7ed0fefe8f0ce7fc40bdb48eb..6695fcbc010e451a85740966da781f8fee392165 100644 (file)
@@ -1,4 +1,10 @@
-import { ErrorResponse, Response } from '../../types/ocpp/Responses';
+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 { ErrorType } from '../../types/ocpp/ErrorType';
+import { MessageType } from '../../types/ocpp/MessageType';
 import {
   IncomingRequestCommand,
   OutgoingRequest,
@@ -6,19 +12,12 @@ import {
   RequestParams,
   ResponseType,
 } from '../../types/ocpp/Requests';
-import { JsonObject, JsonType } from '../../types/JsonType';
-
-import type ChargingStation from '../ChargingStation';
+import { ErrorResponse, Response } from '../../types/ocpp/Responses';
 import Constants from '../../utils/Constants';
-import { EmptyObject } from '../../types/EmptyObject';
-import { ErrorType } from '../../types/ocpp/ErrorType';
-import { HandleErrorParams } from '../../types/Error';
-import { MessageType } from '../../types/ocpp/MessageType';
-import OCPPError from '../../exception/OCPPError';
-import type OCPPResponseService from './OCPPResponseService';
-import PerformanceStatistics from '../../performance/PerformanceStatistics';
-import Utils from '../../utils/Utils';
 import logger from '../../utils/Logger';
+import Utils from '../../utils/Utils';
+import type ChargingStation from '../ChargingStation';
+import type OCPPResponseService from './OCPPResponseService';
 
 export default abstract class OCPPRequestService {
   private static instance: OCPPRequestService | null = null;
index 19088aab293442dc564d918bbe364730414d3a1c..ffcb888fe422bf35bb24549205ff4dfbc3ba09f5 100644 (file)
@@ -1,6 +1,6 @@
-import type ChargingStation from '../ChargingStation';
 import { JsonType } from '../../types/JsonType';
 import { RequestCommand } from '../../types/ocpp/Requests';
+import type ChargingStation from '../ChargingStation';
 
 export default abstract class OCPPResponseService {
   private static instance: OCPPResponseService | null = null;
index 1c8ed1b54113b86f5ed47df93a5f2f948d60b958..432c91e7140916089fc393430ae1922e5e2baf31 100644 (file)
@@ -1,8 +1,10 @@
-import AbstractUIService from './ui-services/AbstractUIService';
 import { Server as HttpServer } from 'http';
-import { ProtocolVersion } from '../../types/UIProtocol';
+
 import WebSocket from 'ws';
 
+import { ProtocolVersion } from '../../types/UIProtocol';
+import AbstractUIService from './ui-services/AbstractUIService';
+
 export abstract class AbstractUIServer {
   public readonly chargingStations: Set<string>;
   protected readonly uiServices: Map<ProtocolVersion, AbstractUIService>;
index 26bbe6dd48519806862bd21fccad1233384853c9..b0020b2e872e11dc6a59b0a5491f265203453a45 100644 (file)
@@ -1,10 +1,11 @@
-import { AbstractUIServer } from './AbstractUIServer';
+import chalk from 'chalk';
+
+import { ServerOptions } from '../../types/ConfigurationData';
 import { ApplicationProtocol } from '../../types/UIProtocol';
 import Configuration from '../../utils/Configuration';
-import { ServerOptions } from '../../types/ConfigurationData';
+import { AbstractUIServer } from './AbstractUIServer';
 import { UIServiceUtils } from './ui-services/UIServiceUtils';
 import UIWebSocketServer from './UIWebSocketServer';
-import chalk from 'chalk';
 
 export default class UIServerFactory {
   private constructor() {
index c67da00e1f6c8643e0f35032ff759d6bfe0cb0f0..ad3847790149823eb9859474b165ab0e878aa389 100644 (file)
@@ -1,13 +1,14 @@
-import { Protocol, ProtocolVersion } from '../../types/UIProtocol';
-
-import { AbstractUIServer } from './AbstractUIServer';
-import Configuration from '../../utils/Configuration';
 import { IncomingMessage } from 'http';
-import { ServerOptions } from '../../types/ConfigurationData';
-import UIServiceFactory from './ui-services/UIServiceFactory';
-import Utils from '../../utils/Utils';
+
 import WebSocket from 'ws';
+
+import { ServerOptions } from '../../types/ConfigurationData';
+import { Protocol, ProtocolVersion } from '../../types/UIProtocol';
+import Configuration from '../../utils/Configuration';
 import logger from '../../utils/Logger';
+import Utils from '../../utils/Utils';
+import { AbstractUIServer } from './AbstractUIServer';
+import UIServiceFactory from './ui-services/UIServiceFactory';
 
 export default class UIWebSocketServer extends AbstractUIServer {
   public constructor(options?: ServerOptions) {
index 151cff336ce33b012a21b8e20d51cd2c9e7b2277..9b5e0885dd6312dd8695445123cb5d3cc719f47f 100644 (file)
@@ -1,15 +1,15 @@
+import { RawData } from 'ws';
+
+import BaseError from '../../../exception/BaseError';
+import { JsonType } from '../../../types/JsonType';
 import {
   ProtocolCommand,
   ProtocolRequest,
   ProtocolRequestHandler,
 } from '../../../types/UIProtocol';
-
-import { AbstractUIServer } from '../AbstractUIServer';
-import BaseError from '../../../exception/BaseError';
-import { JsonType } from '../../../types/JsonType';
-import { RawData } from 'ws';
-import Utils from '../../../utils/Utils';
 import logger from '../../../utils/Logger';
+import Utils from '../../../utils/Utils';
+import { AbstractUIServer } from '../AbstractUIServer';
 
 export default abstract class AbstractUIService {
   protected readonly uiServer: AbstractUIServer;
index cbe4c8c3c0d893bde2d36fee9bb349b6520993d9..10f21f060be5318990517aaa6eb2b16530c52d77 100644 (file)
@@ -1,8 +1,7 @@
+import { JsonType } from '../../../types/JsonType';
 import { ProtocolCommand, ProtocolRequestHandler } from '../../../types/UIProtocol';
-
 import { AbstractUIServer } from '../AbstractUIServer';
 import AbstractUIService from './AbstractUIService';
-import { JsonType } from '../../../types/JsonType';
 
 export default class UIService001 extends AbstractUIService {
   constructor(uiServer: AbstractUIServer) {
index 7136e4472735e7e3ec6dffee11f58a360962d3cd..8fb55e04ca50152841ffedc10764a05bd8dfb799 100644 (file)
@@ -1,6 +1,6 @@
+import { ProtocolVersion } from '../../../types/UIProtocol';
 import { AbstractUIServer } from '../AbstractUIServer';
 import AbstractUIService from './AbstractUIService';
-import { ProtocolVersion } from '../../../types/UIProtocol';
 import UIService001 from './UIService001';
 
 export default class UIServiceFactory {
index 974d6fc4fb0ac16be896e62f4a43fbd06685437e..573520b9687c93b267fcf4fcfe4eb70f6ee4453e 100644 (file)
@@ -1,8 +1,8 @@
-import { Protocol, ProtocolVersion } from '../../../types/UIProtocol';
-
 import { IncomingMessage } from 'http';
-import Utils from '../../../utils/Utils';
+
+import { Protocol, ProtocolVersion } from '../../../types/UIProtocol';
 import logger from '../../../utils/Logger';
+import Utils from '../../../utils/Utils';
 
 export class UIServiceUtils {
   private constructor() {
index e67f3c95f56c38b81a22e1c70a1be191199e610c..563575a321fbcc1d1e985decea92fb9b34523ffd 100644 (file)
@@ -1,10 +1,9 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import { JsonType } from '../types/JsonType';
+import { ErrorType } from '../types/ocpp/ErrorType';
 import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
-
 import BaseError from './BaseError';
-import { ErrorType } from '../types/ocpp/ErrorType';
-import { JsonType } from '../types/JsonType';
 
 export default class OCPPError extends BaseError {
   code: ErrorType;
index fdcabb33f6f89adcaf3adde29029b22493cf0771..8dda0253198e30f69de4fa925aff324ffb02a065 100644 (file)
@@ -1,17 +1,17 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import { CircularArray, DEFAULT_CIRCULAR_ARRAY_SIZE } from '../utils/CircularArray';
-import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
 import { PerformanceEntry, PerformanceObserver, performance } from 'perf_hooks';
-import Statistics, { StatisticsData, TimeSeries } from '../types/Statistics';
+import { URL } from 'url';
+import { parentPort } from 'worker_threads';
 
 import { ChargingStationWorkerMessageEvents } from '../types/ChargingStationWorker';
-import Configuration from '../utils/Configuration';
 import { MessageType } from '../types/ocpp/MessageType';
-import { URL } from 'url';
-import Utils from '../utils/Utils';
+import { IncomingRequestCommand, RequestCommand } from '../types/ocpp/Requests';
+import Statistics, { StatisticsData, TimeSeries } from '../types/Statistics';
+import { CircularArray, DEFAULT_CIRCULAR_ARRAY_SIZE } from '../utils/CircularArray';
+import Configuration from '../utils/Configuration';
 import logger from '../utils/Logger';
-import { parentPort } from 'worker_threads';
+import Utils from '../utils/Utils';
 
 export default class PerformanceStatistics {
   private static readonly instances: Map<string, PerformanceStatistics> = new Map<
index 17f5ad2f62ff92f3b06b7abb7b068208a62a325e..bc28a6cb43c15b39a0925c10c9b8cf555a85b68d 100644 (file)
@@ -1,11 +1,13 @@
 // Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import fs from 'fs';
+
+import lockfile from 'proper-lockfile';
+
 import { FileType } from '../../types/FileType';
-import FileUtils from '../../utils/FileUtils';
 import Statistics from '../../types/Statistics';
+import FileUtils from '../../utils/FileUtils';
 import { Storage } from './Storage';
-import fs from 'fs';
-import lockfile from 'proper-lockfile';
 
 export class JsonFileStorage extends Storage {
   private fd: number | null = null;
index 1953491adb698692172c7595ac57e28016cc7360..df96d6a6b078794f54101806caf30eb94fbe95e0 100644 (file)
@@ -1,14 +1,14 @@
 // Copyright Jerome Benoit. 2021. All Rights Reserved.
 
 import { Configuration, Connection, IDatabaseDriver, MikroORM, Options } from '@mikro-orm/core';
-import { MikroORMDBType, StorageType } from '../../types/Storage';
+import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
 
-import Constants from '../../utils/Constants';
 import { PerformanceData } from '../../types/orm/entities/PerformanceData';
 import { PerformanceRecord } from '../../types/orm/entities/PerformanceRecord';
 import Statistics from '../../types/Statistics';
+import { MikroORMDBType, StorageType } from '../../types/Storage';
+import Constants from '../../utils/Constants';
 import { Storage } from './Storage';
-import { TsMorphMetadataProvider } from '@mikro-orm/reflection';
 
 export class MikroOrmStorage extends Storage {
   private storageType: StorageType;
index cefab6f39a4b1cadb4f5681e51218adc592b81a6..d941d7c188ad920a036f804838056f26ae13b887 100644 (file)
@@ -1,10 +1,11 @@
 // Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import Constants from '../../utils/Constants';
 import { MongoClient } from 'mongodb';
+
 import Statistics from '../../types/Statistics';
-import { Storage } from './Storage';
 import { StorageType } from '../../types/Storage';
+import Constants from '../../utils/Constants';
+import { Storage } from './Storage';
 
 export class MongoDBStorage extends Storage {
   private readonly client: MongoClient | null;
index 4770fb7520737cf1da7b3c4833761fd9ba9b7344..565c15df2e21b4160f74ad6d6d5ea356a57192cc 100644 (file)
@@ -1,13 +1,13 @@
 // Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import { DBName, StorageType } from '../../types/Storage';
+import { URL } from 'url';
 
 import { EmptyObject } from '../../types/EmptyObject';
 import { HandleErrorParams } from '../../types/Error';
 import Statistics from '../../types/Statistics';
-import { URL } from 'url';
-import Utils from '../../utils/Utils';
+import { DBName, StorageType } from '../../types/Storage';
 import logger from '../../utils/Logger';
+import Utils from '../../utils/Utils';
 
 export abstract class Storage {
   protected readonly storageUri: URL;
index 677ae8f267c99587be81b894d55c3b3d3f1263c6..b4c19d580f7894fb7456bd8623b72bb1b0d95e21 100644 (file)
@@ -1,10 +1,10 @@
 // Copyright Jerome Benoit. 2021. All Rights Reserved.
 
+import { StorageType } from '../../types/Storage';
 import { JsonFileStorage } from './JsonFileStorage';
 import { MikroOrmStorage } from './MikroOrmStorage';
 import { MongoDBStorage } from './MongoDBStorage';
 import { Storage } from './Storage';
-import { StorageType } from '../../types/Storage';
 
 export class StorageFactory {
   private constructor() {
index e720136bf7e2d2227116874d63db2d020012ca72..8d1d601a1a480b67c8c368912d4d2bf560a646aa 100755 (executable)
@@ -1,8 +1,9 @@
 #!/usr/bin/env node
 
-const MongoClient = require('mongodb');
 const fs = require('fs');
 
+const MongoClient = require('mongodb');
+
 // This script deletes charging stations
 // Filter charging stations by id pattern
 
index 0b334c1ad9fa024821c59633433c6c6bf970bc68..29b87a7e67801bd3cd3ff2ca751c963a9f3c2e05 100755 (executable)
@@ -1,8 +1,9 @@
 #!/usr/bin/env node
 
-const MongoClient = require('mongodb');
 const fs = require('fs');
 
+const MongoClient = require('mongodb');
+
 // This script sets charging stations public or private
 // Filter charging stations by id pattern
 
index ebad51ef634a01df62a540b3fe1d8c086813e727..d5c28b0b01c664c0c77e69c45e23582c02140e21 100644 (file)
@@ -1,8 +1,9 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import Bootstrap from './charging-station/Bootstrap';
 import chalk from 'chalk';
 
+import Bootstrap from './charging-station/Bootstrap';
+
 Bootstrap.getInstance()
   .start()
   .catch((error) => {
index 639cf8f7b8f1a54334bbce162bd6953f016ed241..6a2abe89888586226fe79e8f531b5ed8d5adbc9e 100644 (file)
@@ -1,7 +1,9 @@
+import { ClientRequestArgs } from 'http';
+
+import { ClientOptions } from 'ws';
+
 import { AutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
 import ChargingStationOcppConfiguration from './ChargingStationOcppConfiguration';
-import { ClientOptions } from 'ws';
-import { ClientRequestArgs } from 'http';
 import { ConnectorStatus } from './ConnectorStatus';
 import { OCPPProtocol } from './ocpp/OCPPProtocol';
 import { OCPPVersion } from './ocpp/OCPPVersion';
index fe09514f26fbe71b40d90c0762b12b45e7606efe..945d3d207d00865674b9fc7346f3d81a27d57a5b 100644 (file)
@@ -1,6 +1,5 @@
-import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
-
 import { JsonObject } from './JsonType';
+import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
 
 export interface ChargingStationWorkerOptions extends JsonObject {
   elementStartDelay?: number;
index 708f411c04f4d5bf34c79987617c83ddda083f96..e549368138e2c4d0dfbce04eceea9f08ab9db28c 100644 (file)
@@ -1,7 +1,9 @@
 import { ListenOptions } from 'net';
-import { StorageType } from './Storage';
-import { ServerOptions as WSServerOptions } from 'ws';
+
 import type { WorkerChoiceStrategy } from 'poolifier';
+import { ServerOptions as WSServerOptions } from 'ws';
+
+import { StorageType } from './Storage';
 import { WorkerProcessType } from './Worker';
 
 export type ServerOptions = WSServerOptions & ListenOptions;
index c63dd3db98311b7496a6b07c56d4c10f0cd32f7a..6eab4106ba0fb54e93a8a60f9597daa7e75019f0 100644 (file)
@@ -1,8 +1,8 @@
-import { AvailabilityType } from './ocpp/Requests';
+import { SampledValueTemplate } from './MeasurandPerPhaseSampledValueTemplates';
 import { ChargePointStatus } from './ocpp/ChargePointStatus';
 import { ChargingProfile } from './ocpp/ChargingProfile';
 import { MeterValue } from './ocpp/MeterValues';
-import { SampledValueTemplate } from './MeasurandPerPhaseSampledValueTemplates';
+import { AvailabilityType } from './ocpp/Requests';
 
 export interface ConnectorStatus {
   availability: AvailabilityType;
index 05dc41583d3c6c9e63427fd5cd7af8c84e596498..c9882ccdadbd6c0b95a0fa547e5a25ad1ed92a2c 100644 (file)
@@ -1,7 +1,9 @@
-import { JsonObject } from './JsonType';
-import { PoolOptions } from 'poolifier';
 import { Worker } from 'worker_threads';
 
+import { PoolOptions } from 'poolifier';
+
+import { JsonObject } from './JsonType';
+
 export enum WorkerProcessType {
   WORKER_SET = 'workerSet',
   DYNAMIC_POOL = 'dynamicPool',
index 1499e4ff11237f98df2b57b05bfc1af9fff9fec1..8eb0657e1570f42e06e346aca7c2d63918037e9f 100644 (file)
@@ -1,11 +1,10 @@
-import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
-
 import { EmptyObject } from '../../EmptyObject';
 import { JsonObject } from '../../JsonType';
 import { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
 import { OCPP16ChargePointStatus } from './ChargePointStatus';
-import { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
+import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
 import { OCPP16StandardParametersKey } from './Configuration';
+import { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
 
 export enum OCPP16RequestCommand {
   BOOT_NOTIFICATION = 'BootNotification',
index 5aa96818854d02fcff2373345c5fb7f15c4ddf07..31d714994c801d26b8819cc13b67415483ee026e 100644 (file)
@@ -1,11 +1,10 @@
+import { JsonObject } from '../JsonType';
 import {
   OCPP16StandardParametersKey,
   OCPP16SupportedFeatureProfiles,
   OCPP16VendorDefaultParametersKey,
 } from './1.6/Configuration';
 
-import { JsonObject } from '../JsonType';
-
 export type StandardParametersKey = OCPP16StandardParametersKey;
 
 export const StandardParametersKey = {
index 485d58a18c1f15233882c435ee3b21fab988ed95..e931e83fcbbee1a4ea8a7161a8e00bd823c01678 100644 (file)
@@ -1,3 +1,8 @@
+import type ChargingStation from '../../charging-station/ChargingStation';
+import OCPPError from '../../exception/OCPPError';
+import { JsonType } from '../JsonType';
+import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
+import { OCPP16MeterValuesRequest } from './1.6/MeterValues';
 import {
   OCPP16AvailabilityType,
   OCPP16BootNotificationRequest,
@@ -6,13 +11,7 @@ import {
   OCPP16RequestCommand,
   OCPP16StatusNotificationRequest,
 } from './1.6/Requests';
-
-import type ChargingStation from '../../charging-station/ChargingStation';
-import { JsonType } from '../JsonType';
 import { MessageType } from './MessageType';
-import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
-import { OCPP16MeterValuesRequest } from './1.6/MeterValues';
-import OCPPError from '../../exception/OCPPError';
 
 export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType];
 
index 62df6ccdfc05289fae6a530acc405be06e54e9ac..d5b4b7c578ad31a188a295ce8bc3e9e55af85088 100644 (file)
@@ -1,3 +1,6 @@
+import type ChargingStation from '../../charging-station/ChargingStation';
+import { JsonType } from '../JsonType';
+import { OCPP16MeterValuesResponse } from './1.6/MeterValues';
 import {
   OCPP16AvailabilityStatus,
   OCPP16BootNotificationResponse,
@@ -10,12 +13,8 @@ import {
   OCPP16TriggerMessageStatus,
   OCPP16UnlockStatus,
 } from './1.6/Responses';
-
-import type ChargingStation from '../../charging-station/ChargingStation';
 import { ErrorType } from './ErrorType';
-import { JsonType } from '../JsonType';
 import { MessageType } from './MessageType';
-import { OCPP16MeterValuesResponse } from './1.6/MeterValues';
 
 export type Response = [MessageType.CALL_RESULT_MESSAGE, string, JsonType];
 
index dffb33150b836e817db79749362d33ab9106a8a2..116b91741a9732232c9ba13a711b60b06cca6e34 100644 (file)
@@ -1,6 +1,7 @@
-import Bootstrap from '../../charging-station/Bootstrap';
 import express from 'express';
 
+import Bootstrap from '../../charging-station/Bootstrap';
+
 const pageHeader = `
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
index 67cf501b02e24eb2e7356affc556d79bca311aff..c185133a0a1d92a410a427aba0eee8517c05bb30 100644 (file)
@@ -1,3 +1,9 @@
+import fs from 'fs';
+import path from 'path';
+import { fileURLToPath } from 'url';
+
+import chalk from 'chalk';
+
 import ConfigurationData, {
   StationTemplateUrl,
   StorageConfiguration,
@@ -5,18 +11,13 @@ import ConfigurationData, {
   UIServerConfiguration,
   WorkerConfiguration,
 } from '../types/ConfigurationData';
-
-import Constants from './Constants';
 import { EmptyObject } from '../types/EmptyObject';
-import { FileType } from '../types/FileType';
 import { HandleErrorParams } from '../types/Error';
+import { FileType } from '../types/FileType';
 import { StorageType } from '../types/Storage';
-import WorkerConstants from '../worker/WorkerConstants';
 import { WorkerProcessType } from '../types/Worker';
-import chalk from 'chalk';
-import { fileURLToPath } from 'url';
-import fs from 'fs';
-import path from 'path';
+import WorkerConstants from '../worker/WorkerConstants';
+import Constants from './Constants';
 
 export default class Configuration {
   private static configurationFile = path.join(
index 1c42087964ce36c8108a4001affc7923c6a53019..ee8bcb41c8abe5aabdcf383396d7bc4f343e45e7 100644 (file)
@@ -1,3 +1,4 @@
+import { MeterValueMeasurand } from '../types/ocpp/MeterValues';
 import {
   AvailabilityStatus,
   ChargingProfileStatus,
@@ -8,8 +9,6 @@ import {
   UnlockStatus,
 } from '../types/ocpp/Responses';
 
-import { MeterValueMeasurand } from '../types/ocpp/MeterValues';
-
 export default class Constants {
   static readonly OCPP_RESPONSE_EMPTY = Object.freeze({});
   static readonly OCPP_RESPONSE_ACCEPTED = Object.freeze({ status: DefaultStatus.ACCEPTED });
index e36e85f73f5b11393899e4f8f9d83cf36dd346e5..7d1dbd665ef3ad3dcc33dac9ff83edd9f7beecc8 100644 (file)
@@ -1,11 +1,13 @@
+import fs from 'fs';
+
+import chalk from 'chalk';
+
 import { EmptyObject } from '../types/EmptyObject';
-import { FileType } from '../types/FileType';
 import { HandleErrorParams } from '../types/Error';
+import { FileType } from '../types/FileType';
 import { JsonType } from '../types/JsonType';
-import Utils from './Utils';
-import chalk from 'chalk';
-import fs from 'fs';
 import logger from './Logger';
+import Utils from './Utils';
 
 export default class FileUtils {
   private constructor() {
index aba00c742633c0422a6091f593ab1b8329790fe6..60a101d02e97f31ef3cdffa66ebda2a5e4817dc5 100644 (file)
@@ -1,9 +1,9 @@
+import { Format } from 'logform';
 import { Logger, createLogger, format, transport } from 'winston';
-
-import Configuration from './Configuration';
 import DailyRotateFile from 'winston-daily-rotate-file';
-import { Format } from 'logform';
 import TransportType from 'winston/lib/winston/transports/index.js';
+
+import Configuration from './Configuration';
 import Utils from './Utils';
 
 let transports: transport[];
index 9486ca0972b46febddae58d0268a052fcd4199c8..1ad1a7924bb0b5e4eb5e8fc7778a9d89f953eda6 100644 (file)
@@ -1,4 +1,5 @@
 import crypto from 'crypto';
+
 import { v4 as uuid } from 'uuid';
 
 export default class Utils {
index 1dd064fbf893023ed4f41b91c411f298de1cd1b1..3fbd4a0b2da68f7adaafbcfe8cb7a940c04c833a 100644 (file)
@@ -1,7 +1,7 @@
-import { WorkerData, WorkerOptions } from '../types/Worker';
+import fs from 'fs';
 
+import { WorkerData, WorkerOptions } from '../types/Worker';
 import WorkerConstants from './WorkerConstants';
-import fs from 'fs';
 
 export default abstract class WorkerAbstract<T extends WorkerData> {
   protected readonly workerScript: string;
index dfa344231edf56e019d0a1192b720aa493eec018..68813e20366edcc8b9cda844dbf17be087eedc13 100644 (file)
@@ -1,6 +1,6 @@
-import { WorkerData, WorkerOptions } from '../types/Worker';
-
 import { DynamicThreadPool } from 'poolifier';
+
+import { WorkerData, WorkerOptions } from '../types/Worker';
 import Utils from '../utils/Utils';
 import WorkerAbstract from './WorkerAbstract';
 import { WorkerUtils } from './WorkerUtils';
index d95f4d326f6dff656b9be314cecf1683ff1110b0..01adb96e795eb1e93e74e94b5d8b9bb4c56f9489 100644 (file)
@@ -1,7 +1,8 @@
 import { Worker, isMainThread } from 'worker_threads';
-import { WorkerData, WorkerOptions, WorkerProcessType } from '../types/Worker';
 
 import { PoolOptions } from 'poolifier';
+
+import { WorkerData, WorkerOptions, WorkerProcessType } from '../types/Worker';
 import type WorkerAbstract from './WorkerAbstract';
 import WorkerConstants from './WorkerConstants';
 import WorkerDynamicPool from './WorkerDynamicPool';
index 73014977070673616607821928e86ad0bd88af0d..956d97de0f07b54f0ce627f4620642205963de2a 100644 (file)
@@ -1,9 +1,9 @@
 // Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
 
-import { WorkerData, WorkerMessageEvents, WorkerOptions, WorkerSetElement } from '../types/Worker';
+import { Worker } from 'worker_threads';
 
+import { WorkerData, WorkerMessageEvents, WorkerOptions, WorkerSetElement } from '../types/Worker';
 import Utils from '../utils/Utils';
-import { Worker } from 'worker_threads';
 import WorkerAbstract from './WorkerAbstract';
 import { WorkerUtils } from './WorkerUtils';
 
index 3eaffff4b48a7c11e4c6c5fa3026b4c9f042b551..99ea301d5d1a05ef8fbdd3627c3b04aec54be596 100644 (file)
@@ -1,6 +1,6 @@
-import { WorkerData, WorkerOptions } from '../types/Worker';
-
 import { FixedThreadPool } from 'poolifier';
+
+import { WorkerData, WorkerOptions } from '../types/Worker';
 import Utils from '../utils/Utils';
 import WorkerAbstract from './WorkerAbstract';
 import { WorkerUtils } from './WorkerUtils';
index 485ee19ef720ce29fad8f5006b6e84588fba2514..9579305608a1b938cd07518a0f741f21b967d420 100644 (file)
@@ -1,7 +1,10 @@
-const RoboHydraHead = require('robohydra').heads.RoboHydraHead;
-const RoboHydraWebSocketHead = require('robohydra').heads.RoboHydraWebSocketHead;
-const RoboHydraWebSocketHeadProxy = require('robohydra').heads.RoboHydraWebSocketHeadProxy;
+// eslint-disable-next-line node/no-unpublished-require
+const RoboHydra = require('robohydra');
+const RoboHydraHead = RoboHydra.heads.RoboHydraHead;
+const RoboHydraWebSocketHead = RoboHydra.heads.RoboHydraWebSocketHead;
+const RoboHydraWebSocketHeadProxy = RoboHydra.heads.RoboHydraWebSocketHeadProxy;
 
+// eslint-disable-next-line no-unused-vars
 exports.getBodyParts = function (conf) {
   let wsSocket;
   return {
index c1c2e67e51137528f506d0dc6fbfed1523081788..c8b38a9a2a9cdccfe925f05d6f5d911ee7693cc3 100644 (file)
@@ -1,6 +1,7 @@
-import { CircularArray } from '../../src/utils/CircularArray';
 import { expect } from 'expect';
 
+import { CircularArray } from '../../src/utils/CircularArray';
+
 describe('Circular array test suite', () => {
   it('Verify that circular array can be instantiated', () => {
     const circularArray = new CircularArray();