From a88b878d7b786d0a721d5b9bb62a836a08ff4692 Mon Sep 17 00:00:00 2001 From: Bruno Gelatti Date: Thu, 10 Oct 2024 17:59:48 -0300 Subject: [PATCH] Dependency corrections for monorepo --- .vscode/settings.json | 2 +- biome.jsonc | 59 + jest.config.js | 2 +- package-lock.json | 1236 ++++++++++++++++- package.json | 19 +- packages/tcore-api/package.json | 1 + .../src/Controllers/APIController.ts | 27 +- .../src/Controllers/Account/Account.ts | 8 +- packages/tcore-api/src/Controllers/Action.ts | 14 +- .../tcore-api/src/Controllers/Analysis.ts | 16 +- .../src/Controllers/Device/Device.ts | 18 +- .../src/Controllers/DeviceData/DeviceData.ts | 10 +- packages/tcore-api/src/Controllers/File.ts | 6 +- .../tcore-api/src/Controllers/Hardware.ts | 8 +- packages/tcore-api/src/Controllers/Logs.ts | 6 +- packages/tcore-api/src/Controllers/Plugins.ts | 18 +- .../tcore-api/src/Controllers/Settings.ts | 14 +- .../tcore-api/src/Controllers/Statistic.ts | 6 +- packages/tcore-api/src/Controllers/Summary.ts | 6 +- packages/tcore-api/src/Controllers/System.ts | 6 +- packages/tcore-api/src/Controllers/Tag.ts | 6 +- packages/tcore-api/src/Helpers/Download.ts | 4 +- packages/tcore-api/src/Helpers/Files.ts | 6 +- packages/tcore-api/src/Helpers/Platform.ts | 2 +- packages/tcore-api/src/Helpers/Tar/Tar.ts | 4 +- packages/tcore-api/src/Helpers/Yaml.ts | 4 +- packages/tcore-api/src/Helpers/Zip.ts | 2 +- .../tcore-api/src/Helpers/formatBytes.test.ts | 2 +- packages/tcore-api/src/Helpers/formatBytes.ts | 2 +- packages/tcore-api/src/Helpers/log.ts | 10 +- packages/tcore-api/src/Helpers/shutdown.ts | 8 +- packages/tcore-api/src/Plugins/Host.ts | 16 +- .../tcore-api/src/Plugins/Module/Module.ts | 10 +- .../src/Plugins/Plugin/Plugin.test.ts | 12 +- .../tcore-api/src/Plugins/Plugin/Plugin.ts | 28 +- .../tcore-api/src/Plugins/PluginPackage.ts | 4 +- packages/tcore-api/src/Plugins/Uninstall.ts | 10 +- .../src/Plugins/Validator/Validator.ts | 6 +- .../tcore-api/src/Plugins/Worker/Worker.ts | 22 +- .../src/Plugins/__mocks__/plugin10/index.js | 2 +- .../src/Plugins/__mocks__/plugin11/index.js | 2 +- .../src/Plugins/__mocks__/plugin12/index.js | 2 +- .../src/Plugins/__mocks__/plugin4/index.js | 2 +- .../src/Plugins/__mocks__/plugin6/index.js | 2 +- .../src/Plugins/__mocks__/plugin7/index.js | 2 +- .../src/Plugins/__mocks__/plugin9/index.js | 2 +- .../src/Plugins/executePluginRequest.ts | 24 +- .../src/Plugins/invokeDatabaseFunction.ts | 2 +- .../src/Plugins/invokeFilesystemFunction.ts | 2 +- .../tcore-api/src/Services/Account/Account.ts | 27 +- .../src/Services/Account/AccountPassword.ts | 4 +- packages/tcore-api/src/Services/Action.ts | 44 +- .../tcore-api/src/Services/ActionScheduler.ts | 4 +- packages/tcore-api/src/Services/Analysis.ts | 20 +- .../src/Services/AnalysisCodeExecution.ts | 20 +- packages/tcore-api/src/Services/Device.ts | 30 +- .../Services/DeviceData/DeviceData.test.ts | 28 +- .../src/Services/DeviceData/DeviceData.ts | 47 +- .../src/Services/DeviceDataRetention.ts | 6 +- packages/tcore-api/src/Services/File.ts | 8 +- packages/tcore-api/src/Services/FilePicker.ts | 9 +- .../tcore-api/src/Services/Hardware.test.ts | 2 +- packages/tcore-api/src/Services/Hardware.ts | 8 +- .../tcore-api/src/Services/LiveInspector.ts | 8 +- packages/tcore-api/src/Services/Logs.ts | 4 +- .../Services/PayloadParserCodeExecution.ts | 24 +- .../src/Services/Plugin/PluginPassword.ts | 2 +- packages/tcore-api/src/Services/Plugins.ts | 37 +- .../tcore-api/src/Services/PluginsStorage.ts | 8 +- packages/tcore-api/src/Services/Settings.ts | 22 +- packages/tcore-api/src/Services/Statistic.ts | 8 +- packages/tcore-api/src/Services/Summary.ts | 4 +- packages/tcore-api/src/Services/System.ts | 9 +- packages/tcore-api/src/Services/Tag.ts | 2 +- packages/tcore-api/src/Socket/SocketServer.ts | 12 +- packages/tcore-api/src/index.ts | 20 +- packages/tcore-api/src/server.ts | 58 +- packages/tcore-api/tsconfig.json | 30 - packages/tcore-cli/package.json | 1 + packages/tcore-cli/src/Commands/Logs.ts | 10 +- packages/tcore-cli/src/Commands/Restart.ts | 10 +- packages/tcore-cli/src/Commands/Start.ts | 17 +- packages/tcore-cli/src/Commands/Status.ts | 4 +- packages/tcore-cli/src/Commands/Stop.ts | 4 +- packages/tcore-cli/src/Helpers/PM2.ts | 2 +- packages/tcore-cli/src/PluginCLI.ts | 6 +- packages/tcore-cli/src/index.ts | 12 +- packages/tcore-cli/tsconfig.json | 29 - packages/tcore-console/esbuild/build.js | 15 +- packages/tcore-console/esbuild/buildPath.js | 5 +- .../tcore-console/esbuild/generateIndex.js | 9 +- packages/tcore-console/esbuild/icon.js | 7 +- packages/tcore-console/esbuild/svgr.js | 7 +- packages/tcore-console/index.d.ts | 2 +- packages/tcore-console/jest.config.js | 2 +- packages/tcore-console/package.json | 1 + packages/tcore-console/src/App.tsx | 52 +- .../Components/Accordion/Accordion.test.tsx | 4 +- .../src/Components/Accordion/Accordion.tsx | 6 +- .../src/Components/Action/Action.interface.ts | 14 +- .../Common/ActionFields/ActionFields.tsx | 22 +- .../ActionTypePicker/ActionTypePicker.tsx | 8 +- .../Action/Common/HttpHeaders/HttpHeaders.tsx | 4 +- .../Common/ModalAddAction/ModalAddAction.tsx | 28 +- .../MultipleAnalysis/MultipleAnalysis.tsx | 6 +- .../Common/TriggerRadio/TriggerRadio.tsx | 8 +- .../Action/Edit/ActionEdit.test.tsx | 4 +- .../src/Components/Action/Edit/ActionEdit.tsx | 48 +- .../Action/Edit/ActionTab/ActionTab.tsx | 27 +- .../ConditionTrigger/ConditionTrigger.tsx | 10 +- .../DeviceRadio/DeviceRadio.tsx | 16 +- .../Action/Edit/Logic/convertActionFromAPI.ts | 6 +- .../Action/Edit/Logic/convertActionToAPI.ts | 20 +- .../Edit/Logic/getCronFromScheduleData.ts | 2 +- .../Edit/Logic/spreadCronToScheduleData.ts | 4 +- .../Action/Edit/MoreTab/MoreTab.tsx | 20 +- .../AdvancedCron/AdvancedCron.style.tsx | 2 +- .../AdvancedCron/AdvancedCron.tsx | 6 +- .../ScheduleTrigger/BasicCron/BasicCron.tsx | 18 +- .../MessageCronTooComplex.style.ts | 2 +- .../MessageCronTooComplex.tsx | 4 +- .../MessageTriggerNotFound.style.ts | 2 +- .../MessageTriggerNotFound.tsx | 4 +- .../MinimumScheduleMessage.tsx | 4 +- .../Edit/ScheduleTrigger/ScheduleTrigger.tsx | 22 +- .../TypeScheduleOptions.style.tsx | 2 +- .../ScheduleTrigger/TypeScheduleOptions.tsx | 10 +- .../WeekdayButton/WeekdayButton.tsx | 2 +- .../src/Components/Action/List/ActionList.tsx | 37 +- .../src/Components/AlertInfo/AlertInfo.tsx | 4 +- .../Common/AnalysisPicker/AnalysisPicker.tsx | 8 +- .../Common/AutomateTip/AutomateTip.tsx | 4 +- .../Common/ConsoleOptions/ConsoleOptions.tsx | 2 +- .../ModalAddAnalysis/ModalAddAnalysis.tsx | 10 +- .../Analysis/Common/SaveAndRun/SaveAndRun.tsx | 2 +- .../Analysis/Edit/AnalysisEdit.test.tsx | 4 +- .../Components/Analysis/Edit/AnalysisEdit.tsx | 34 +- .../Analysis/Edit/AnalysisTab/AnalysisTab.tsx | 26 +- .../Analysis/Edit/EnvVarsTab/EnvVarsTab.tsx | 8 +- .../Analysis/Edit/MoreTab/MoreTab.tsx | 20 +- .../Components/Analysis/List/AnalysisList.tsx | 16 +- .../BooleanStatus/BooleanStatus.test.tsx | 4 +- .../BooleanStatus/BooleanStatus.tsx | 2 +- .../Common/DataRetention/DataRetention.tsx | 10 +- .../ModalEmptyDevice/ModalEmptyDevice.tsx | 6 +- .../VariablesTable/VariablesTable.style.ts | 4 +- .../Common/VariablesTable/VariablesTable.tsx | 37 +- .../Bucket/Edit/BucketEdit.test.tsx | 4 +- .../src/Components/Bucket/Edit/BucketEdit.tsx | 26 +- .../GeneralInformationTab.tsx | 16 +- .../Edit/ModalEditGroup/ModalEditGroup.tsx | 6 +- .../ModalEditLocation/ModalEditLocation.tsx | 6 +- .../ModalEditMetadata.style.tsx | 2 +- .../ModalEditMetadata/ModalEditMetadata.tsx | 6 +- .../Edit/ModalEditValue/ModalEditValue.tsx | 11 +- .../Bucket/Edit/MoreTab/MoreTab.tsx | 22 +- .../Bucket/Edit/VariablesTab/VariablesTab.tsx | 14 +- .../src/Components/Bucket/List/BucketList.tsx | 14 +- .../ButtonDataAmount.style.ts | 2 +- .../ButtonDataAmount/ButtonDataAmount.tsx | 8 +- .../src/Components/Button/Button.style.ts | 2 +- .../src/Components/Button/Button.test.tsx | 4 +- .../src/Components/Button/Button.tsx | 2 +- .../src/Components/Capitalize/Capitalize.tsx | 2 +- .../src/Components/Checkbox/Checkbox.tsx | 2 +- .../src/Components/Col/Col.test.tsx | 4 +- .../tcore-console/src/Components/Col/Col.tsx | 2 +- .../src/Components/Console/Console.tsx | 8 +- .../src/Components/CopyButton/CopyButton.tsx | 6 +- .../Device/Common/DeviceInputOutput.tsx | 4 +- .../Common/DevicePicker/DevicePicker.tsx | 8 +- .../DeviceTypePicker/DeviceTypePicker.tsx | 6 +- .../Common/LiveInspector/LiveInspector.tsx | 20 +- .../LiveInspector/LiveInspector.types.ts | 2 +- .../Common/LiveInspector/LiveInspectorRow.tsx | 4 +- .../Common/ModalAddDevice/ModalAddDevice.tsx | 26 +- .../Common/PayloadParser/PayloadParser.tsx | 8 +- .../Device/Common/TokenTable/TokenTable.tsx | 18 +- .../ConfigParametersTab.tsx | 10 +- .../Device/Edit/DeviceEdit.test.tsx | 4 +- .../src/Components/Device/Edit/DeviceEdit.tsx | 54 +- .../Device/Edit/EncoderStack/EncoderStack.tsx | 10 +- .../Edit/EncoderStack/ModalAddEncoder.tsx | 4 +- .../GeneralInformationTab.tsx | 20 +- .../LiveInspectorTab/LiveInspectorTab.tsx | 6 +- .../Device/Edit/MoreTab/MoreTab.tsx | 20 +- .../Helpers/normalizeConfigParameters.ts | 4 +- .../src/Components/Device/List/DeviceList.tsx | 20 +- .../src/Components/EditPage/EditPage.tsx | 20 +- .../EmptyMessage/EmptyMessage.style.ts | 2 +- .../Components/EmptyMessage/EmptyMessage.tsx | 6 +- .../ErrorMessage/ErrorMessage.style.ts | 2 +- .../src/Components/FileSelect/FileSelect.tsx | 14 +- .../src/Components/FlexRow/FlexRow.test.tsx | 4 +- .../src/Components/FlexRow/FlexRow.tsx | 2 +- .../src/Components/Footer/Footer.test.tsx | 4 +- .../src/Components/Footer/Footer.tsx | 2 +- .../FormDivision/FormDivision.style.ts | 2 +- .../FormDivision/FormDivision.test.tsx | 4 +- .../Components/FormDivision/FormDivision.tsx | 6 +- .../Components/FormGroup/FormGroup.test.tsx | 4 +- .../src/Components/FormGroup/FormGroup.tsx | 8 +- .../Home/ComputerUsage/ComputerUsage.style.ts | 2 +- .../Home/ComputerUsage/ComputerUsage.tsx | 15 +- .../src/Components/Home/Home.test.tsx | 4 +- .../src/Components/Home/Home.tsx | 24 +- .../Components/Home/Network/Network.style.ts | 2 +- .../src/Components/Home/Network/Network.tsx | 6 +- .../OperatingSystem/OperatingSystem.style.ts | 2 +- .../Home/OperatingSystem/OperatingSystem.tsx | 15 +- .../Home/RequestChart/RequestChart.tsx | 6 +- .../Components/Home/Statistics/Statistics.tsx | 18 +- .../src/Components/Home/Summary/Summary.tsx | 10 +- .../src/Components/Icon/Icon.test.tsx | 4 +- .../src/Components/Icon/Icon.tsx | 8 +- .../src/Components/Icon/Icon.types.ts | 204 +-- .../Components/IconRadio/IconRadio.test.tsx | 4 +- .../src/Components/IconRadio/IconRadio.tsx | 4 +- .../Components/IconRadio/IconRadio.types.ts | 4 +- .../src/Components/InnerNav/InnerNav.style.ts | 2 +- .../src/Components/InnerNav/InnerNav.test.tsx | 4 +- .../src/Components/InnerNav/InnerNav.tsx | 6 +- .../src/Components/Input/Input.style.ts | 2 +- .../src/Components/Input/Input.test.tsx | 4 +- .../src/Components/Input/Input.tsx | 4 +- .../src/Components/InputList/InputList.tsx | 8 +- .../InputPassword/InputPassword.tsx | 10 +- .../src/Components/InputTime/InputTime.tsx | 2 +- .../src/Components/Link/Link.test.tsx | 4 +- .../src/Components/Link/Link.tsx | 2 +- .../src/Components/ListPage/ListPage.tsx | 14 +- .../src/Components/Loading/Loading.test.tsx | 4 +- .../src/Components/Login/Login.tsx | 14 +- .../Components/Login/LoginForm/LoginForm.tsx | 8 +- .../src/Components/Login/Welcome/Welcome.tsx | 2 +- .../src/Components/Logs/Logs.tsx | 25 +- .../src/Components/MainScreen/MainScreen.tsx | 6 +- .../src/Components/Markdown/Markdown.style.ts | 2 +- .../src/Components/Markdown/Markdown.tsx | 2 +- .../src/Components/Modal/Modal.style.ts | 2 +- .../src/Components/Modal/Modal.tsx | 10 +- .../ModalFileSelect/ModalFileSelect.tsx | 18 +- .../ModalListConfiguration.tsx | 10 +- .../src/Components/Navbar/Navbar.tsx | 12 +- .../src/Components/OptionList/OptionList.tsx | 10 +- .../OptionsPicker/OptionsPicker.test.tsx | 4 +- .../OptionsPicker/OptionsPicker.tsx | 16 +- .../src/Components/PageIframe/PageIFrame.tsx | 8 +- .../PaginatedTable/PaginatedTable.tsx | 17 +- .../PaginatedTable/PaginatedTable.types.ts | 4 +- .../Components/Pagination/Pagination.logic.ts | 12 +- .../src/Components/Pagination/Pagination.tsx | 7 +- .../Components/PluginImage/PluginImage.tsx | 2 +- .../Common/ClassTypes/ClassTypes.style.ts | 2 +- .../Plugins/Common/ClassTypes/ClassTypes.tsx | 4 +- .../MainInformation/MainInformation.tsx | 8 +- .../ModalDownloadFromURL.tsx | 10 +- .../ModalFactoryReset/ModalFactoryReset.tsx | 10 +- .../ModalInstallPlugin/ModalInstallPlugin.tsx | 12 +- .../ModalMasterPassword.tsx | 14 +- .../ModalUninstallPlugin.tsx | 12 +- .../ModalUploadPlugin/ModalUploadPlugin.tsx | 4 +- .../Common/ModuleSetup/ModuleSetup.tsx | 14 +- .../Common/ModuleStatus/ModuleStatus.tsx | 8 +- .../Common/Permissions/Permissions.style.ts | 2 +- .../Common/Permissions/Permissions.tsx | 2 +- .../Common/Platforms/Platforms.style.ts | 2 +- .../Plugins/Common/Platforms/Platforms.tsx | 2 +- .../PluginConfigFields/PluginConfigFields.tsx | 33 +- .../Plugins/Common/Publisher/Publisher.tsx | 10 +- .../Plugins/Common/Resources/Resources.tsx | 4 +- .../Plugins/Common/Status/Status.tsx | 8 +- .../Plugins/Edit/Buttons/Buttons.style.ts | 2 +- .../Plugins/Edit/Buttons/Buttons.tsx | 10 +- .../Components/Plugins/Edit/PluginEdit.tsx | 30 +- .../Plugins/Edit/SettingsTab/SettingsTab.tsx | 18 +- .../ProgramFieldset/ProgramFieldset.tsx | 6 +- .../RelativeDate/RelativeDate.test.tsx | 4 +- .../Components/RelativeDate/RelativeDate.tsx | 7 +- .../ResourceLinkField/ResourceLinkField.tsx | 2 +- .../tcore-console/src/Components/Row/Row.tsx | 2 +- .../RowManipulator/RowManipulator.tsx | 6 +- .../RowManipulatorTable.tsx | 8 +- .../RowManipulatorTable.types.ts | 2 +- .../src/Components/Select/Select.style.ts | 2 +- .../src/Components/Select/Select.test.tsx | 4 +- .../src/Components/Select/Select.tsx | 6 +- .../Common/ModalChanges/ModalChanges.tsx | 2 +- .../GeneralInformationTab.tsx | 22 +- .../src/Components/Settings/Edit/Settings.tsx | 12 +- .../src/Components/Setup/Setup.tsx | 16 +- .../Setup/SetupBackground/SetupBackground.tsx | 2 +- .../Components/Setup/SetupForm/SetupForm.tsx | 4 +- .../StepDatabaseError/StepDatabaseError.tsx | 29 +- .../StepDatabaseNoStore.tsx | 16 +- .../StepDatabaseWithStore.style.ts | 2 +- .../StepDatabaseWithStore.tsx | 26 +- .../StepDatabaseWrapper.tsx | 10 +- .../StepMasterPassword/StepMasterPassword.tsx | 10 +- .../StepPluginConfig/StepPluginConfig.tsx | 28 +- .../Setup/StepSignUp/StepSignUp.tsx | 12 +- .../Setup/StepWelcome/StepWelcome.style.ts | 2 +- .../Setup/StepWelcome/StepWelcome.tsx | 4 +- .../SuccessMessage/SuccessMessage.style.ts | 2 +- .../Setup/SuccessMessage/SuccessMessage.tsx | 2 +- .../InstalLocalPluginButton.tsx | 14 +- .../src/Components/Sidebar/Item.tsx | 4 +- .../Sidebar/PluginButton/PluginButton.tsx | 14 +- .../src/Components/Sidebar/Sidebar.tsx | 12 +- .../Components/SimpleTable/SimpleTable.tsx | 11 +- .../SimpleTable/SimpleTable.types.ts | 2 +- .../Store/Details/Banner/Banner.style.ts | 2 +- .../Store/Details/Banner/Banner.tsx | 18 +- .../Store/Details/DataTabs/DataTabs.tsx | 10 +- .../Store/Details/PluginDetails.style.ts | 2 +- .../Store/Details/PluginDetails.tsx | 12 +- .../Store/Details/Screenshots/Screenshots.tsx | 2 +- .../Store/Details/Sidebar/Sidebar.tsx | 10 +- .../src/Components/Store/List/Card/Card.tsx | 4 +- .../Store/List/PluginStore.style.ts | 2 +- .../src/Components/Store/List/PluginStore.tsx | 12 +- .../src/Components/Styles/GlobalStyles.ts | 2 +- .../src/Components/Switch/Switch.style.tsx | 4 +- .../src/Components/Switch/Switch.test.tsx | 4 +- .../src/Components/Switch/Switch.tsx | 4 +- .../src/Components/Tabs/Tabs.tsx | 2 +- .../src/Components/Tabs/Tabs.types.ts | 2 +- .../src/Components/Tags/Tags.test.tsx | 4 +- .../src/Components/Tags/Tags.tsx | 6 +- .../src/Components/Tags/TagsTab.tsx | 6 +- .../TimezonePicker/TimezonePicker.tsx | 5 +- .../src/Components/Tooltip/Tooltip.tsx | 6 +- .../src/Components/Tooltip/TooltipPopup.tsx | 2 +- .../Components/TooltipText/TooltipText.tsx | 6 +- .../VariableCondition.style.ts | 2 +- .../VariableCondition/VariableCondition.tsx | 8 +- .../src/Helpers/findConfigField.ts | 2 +- .../tcore-console/src/Helpers/formatBytes.ts | 2 +- .../src/Helpers/getDateTimeObject.ts | 4 +- .../src/Helpers/getDeviceTypeName.ts | 5 +- .../src/Helpers/isConfigFieldVisible.ts | 16 +- .../tcore-console/src/Helpers/isNumber.ts | 4 +- .../tcore-console/src/Helpers/localStorage.ts | 2 +- .../src/Helpers/normalizeTags.ts | 2 +- .../src/Helpers/useApiRequest.ts | 9 +- .../src/Helpers/validateConfigFields.ts | 8 +- .../src/Helpers/validateStringField.ts | 2 +- .../src/Helpers/validateStringListField.ts | 2 +- .../src/Requests/createAction/createAction.ts | 6 +- .../src/Requests/createAnalysis.ts | 6 +- .../src/Requests/createDevice.ts | 6 +- .../src/Requests/createDeviceToken.ts | 6 +- .../src/Requests/deleteAction.ts | 4 +- .../src/Requests/deleteAnalysis.ts | 4 +- .../src/Requests/deleteAnalysisLogs.ts | 4 +- .../src/Requests/deleteBucketVariables.ts | 4 +- .../src/Requests/deleteDevice.ts | 4 +- .../src/Requests/deleteDeviceData.ts | 4 +- .../src/Requests/deleteDeviceToken.ts | 4 +- .../src/Requests/disablePlugin.ts | 4 +- .../src/Requests/editAction/editAction.ts | 6 +- .../src/Requests/editAnalysis.ts | 6 +- .../tcore-console/src/Requests/editDevice.ts | 6 +- .../src/Requests/editDeviceData.ts | 4 +- .../src/Requests/editPluginSettings.ts | 4 +- .../src/Requests/editSettings.ts | 4 +- .../src/Requests/enablePlugin.ts | 4 +- .../src/Requests/getAccountByToken.ts | 2 +- .../src/Requests/getActionList.ts | 6 +- .../src/Requests/getAnalysisInfo.ts | 4 +- .../src/Requests/getAnalysisList.ts | 6 +- .../src/Requests/getDeviceData.ts | 4 +- .../src/Requests/getDeviceDataAmount.ts | 4 +- .../src/Requests/getDeviceInfo.ts | 4 +- .../src/Requests/getDeviceList.ts | 6 +- .../src/Requests/getPluginDatabaseInfo.ts | 4 +- .../src/Requests/getPluginInfo.ts | 4 +- .../src/Requests/getPluginStoreInstallURLs.ts | 2 +- .../src/Requests/installPlugin.ts | 2 +- .../src/Requests/reloadPlugin.ts | 4 +- .../tcore-console/src/Requests/runAnalysis.ts | 4 +- .../src/Requests/setDeviceParams.ts | 4 +- .../src/Requests/startPluginModule.ts | 4 +- .../src/Requests/stopPluginModule.ts | 4 +- .../src/Requests/uninstallPlugin.ts | 4 +- packages/tcore-console/src/System/Socket.ts | 4 +- packages/tcore-console/src/System/Store.ts | 2 +- .../src/Validation/buildZodError.ts | 2 +- packages/tcore-console/src/index.ts | 54 +- packages/tcore-console/tsconfig.json | 25 - packages/tcore-console/utils/test-utils.tsx | 6 +- packages/tcore-sdk/package.json | 4 + packages/tcore-sdk/src/Bin/Bin.ts | 10 +- packages/tcore-sdk/src/Bin/Commands/Login.ts | 10 +- packages/tcore-sdk/src/Bin/Commands/Logout.ts | 10 +- packages/tcore-sdk/src/Bin/Commands/Pack.ts | 12 +- .../tcore-sdk/src/Bin/Commands/Publish.ts | 18 +- packages/tcore-sdk/src/Bin/Commands/WhoAmI.ts | 2 +- packages/tcore-sdk/src/Bin/Constants.ts | 4 +- packages/tcore-sdk/src/Bin/Helpers.ts | 12 +- .../tcore-sdk/src/Lib/APIBridge/APIBridge.ts | 4 +- .../ActionTriggerModule.ts | 4 +- .../Lib/ActionTypeModule/ActionTypeModule.ts | 4 +- packages/tcore-sdk/src/Lib/Core/Core.test.ts | 6 +- packages/tcore-sdk/src/Lib/Core/Core.ts | 10 +- .../src/Lib/DatabaseModule/DatabaseModule.ts | 8 +- .../Lib/FileSystemModule/FileSystemModule.ts | 4 +- packages/tcore-sdk/src/Lib/Helpers/Helpers.ts | 8 +- .../src/Lib/HookModule/HookModule.ts | 4 +- .../PayloadDecoderModule.ts | 4 +- .../PayloadEncoderModule.ts | 2 +- .../src/Lib/PluginStorage/PluginStorage.ts | 2 +- .../src/Lib/QueueModule/QueueModule.ts | 4 +- .../src/Lib/ServiceModule/ServiceModule.ts | 4 +- .../src/Lib/TCoreModule/TCoreModule.ts | 8 +- packages/tcore-sdk/src/Lib/index.ts | 24 +- packages/tcore-sdk/src/Shared/ResourceID.ts | 4 +- .../src/Types/Account/Account.types.test.ts | 4 +- .../src/Types/Account/Account.types.ts | 4 +- .../src/Types/Action/Action.types.test.ts | 12 +- .../src/Types/Action/Action.types.ts | 22 +- .../src/Types/Analysis/Analysis.type.test.ts | 4 +- .../src/Types/Analysis/Analysis.types.ts | 12 +- .../src/Types/Common/Common.types.test.ts | 4 +- .../src/Types/Common/Common.types.ts | 12 +- .../tcore-sdk/src/Types/Connector.types.ts | 2 +- .../DatabaseModule/DatabaseModule.types.ts | 6 +- .../src/Types/Device/Device.types.test.ts | 12 +- .../src/Types/Device/Device.types.ts | 16 +- .../Types/DeviceData/DeviceData.types.test.ts | 18 +- .../src/Types/DeviceData/DeviceData.types.ts | 13 +- .../src/Types/Hardware/Hardware.types.test.ts | 6 +- .../Types/Helpers/parseRelativeDate.test.ts | 2 +- .../src/Types/Helpers/parseRelativeDate.ts | 3 +- .../src/Types/Helpers/parseSafe.test.ts | 2 +- .../Types/Helpers/preprocessBoolean.test.ts | 2 +- .../Types/Helpers/preprocessNumber.test.ts | 2 +- .../Types/Helpers/preprocessObject.test.ts | 2 +- .../src/Types/Helpers/preprocessObject.ts | 3 +- .../src/Types/Helpers/refineOrderBy.test.ts | 2 +- .../src/Types/Helpers/refineOrderBy.ts | 2 +- .../Types/Helpers/removeNullValues.test.ts | 2 +- .../LiveInspector/LiveInspector.types.test.ts | 4 +- .../LiveInspector/LiveInspector.types.ts | 2 +- .../tcore-sdk/src/Types/Log/Log.types.test.ts | 6 +- packages/tcore-sdk/src/Types/Log/Log.types.ts | 2 +- packages/tcore-sdk/src/Types/Network.types.ts | 2 +- .../src/Types/Plugin/Plugin.types.test.ts | 4 +- .../src/Types/Plugin/Plugin.types.ts | 2 +- .../src/Types/Resource/ResourceID.test.ts | 2 +- .../src/Types/Resource/ResourceID.ts | 2 +- .../src/Types/Settings/Settings.types.test.ts | 2 +- .../Types/Statistic/Statistic.types.test.ts | 4 +- .../src/Types/Summary/Summary.types.test.ts | 6 +- .../tcore-sdk/src/Types/Tag/Tag.types.test.ts | 6 +- packages/tcore-sdk/src/Types/index.ts | 36 +- packages/tcore-sdk/types.d.ts | 2 +- packages/tcore-sdk/types.js | 2 +- packages/tcore-shared/package.json | 8 +- .../src/Plugin/flattenConfigFields.ts | 2 +- packages/tcore-shared/src/System/System.ts | 2 +- packages/tcore-shared/src/index.ts | 6 +- packages/tcore-shared/tsconfig.json | 31 - .../tcore-sdk/tsconfig.json => tsconfig.json | 21 +- 464 files changed, 3291 insertions(+), 2237 deletions(-) create mode 100644 biome.jsonc delete mode 100644 packages/tcore-api/tsconfig.json delete mode 100644 packages/tcore-cli/tsconfig.json delete mode 100644 packages/tcore-console/tsconfig.json delete mode 100644 packages/tcore-shared/tsconfig.json rename packages/tcore-sdk/tsconfig.json => tsconfig.json (68%) diff --git a/.vscode/settings.json b/.vscode/settings.json index 00fd109e..9f77fca6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -53,5 +53,5 @@ "testid", "tinycolor", "unattach" - ], + ] } diff --git a/biome.jsonc b/biome.jsonc new file mode 100644 index 00000000..50afdd8e --- /dev/null +++ b/biome.jsonc @@ -0,0 +1,59 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.3/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "ignore": ["build", "build-tsc", "plugins"] + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 2 + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "style": { + "useNodejsImportProtocol": "error", + "noParameterAssign": "off" + }, + "nursery": { + "noCommonJs": "error" + }, + "correctness": { + "useImportExtensions": "error", + "useExhaustiveDependencies": "off" + }, + "suspicious": { + "noExplicitAny": "off", + "noArrayIndexKey": "off", + "noAssignInExpressions": "off" + }, + "complexity": { + "noForEach": "off" + }, + "a11y": { + "useKeyWithClickEvents": "off", + "noSvgWithoutTitle": "off", + "useIframeTitle": "off", + "noLabelWithoutControl": "off", + "useAltText": "off" + } + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double", + "semicolons": "always", + "trailingCommas": "all" + } + } +} diff --git a/jest.config.js b/jest.config.js index cca86df7..ec8b6527 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { preset: "ts-jest", testEnvironment: "node", roots: ['/packages', '/plugins'], diff --git a/package-lock.json b/package-lock.json index 07361a18..bc5fea34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,8 @@ "tcore": "packages/tcore-cli/build/index.js" }, "devDependencies": { + "@biomejs/biome": "1.9.3", + "@swc-node/register": "1.10.9", "@types/jest": "29.5.13", "@types/luxon": "3.4.2", "@types/node": "20.14.8", @@ -884,6 +886,170 @@ "dev": true, "license": "MIT" }, + "node_modules/@biomejs/biome": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.3.tgz", + "integrity": "sha512-POjAPz0APAmX33WOQFGQrwLvlu7WLV4CFJMlB12b6ZSg+2q6fYu9kZwLCOA+x83zXfcPd1RpuWOKJW0GbBwLIQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.9.3", + "@biomejs/cli-darwin-x64": "1.9.3", + "@biomejs/cli-linux-arm64": "1.9.3", + "@biomejs/cli-linux-arm64-musl": "1.9.3", + "@biomejs/cli-linux-x64": "1.9.3", + "@biomejs/cli-linux-x64-musl": "1.9.3", + "@biomejs/cli-win32-arm64": "1.9.3", + "@biomejs/cli-win32-x64": "1.9.3" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.3.tgz", + "integrity": "sha512-QZzD2XrjJDUyIZK+aR2i5DDxCJfdwiYbUKu9GzkCUJpL78uSelAHAPy7m0GuPMVtF/Uo+OKv97W3P9nuWZangQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.3.tgz", + "integrity": "sha512-vSCoIBJE0BN3SWDFuAY/tRavpUtNoqiceJ5PrU3xDfsLcm/U6N93JSM0M9OAiC/X7mPPfejtr6Yc9vSgWlEgVw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.3.tgz", + "integrity": "sha512-vJkAimD2+sVviNTbaWOGqEBy31cW0ZB52KtpVIbkuma7PlfII3tsLhFa+cwbRAcRBkobBBhqZ06hXoZAN8NODQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.3.tgz", + "integrity": "sha512-VBzyhaqqqwP3bAkkBrhVq50i3Uj9+RWuj+pYmXrMDgjS5+SKYGE56BwNw4l8hR3SmYbLSbEo15GcV043CDSk+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.3.tgz", + "integrity": "sha512-x220V4c+romd26Mu1ptU+EudMXVS4xmzKxPVb9mgnfYlN4Yx9vD5NZraSx/onJnd3Gh/y8iPUdU5CDZJKg9COA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.3.tgz", + "integrity": "sha512-TJmnOG2+NOGM72mlczEsNki9UT+XAsMFAOo8J0me/N47EJ/vkLXxf481evfHLlxMejTY6IN8SdRSiPVLv6AHlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.3.tgz", + "integrity": "sha512-lg/yZis2HdQGsycUvHWSzo9kOvnGgvtrYRgoCEwPBwwAL8/6crOp3+f47tPwI/LI1dZrhSji7PNsGKGHbwyAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.3.tgz", + "integrity": "sha512-cQMy2zanBkVLpmmxXdK6YePzmZx0s5Z7KEnwmrW54rcXK3myCNbQa09SwGZ8i/8sLw0H9F3X7K4rxVNGU8/D4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, "node_modules/@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", @@ -922,6 +1088,40 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@emnapi/core": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.0.tgz", + "integrity": "sha512-9hRqVlhwqBqCoToZ3hFcNVqL+uyHV06Y47ax4UB8L6XgVRqYz7MFnfessojo6+5TK89pKwJnpophwjTMOeKI9Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.0.tgz", + "integrity": "sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@emotion/is-prop-valid": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz", @@ -1478,6 +1678,19 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.5.tgz", + "integrity": "sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1571,6 +1784,163 @@ "semver": "bin/semver" } }, + "node_modules/@oxc-resolver/binding-darwin-arm64": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-1.12.0.tgz", + "integrity": "sha512-wYe+dlF8npM7cwopOOxbdNjtmJp17e/xF5c0K2WooQXy5VOh74icydM33+Uh/SZDgwyum09/U1FVCX5GdeQk+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@oxc-resolver/binding-darwin-x64": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-1.12.0.tgz", + "integrity": "sha512-FZxxp99om+SlvBr1cjzF8A3TjYcS0BInCqjUlM+2f9m9bPTR2Bng9Zq5Q09ZQyrKJjfGKqlOEHs3akuVOnrx3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@oxc-resolver/binding-freebsd-x64": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-1.12.0.tgz", + "integrity": "sha512-BZi0iU6IEOnXGSkqt1OjTTkN9wfyaK6kTpQwL/axl8eCcNDc7wbv1vloHgILf7ozAY1TP75nsLYlASYI4B5kGA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@oxc-resolver/binding-linux-arm-gnueabihf": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.12.0.tgz", + "integrity": "sha512-L2qnMEnZAqxbG9b1J3di/w/THIm+1fMVfbbTMWIQNMMXdMeqqDN6ojnOLDtuP564rAh4TBFPdLyEfGhMz6ipNA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxc-resolver/binding-linux-arm64-gnu": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.12.0.tgz", + "integrity": "sha512-otVbS4zeo3n71zgGLBYRTriDzc0zpruC0WI3ICwjpIk454cLwGV0yzh4jlGYWQJYJk0BRAmXFd3ooKIF+bKBHw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxc-resolver/binding-linux-arm64-musl": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.12.0.tgz", + "integrity": "sha512-IStQDjIT7Lzmqg1i9wXvPL/NsYsxF24WqaQFS8b8rxra+z0VG7saBOsEnOaa4jcEY8MVpLYabFhTV+fSsA2vnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxc-resolver/binding-linux-x64-gnu": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.12.0.tgz", + "integrity": "sha512-SipT7EVORz8pOQSFwemOm91TpSiBAGmOjG830/o+aLEsvQ4pEy223+SAnCfITh7+AahldYsJnVoIs519jmIlKQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxc-resolver/binding-linux-x64-musl": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-1.12.0.tgz", + "integrity": "sha512-mGh0XfUzKdn+WFaqPacziNraCWL5znkHRfQVxG9avGS9zb2KC/N1EBbPzFqutDwixGDP54r2gx4q54YCJEZ4iQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxc-resolver/binding-wasm32-wasi": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-1.12.0.tgz", + "integrity": "sha512-SZN6v7apKmQf/Vwiqb6e/s3Y2Oacw8uW8V2i1AlxtyaEFvnFE0UBn89zq6swEwE3OCajNWs0yPvgAXUMddYc7Q==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.4" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oxc-resolver/binding-win32-arm64-msvc": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.12.0.tgz", + "integrity": "sha512-GRe4bqCfFsyghruEn5bv47s9w3EWBdO2q72xCz5kpQ0LWbw+enPHtTjw3qX5PUcFYpKykM55FaO0hFDs1yzatw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@oxc-resolver/binding-win32-x64-msvc": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.12.0.tgz", + "integrity": "sha512-Z3llHH0jfJP4mlWq3DT7bK6qV+/vYe0+xzCgfc67+Tc/U3eYndujl880bexeGdGNPh87JeYznpZAOJ44N7QVVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@pm2/agent": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-2.0.1.tgz", @@ -1900,57 +2270,360 @@ }, "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc-node/core": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.3.tgz", + "integrity": "sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@swc/core": ">= 1.4.13", + "@swc/types": ">= 0.1" + } + }, + "node_modules/@swc-node/register": { + "version": "1.10.9", + "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.10.9.tgz", + "integrity": "sha512-iXy2sjP0phPEpK2yivjRC3PAgoLaT4sjSk0LDWCTdcTBJmR4waEog0E6eJbvoOkLkOtWw37SB8vCkl/bbh4+8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@swc-node/core": "^1.13.3", + "@swc-node/sourcemap-support": "^0.5.1", + "colorette": "^2.0.20", + "debug": "^4.3.5", + "oxc-resolver": "^1.10.2", + "pirates": "^4.0.6", + "tslib": "^2.6.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@swc/core": ">= 1.4.13", + "typescript": ">= 4.3" + } + }, + "node_modules/@swc-node/sourcemap-support": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz", + "integrity": "sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map-support": "^0.5.21", + "tslib": "^2.6.3" + } + }, + "node_modules/@swc-node/sourcemap-support/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@swc/core": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.35.tgz", + "integrity": "sha512-3cUteCTbr2r5jqfgx0r091sfq5Mgh6F1SQh8XAOnSvtKzwv2bC31mvBHVAieD1uPa2kHJhLav20DQgXOhpEitw==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.13" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.7.35", + "@swc/core-darwin-x64": "1.7.35", + "@swc/core-linux-arm-gnueabihf": "1.7.35", + "@swc/core-linux-arm64-gnu": "1.7.35", + "@swc/core-linux-arm64-musl": "1.7.35", + "@swc/core-linux-x64-gnu": "1.7.35", + "@swc/core-linux-x64-musl": "1.7.35", + "@swc/core-win32-arm64-msvc": "1.7.35", + "@swc/core-win32-ia32-msvc": "1.7.35", + "@swc/core-win32-x64-msvc": "1.7.35" + }, + "peerDependencies": { + "@swc/helpers": "*" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.35.tgz", + "integrity": "sha512-BQSSozVxjxS+SVQz6e3GC/+OBWGIK3jfe52pWdANmycdjF3ch7lrCKTHTU7eHwyoJ96mofszPf5AsiVJF34Fwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.35.tgz", + "integrity": "sha512-44TYdKN/EWtkU88foXR7IGki9JzhEJzaFOoPevfi9Xe7hjAD/x2+AJOWWqQNzDPMz9+QewLdUVLyR6s5okRgtg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.35.tgz", + "integrity": "sha512-ccfA5h3zxwioD+/z/AmYtkwtKz9m4rWTV7RoHq6Jfsb0cXHrd6tbcvgqRWXra1kASlE+cDWsMtEZygs9dJRtUQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.35.tgz", + "integrity": "sha512-hx65Qz+G4iG/IVtxJKewC5SJdki8PAPFGl6gC/57Jb0+jA4BIoGLD/J3Q3rCPeoHfdqpkCYpahtyUq8CKx41Jg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.35.tgz", + "integrity": "sha512-kL6tQL9No7UEoEvDRuPxzPTpxrvbwYteNRbdChSSP74j13/55G2/2hLmult5yFFaWuyoyU/2lvzjRL/i8OLZxg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.35.tgz", + "integrity": "sha512-Ke4rcLQSwCQ2LHdJX1FtnqmYNQ3IX6BddKlUtS7mcK13IHkQzZWp0Dcu6MgNA3twzb/dBpKX5GLy07XdGgfmyw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.35.tgz", + "integrity": "sha512-T30tlLnz0kYyDFyO5RQF5EQ4ENjW9+b56hEGgFUYmfhFhGA4E4V67iEx7KIG4u0whdPG7oy3qjyyIeTb7nElEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.35.tgz", + "integrity": "sha512-CfM/k8mvtuMyX+okRhemfLt784PLS0KF7Q9djA8/Dtavk0L5Ghnq+XsGltO3d8B8+XZ7YOITsB14CrjehzeHsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=10" } }, - "node_modules/@svgr/core/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.35.tgz", + "integrity": "sha512-ATB3uuH8j/RmS64EXQZJSbo2WXfRNpTnQszHME/sGaexsuxeijrp3DTYSFAA3R2Bu6HbIIX6jempe1Au8I3j+A==", + "cpu": [ + "ia32" + ], "dev": true, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.35.tgz", + "integrity": "sha512-iDGfQO1571NqWUXtLYDhwIELA/wadH42ioGn+J9R336nWx40YICzy9UQyslWRhqzhQ5kT+QXAW/MoCWc058N6Q==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.12.6" - }, + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@swc/types": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz", + "integrity": "sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==", + "dev": true, + "license": "Apache-2.0", + "peer": true, "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "@swc/counter": "^0.1.3" } }, "node_modules/@tago-io/sdk": { @@ -2125,6 +2798,17 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/aria-query": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", @@ -4177,6 +4861,13 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4692,11 +5383,12 @@ "integrity": "sha512-2xg7JrHQeLBQFkvTumLoy62x1siyeocc98QwjtURgvRqOPYmAkMUdmSjrOA+MlmL6QMQn5MUhDf6rNZNuPc1LQ==" }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -4707,6 +5399,12 @@ } } }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", @@ -11315,6 +12013,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/oxc-resolver": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-1.12.0.tgz", + "integrity": "sha512-YlaCIArvWNKCWZFRrMjhh2l5jK80eXnpYP+bhRc1J/7cW3TiyEY0ngJo73o/5n8hA3+4yLdTmXLNTQ3Ncz50LQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxc-resolver/binding-darwin-arm64": "1.12.0", + "@oxc-resolver/binding-darwin-x64": "1.12.0", + "@oxc-resolver/binding-freebsd-x64": "1.12.0", + "@oxc-resolver/binding-linux-arm-gnueabihf": "1.12.0", + "@oxc-resolver/binding-linux-arm64-gnu": "1.12.0", + "@oxc-resolver/binding-linux-arm64-musl": "1.12.0", + "@oxc-resolver/binding-linux-x64-gnu": "1.12.0", + "@oxc-resolver/binding-linux-x64-musl": "1.12.0", + "@oxc-resolver/binding-wasm32-wasi": "1.12.0", + "@oxc-resolver/binding-win32-arm64-msvc": "1.12.0", + "@oxc-resolver/binding-win32-x64-msvc": "1.12.0" + } + }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -11565,10 +12286,11 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -14443,9 +15165,10 @@ } }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", @@ -17807,6 +18530,78 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@biomejs/biome": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.3.tgz", + "integrity": "sha512-POjAPz0APAmX33WOQFGQrwLvlu7WLV4CFJMlB12b6ZSg+2q6fYu9kZwLCOA+x83zXfcPd1RpuWOKJW0GbBwLIQ==", + "dev": true, + "requires": { + "@biomejs/cli-darwin-arm64": "1.9.3", + "@biomejs/cli-darwin-x64": "1.9.3", + "@biomejs/cli-linux-arm64": "1.9.3", + "@biomejs/cli-linux-arm64-musl": "1.9.3", + "@biomejs/cli-linux-x64": "1.9.3", + "@biomejs/cli-linux-x64-musl": "1.9.3", + "@biomejs/cli-win32-arm64": "1.9.3", + "@biomejs/cli-win32-x64": "1.9.3" + } + }, + "@biomejs/cli-darwin-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.3.tgz", + "integrity": "sha512-QZzD2XrjJDUyIZK+aR2i5DDxCJfdwiYbUKu9GzkCUJpL78uSelAHAPy7m0GuPMVtF/Uo+OKv97W3P9nuWZangQ==", + "dev": true, + "optional": true + }, + "@biomejs/cli-darwin-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.3.tgz", + "integrity": "sha512-vSCoIBJE0BN3SWDFuAY/tRavpUtNoqiceJ5PrU3xDfsLcm/U6N93JSM0M9OAiC/X7mPPfejtr6Yc9vSgWlEgVw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.3.tgz", + "integrity": "sha512-vJkAimD2+sVviNTbaWOGqEBy31cW0ZB52KtpVIbkuma7PlfII3tsLhFa+cwbRAcRBkobBBhqZ06hXoZAN8NODQ==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-arm64-musl": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.3.tgz", + "integrity": "sha512-VBzyhaqqqwP3bAkkBrhVq50i3Uj9+RWuj+pYmXrMDgjS5+SKYGE56BwNw4l8hR3SmYbLSbEo15GcV043CDSk+Q==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.3.tgz", + "integrity": "sha512-x220V4c+romd26Mu1ptU+EudMXVS4xmzKxPVb9mgnfYlN4Yx9vD5NZraSx/onJnd3Gh/y8iPUdU5CDZJKg9COA==", + "dev": true, + "optional": true + }, + "@biomejs/cli-linux-x64-musl": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.3.tgz", + "integrity": "sha512-TJmnOG2+NOGM72mlczEsNki9UT+XAsMFAOo8J0me/N47EJ/vkLXxf481evfHLlxMejTY6IN8SdRSiPVLv6AHlA==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-arm64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.3.tgz", + "integrity": "sha512-lg/yZis2HdQGsycUvHWSzo9kOvnGgvtrYRgoCEwPBwwAL8/6crOp3+f47tPwI/LI1dZrhSji7PNsGKGHbwyAhw==", + "dev": true, + "optional": true + }, + "@biomejs/cli-win32-x64": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.3.tgz", + "integrity": "sha512-cQMy2zanBkVLpmmxXdK6YePzmZx0s5Z7KEnwmrW54rcXK3myCNbQa09SwGZ8i/8sLw0H9F3X7K4rxVNGU8/D4Q==", + "dev": true, + "optional": true + }, "@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", @@ -17838,6 +18633,37 @@ } } }, + "@emnapi/core": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.0.tgz", + "integrity": "sha512-9hRqVlhwqBqCoToZ3hFcNVqL+uyHV06Y47ax4UB8L6XgVRqYz7MFnfessojo6+5TK89pKwJnpophwjTMOeKI9Q==", + "dev": true, + "optional": true, + "requires": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "@emnapi/runtime": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.0.tgz", + "integrity": "sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.4.0" + } + }, + "@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.4.0" + } + }, "@emotion/is-prop-valid": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.3.tgz", @@ -18274,6 +19100,18 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@napi-rs/wasm-runtime": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.5.tgz", + "integrity": "sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==", + "dev": true, + "optional": true, + "requires": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -18347,6 +19185,86 @@ } } }, + "@oxc-resolver/binding-darwin-arm64": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-1.12.0.tgz", + "integrity": "sha512-wYe+dlF8npM7cwopOOxbdNjtmJp17e/xF5c0K2WooQXy5VOh74icydM33+Uh/SZDgwyum09/U1FVCX5GdeQk+A==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-darwin-x64": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-1.12.0.tgz", + "integrity": "sha512-FZxxp99om+SlvBr1cjzF8A3TjYcS0BInCqjUlM+2f9m9bPTR2Bng9Zq5Q09ZQyrKJjfGKqlOEHs3akuVOnrx3Q==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-freebsd-x64": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-1.12.0.tgz", + "integrity": "sha512-BZi0iU6IEOnXGSkqt1OjTTkN9wfyaK6kTpQwL/axl8eCcNDc7wbv1vloHgILf7ozAY1TP75nsLYlASYI4B5kGA==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-linux-arm-gnueabihf": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.12.0.tgz", + "integrity": "sha512-L2qnMEnZAqxbG9b1J3di/w/THIm+1fMVfbbTMWIQNMMXdMeqqDN6ojnOLDtuP564rAh4TBFPdLyEfGhMz6ipNA==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-linux-arm64-gnu": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.12.0.tgz", + "integrity": "sha512-otVbS4zeo3n71zgGLBYRTriDzc0zpruC0WI3ICwjpIk454cLwGV0yzh4jlGYWQJYJk0BRAmXFd3ooKIF+bKBHw==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-linux-arm64-musl": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.12.0.tgz", + "integrity": "sha512-IStQDjIT7Lzmqg1i9wXvPL/NsYsxF24WqaQFS8b8rxra+z0VG7saBOsEnOaa4jcEY8MVpLYabFhTV+fSsA2vnA==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-linux-x64-gnu": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.12.0.tgz", + "integrity": "sha512-SipT7EVORz8pOQSFwemOm91TpSiBAGmOjG830/o+aLEsvQ4pEy223+SAnCfITh7+AahldYsJnVoIs519jmIlKQ==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-linux-x64-musl": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-1.12.0.tgz", + "integrity": "sha512-mGh0XfUzKdn+WFaqPacziNraCWL5znkHRfQVxG9avGS9zb2KC/N1EBbPzFqutDwixGDP54r2gx4q54YCJEZ4iQ==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-wasm32-wasi": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-1.12.0.tgz", + "integrity": "sha512-SZN6v7apKmQf/Vwiqb6e/s3Y2Oacw8uW8V2i1AlxtyaEFvnFE0UBn89zq6swEwE3OCajNWs0yPvgAXUMddYc7Q==", + "dev": true, + "optional": true, + "requires": { + "@napi-rs/wasm-runtime": "^0.2.4" + } + }, + "@oxc-resolver/binding-win32-arm64-msvc": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.12.0.tgz", + "integrity": "sha512-GRe4bqCfFsyghruEn5bv47s9w3EWBdO2q72xCz5kpQ0LWbw+enPHtTjw3qX5PUcFYpKykM55FaO0hFDs1yzatw==", + "dev": true, + "optional": true + }, + "@oxc-resolver/binding-win32-x64-msvc": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.12.0.tgz", + "integrity": "sha512-Z3llHH0jfJP4mlWq3DT7bK6qV+/vYe0+xzCgfc67+Tc/U3eYndujl880bexeGdGNPh87JeYznpZAOJ44N7QVVQ==", + "dev": true, + "optional": true + }, "@pm2/agent": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@pm2/agent/-/agent-2.0.1.tgz", @@ -18612,6 +19530,168 @@ "svg-parser": "^2.0.2" } }, + "@swc-node/core": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.3.tgz", + "integrity": "sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==", + "dev": true, + "requires": {} + }, + "@swc-node/register": { + "version": "1.10.9", + "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.10.9.tgz", + "integrity": "sha512-iXy2sjP0phPEpK2yivjRC3PAgoLaT4sjSk0LDWCTdcTBJmR4waEog0E6eJbvoOkLkOtWw37SB8vCkl/bbh4+8A==", + "dev": true, + "requires": { + "@swc-node/core": "^1.13.3", + "@swc-node/sourcemap-support": "^0.5.1", + "colorette": "^2.0.20", + "debug": "^4.3.5", + "oxc-resolver": "^1.10.2", + "pirates": "^4.0.6", + "tslib": "^2.6.3" + } + }, + "@swc-node/sourcemap-support": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz", + "integrity": "sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==", + "dev": true, + "requires": { + "source-map-support": "^0.5.21", + "tslib": "^2.6.3" + }, + "dependencies": { + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@swc/core": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.35.tgz", + "integrity": "sha512-3cUteCTbr2r5jqfgx0r091sfq5Mgh6F1SQh8XAOnSvtKzwv2bC31mvBHVAieD1uPa2kHJhLav20DQgXOhpEitw==", + "dev": true, + "peer": true, + "requires": { + "@swc/core-darwin-arm64": "1.7.35", + "@swc/core-darwin-x64": "1.7.35", + "@swc/core-linux-arm-gnueabihf": "1.7.35", + "@swc/core-linux-arm64-gnu": "1.7.35", + "@swc/core-linux-arm64-musl": "1.7.35", + "@swc/core-linux-x64-gnu": "1.7.35", + "@swc/core-linux-x64-musl": "1.7.35", + "@swc/core-win32-arm64-msvc": "1.7.35", + "@swc/core-win32-ia32-msvc": "1.7.35", + "@swc/core-win32-x64-msvc": "1.7.35", + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.13" + } + }, + "@swc/core-darwin-arm64": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.35.tgz", + "integrity": "sha512-BQSSozVxjxS+SVQz6e3GC/+OBWGIK3jfe52pWdANmycdjF3ch7lrCKTHTU7eHwyoJ96mofszPf5AsiVJF34Fwg==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-darwin-x64": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.35.tgz", + "integrity": "sha512-44TYdKN/EWtkU88foXR7IGki9JzhEJzaFOoPevfi9Xe7hjAD/x2+AJOWWqQNzDPMz9+QewLdUVLyR6s5okRgtg==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-linux-arm-gnueabihf": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.35.tgz", + "integrity": "sha512-ccfA5h3zxwioD+/z/AmYtkwtKz9m4rWTV7RoHq6Jfsb0cXHrd6tbcvgqRWXra1kASlE+cDWsMtEZygs9dJRtUQ==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-linux-arm64-gnu": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.35.tgz", + "integrity": "sha512-hx65Qz+G4iG/IVtxJKewC5SJdki8PAPFGl6gC/57Jb0+jA4BIoGLD/J3Q3rCPeoHfdqpkCYpahtyUq8CKx41Jg==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-linux-arm64-musl": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.35.tgz", + "integrity": "sha512-kL6tQL9No7UEoEvDRuPxzPTpxrvbwYteNRbdChSSP74j13/55G2/2hLmult5yFFaWuyoyU/2lvzjRL/i8OLZxg==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-linux-x64-gnu": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.35.tgz", + "integrity": "sha512-Ke4rcLQSwCQ2LHdJX1FtnqmYNQ3IX6BddKlUtS7mcK13IHkQzZWp0Dcu6MgNA3twzb/dBpKX5GLy07XdGgfmyw==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-linux-x64-musl": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.35.tgz", + "integrity": "sha512-T30tlLnz0kYyDFyO5RQF5EQ4ENjW9+b56hEGgFUYmfhFhGA4E4V67iEx7KIG4u0whdPG7oy3qjyyIeTb7nElEw==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-win32-arm64-msvc": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.35.tgz", + "integrity": "sha512-CfM/k8mvtuMyX+okRhemfLt784PLS0KF7Q9djA8/Dtavk0L5Ghnq+XsGltO3d8B8+XZ7YOITsB14CrjehzeHsg==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-win32-ia32-msvc": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.35.tgz", + "integrity": "sha512-ATB3uuH8j/RmS64EXQZJSbo2WXfRNpTnQszHME/sGaexsuxeijrp3DTYSFAA3R2Bu6HbIIX6jempe1Au8I3j+A==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/core-win32-x64-msvc": { + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.35.tgz", + "integrity": "sha512-iDGfQO1571NqWUXtLYDhwIELA/wadH42ioGn+J9R336nWx40YICzy9UQyslWRhqzhQ5kT+QXAW/MoCWc058N6Q==", + "dev": true, + "optional": true, + "peer": true + }, + "@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true, + "peer": true + }, + "@swc/types": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz", + "integrity": "sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==", + "dev": true, + "peer": true, + "requires": { + "@swc/counter": "^0.1.3" + } + }, "@tago-io/sdk": { "version": "10.4.4", "resolved": "https://registry.npmjs.org/@tago-io/sdk/-/sdk-10.4.4.tgz", @@ -19796,6 +20876,16 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, + "@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "optional": true, + "requires": { + "tslib": "^2.4.0" + } + }, "@types/aria-query": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.2.tgz", @@ -21364,6 +22454,12 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -21788,11 +22884,18 @@ "integrity": "sha512-2xg7JrHQeLBQFkvTumLoy62x1siyeocc98QwjtURgvRqOPYmAkMUdmSjrOA+MlmL6QMQn5MUhDf6rNZNuPc1LQ==" }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } } }, "decimal.js": { @@ -26629,6 +27732,25 @@ "wcwidth": "^1.0.1" } }, + "oxc-resolver": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-1.12.0.tgz", + "integrity": "sha512-YlaCIArvWNKCWZFRrMjhh2l5jK80eXnpYP+bhRc1J/7cW3TiyEY0ngJo73o/5n8hA3+4yLdTmXLNTQ3Ncz50LQ==", + "dev": true, + "requires": { + "@oxc-resolver/binding-darwin-arm64": "1.12.0", + "@oxc-resolver/binding-darwin-x64": "1.12.0", + "@oxc-resolver/binding-freebsd-x64": "1.12.0", + "@oxc-resolver/binding-linux-arm-gnueabihf": "1.12.0", + "@oxc-resolver/binding-linux-arm64-gnu": "1.12.0", + "@oxc-resolver/binding-linux-arm64-musl": "1.12.0", + "@oxc-resolver/binding-linux-x64-gnu": "1.12.0", + "@oxc-resolver/binding-linux-x64-musl": "1.12.0", + "@oxc-resolver/binding-wasm32-wasi": "1.12.0", + "@oxc-resolver/binding-win32-arm64-msvc": "1.12.0", + "@oxc-resolver/binding-win32-x64-msvc": "1.12.0" + } + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -26811,9 +27933,9 @@ } }, "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true }, "pkg-dir": { @@ -28991,9 +30113,9 @@ } }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "tsutils": { "version": "3.21.0", diff --git a/package.json b/package.json index 05c48dcd..6d49042e 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "engines": { "node": ">=20.0.0" }, + "type": "module", "workspaces": [ "packages/tcore-sdk", "packages/tcore-shared", @@ -52,21 +53,23 @@ "plugin:add": "npm run plugin:add -ws --if-present" }, "dependencies": { + "@tago-io/sdk": "10.4.4", "axios": "0.24.0", - "luxon": "3.5.0", - "ora": "5.4.1", "chalk": "4.1.2", - "@tago-io/sdk": "10.4.4" + "luxon": "3.5.0", + "ora": "5.4.1" }, "devDependencies": { + "@biomejs/biome": "1.9.3", + "@swc-node/register": "1.10.9", + "@types/jest": "29.5.13", + "@types/luxon": "3.4.2", + "@types/node": "20.14.8", "concurrently": "9.0.1", - "typescript": "5.6.3", - "nodemon": "3.1.7", "jest": "29.7.0", + "nodemon": "3.1.7", "ts-jest": "29.2.5", "ts-node": "10.9.2", - "@types/jest": "29.5.13", - "@types/node": "20.14.8", - "@types/luxon": "3.4.2" + "typescript": "5.6.3" } } diff --git a/packages/tcore-api/package.json b/packages/tcore-api/package.json index 456b54dc..b1fd1378 100644 --- a/packages/tcore-api/package.json +++ b/packages/tcore-api/package.json @@ -2,6 +2,7 @@ "name": "@tago-io/tcore-api", "version": "0.7.0", "main": "./build/index.js", + "type": "module", "scripts": { "build": "rm -rf ./build; tsc", "test": "TZ=UTC jest --detectOpenHandles", diff --git a/packages/tcore-api/src/Controllers/APIController.ts b/packages/tcore-api/src/Controllers/APIController.ts index 0d5391e0..34f84598 100644 --- a/packages/tcore-api/src/Controllers/APIController.ts +++ b/packages/tcore-api/src/Controllers/APIController.ts @@ -1,10 +1,11 @@ -import { IncomingHttpHeaders } from "http"; -import express, { Request, Response } from "express"; -import { ZodTypeAny } from "zod"; -import { IAccountToken, IDeviceToken } from "@tago-io/tcore-sdk/types"; -import { getDeviceByToken, getDeviceToken } from "../Services/Device"; -import { getAccountToken } from "../Services/Account/Account"; -import { checkMasterPassword } from "../Services/Settings"; +import type { IncomingHttpHeaders } from "node:http"; +import type express from "express"; +import type { Request, Response } from "express"; +import type { ZodTypeAny } from "zod"; +import type { IAccountToken, IDeviceToken } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { getDeviceByToken, getDeviceToken } from "../Services/Device.ts"; +import { getAccountToken } from "../Services/Account/Account.ts"; +import { checkMasterPassword } from "../Services/Settings.ts"; type TResourceType = "device" | "account"; type TPermission = "full" | "write" | "read"; @@ -32,11 +33,11 @@ abstract class APIController { }; public async main() { - delete this.bodyParams.master_password; + this.bodyParams.master_password = undefined; const settings = await getMainSettings(); const data = { ...settings, ...this.bodyParams }; await setMainSettings(data); diff --git a/packages/tcore-api/src/Controllers/Statistic.ts b/packages/tcore-api/src/Controllers/Statistic.ts index d882289f..1e329370 100644 --- a/packages/tcore-api/src/Controllers/Statistic.ts +++ b/packages/tcore-api/src/Controllers/Statistic.ts @@ -1,6 +1,6 @@ -import { Application } from "express"; -import { getHourlyStatistics } from "../Services/Statistic"; -import APIController, { ISetupController, warm } from "./APIController"; +import type { Application } from "express"; +import { getHourlyStatistics } from "../Services/Statistic.ts"; +import APIController, { type ISetupController, warm } from "./APIController.ts"; /** * Retrieves all statistics from the last hour. diff --git a/packages/tcore-api/src/Controllers/Summary.ts b/packages/tcore-api/src/Controllers/Summary.ts index 90638ca4..ff272d5c 100644 --- a/packages/tcore-api/src/Controllers/Summary.ts +++ b/packages/tcore-api/src/Controllers/Summary.ts @@ -1,6 +1,6 @@ -import { Application } from "express"; -import { getSummary } from "../Services/Summary"; -import APIController, { ISetupController, warm } from "./APIController"; +import type { Application } from "express"; +import { getSummary } from "../Services/Summary.ts"; +import APIController, { type ISetupController, warm } from "./APIController.ts"; /** * Retrieves the summary information. diff --git a/packages/tcore-api/src/Controllers/System.ts b/packages/tcore-api/src/Controllers/System.ts index 2f91e87b..6c2ca5e0 100644 --- a/packages/tcore-api/src/Controllers/System.ts +++ b/packages/tcore-api/src/Controllers/System.ts @@ -1,6 +1,6 @@ -import { Application } from "express"; -import { getStatus } from "../Services/System"; -import APIController, { ISetupController, warm } from "./APIController"; +import type { Application } from "express"; +import { getStatus } from "../Services/System.ts"; +import APIController, { type ISetupController, warm } from "./APIController.ts"; /** * Retrieves the status information. diff --git a/packages/tcore-api/src/Controllers/Tag.ts b/packages/tcore-api/src/Controllers/Tag.ts index aa0a4bfd..b30031a8 100644 --- a/packages/tcore-api/src/Controllers/Tag.ts +++ b/packages/tcore-api/src/Controllers/Tag.ts @@ -1,7 +1,7 @@ -import { Application } from "express"; +import type { Application } from "express"; import { z } from "zod"; -import { getTagKeys } from "../Services/Tag"; -import APIController, { ISetupController, warm } from "./APIController"; +import { getTagKeys } from "../Services/Tag.ts"; +import APIController, { type ISetupController, warm } from "./APIController.ts"; /** * Configuration for ID in the URL. diff --git a/packages/tcore-api/src/Helpers/Download.ts b/packages/tcore-api/src/Helpers/Download.ts index c7ec885d..e28eed19 100644 --- a/packages/tcore-api/src/Helpers/Download.ts +++ b/packages/tcore-api/src/Helpers/Download.ts @@ -1,5 +1,5 @@ -import path from "path"; -import fs from "fs"; +import path from "node:path"; +import fs from "node:fs"; import axios from "axios"; /** diff --git a/packages/tcore-api/src/Helpers/Files.ts b/packages/tcore-api/src/Helpers/Files.ts index 67aae102..9cb6faab 100644 --- a/packages/tcore-api/src/Helpers/Files.ts +++ b/packages/tcore-api/src/Helpers/Files.ts @@ -1,5 +1,5 @@ -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; /** * Removes directory recursively. @@ -18,7 +18,7 @@ async function rmdir(dir: string) { const filename = path.join(dir, list[i]); const stat = fs.statSync(filename); - if (filename == "." || filename == "..") { + if (filename === "." || filename === "..") { // pass these files } else if (stat.isDirectory()) { // rmdir recursively diff --git a/packages/tcore-api/src/Helpers/Platform.ts b/packages/tcore-api/src/Helpers/Platform.ts index 0690f0e5..15148516 100644 --- a/packages/tcore-api/src/Helpers/Platform.ts +++ b/packages/tcore-api/src/Helpers/Platform.ts @@ -1,4 +1,4 @@ -import { spawnSync } from "child_process"; +import { spawnSync } from "node:child_process"; const isAlpine = detectAlpine(); diff --git a/packages/tcore-api/src/Helpers/Tar/Tar.ts b/packages/tcore-api/src/Helpers/Tar/Tar.ts index 7e45e596..3a48e849 100644 --- a/packages/tcore-api/src/Helpers/Tar/Tar.ts +++ b/packages/tcore-api/src/Helpers/Tar/Tar.ts @@ -1,5 +1,5 @@ -import zlib from "zlib"; -import fs from "fs"; +import zlib from "node:zlib"; +import fs from "node:fs"; import tar from "tar"; /** diff --git a/packages/tcore-api/src/Helpers/Yaml.ts b/packages/tcore-api/src/Helpers/Yaml.ts index 559dfb49..6f9d2101 100644 --- a/packages/tcore-api/src/Helpers/Yaml.ts +++ b/packages/tcore-api/src/Helpers/Yaml.ts @@ -1,5 +1,5 @@ -import fs from "fs/promises"; -import path from "path"; +import fs from "node:fs/promises"; +import path from "node:path"; import yaml from "js-yaml"; /** diff --git a/packages/tcore-api/src/Helpers/Zip.ts b/packages/tcore-api/src/Helpers/Zip.ts index 6f7e5dc9..454a11af 100644 --- a/packages/tcore-api/src/Helpers/Zip.ts +++ b/packages/tcore-api/src/Helpers/Zip.ts @@ -1,4 +1,4 @@ -import fs from "fs"; +import fs from "node:fs"; import extract from "extract-zip"; /** diff --git a/packages/tcore-api/src/Helpers/formatBytes.test.ts b/packages/tcore-api/src/Helpers/formatBytes.test.ts index 3dd7b432..203d7edd 100644 --- a/packages/tcore-api/src/Helpers/formatBytes.test.ts +++ b/packages/tcore-api/src/Helpers/formatBytes.test.ts @@ -1,4 +1,4 @@ -import { formatBytes } from "./formatBytes"; +import { formatBytes } from "./formatBytes.ts"; describe("Format bytes", () => { it("should return 0 B if value its equal to 0", () => { diff --git a/packages/tcore-api/src/Helpers/formatBytes.ts b/packages/tcore-api/src/Helpers/formatBytes.ts index 4302e828..d66f9cf3 100644 --- a/packages/tcore-api/src/Helpers/formatBytes.ts +++ b/packages/tcore-api/src/Helpers/formatBytes.ts @@ -10,7 +10,7 @@ function formatBytes(bytes: number) { const dm = 2; const sizes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; const i = Math.floor(Math.log(bytes) / Math.log(k)); - return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`; + return `${Number.parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`; } export { formatBytes }; diff --git a/packages/tcore-api/src/Helpers/log.ts b/packages/tcore-api/src/Helpers/log.ts index 5cb7cf37..d55c30ca 100644 --- a/packages/tcore-api/src/Helpers/log.ts +++ b/packages/tcore-api/src/Helpers/log.ts @@ -2,12 +2,12 @@ import chalk from "chalk"; import ora from "ora"; import { getSystemName } from "@tago-io/tcore-shared"; import boxen from "boxen"; -import { getMainSettings } from "../Services/Settings"; -import { plugins } from "../Plugins/Host"; -import { io } from "../Socket/SocketServer"; -import { getLocalIPs } from "../Services/Hardware"; +import { getMainSettings } from "../Services/Settings.ts"; +import { plugins } from "../Plugins/Host.ts"; +import { io } from "../Socket/SocketServer.ts"; +import { getLocalIPs } from "../Services/Hardware.ts"; // @ts-ignore -import pkg from "../../../../package.json"; +import pkg from "../../../../package.json" with { type: "json" }; /** * Contains a history of all logs in the application and in the plugins. diff --git a/packages/tcore-api/src/Helpers/shutdown.ts b/packages/tcore-api/src/Helpers/shutdown.ts index 538fb6d4..87c1ffa1 100644 --- a/packages/tcore-api/src/Helpers/shutdown.ts +++ b/packages/tcore-api/src/Helpers/shutdown.ts @@ -1,9 +1,9 @@ /* eslint-disable no-async-promise-executor */ -import { Server } from "http"; +import type { Server } from "node:http"; import { getSystemName } from "@tago-io/tcore-shared"; -import { stopActionScheduleTimer } from "../Services/ActionScheduler"; -import { terminateAllPlugins } from "../Services/Plugins"; -import { log } from "./log"; +import { stopActionScheduleTimer } from "../Services/ActionScheduler.ts"; +import { terminateAllPlugins } from "../Services/Plugins.ts"; +import { log } from "./log.ts"; let shutdownTries = 0; diff --git a/packages/tcore-api/src/Plugins/Host.ts b/packages/tcore-api/src/Plugins/Host.ts index a035611c..db22a53a 100644 --- a/packages/tcore-api/src/Plugins/Host.ts +++ b/packages/tcore-api/src/Plugins/Host.ts @@ -1,10 +1,10 @@ -import fs from "fs"; -import { listPluginFolders } from "../Services/Plugins"; -import { oraLog, oraLogError } from "../Helpers/log"; -import { getMainSettings, getPluginSettings } from "../Services/Settings"; -import Plugin from "./Plugin/Plugin"; -import { generatePluginID } from "./PluginID"; -import { getPluginPackageJSON } from "./PluginPackage"; +import fs from "node:fs"; +import { listPluginFolders } from "../Services/Plugins.ts"; +import { oraLog, oraLogError } from "../Helpers/log.ts"; +import { getMainSettings, getPluginSettings } from "../Services/Settings.ts"; +import Plugin from "./Plugin/Plugin.ts"; +import { generatePluginID } from "./PluginID.ts"; +import { getPluginPackageJSON } from "./PluginPackage.ts"; /** * List of plugins paths that are built-in as soon as tcore boots up. @@ -98,7 +98,7 @@ export async function startPluginAndHandleErrors(folder: string) { if (errors.length === 1 && errors[0].error) { // only one module threw an error, show a single line of error throw new Error(errors[0].error); - } else if (errors.length > 1) { + }if (errors.length > 1) { // multiple modules threw errors, show multiline of errors, one for // each module that threw an error const msgs = errors.map((x) => ` - ${x.name}: ${x.error}`); diff --git a/packages/tcore-api/src/Plugins/Module/Module.ts b/packages/tcore-api/src/Plugins/Module/Module.ts index fb32cc30..5a8936f3 100644 --- a/packages/tcore-api/src/Plugins/Module/Module.ts +++ b/packages/tcore-api/src/Plugins/Module/Module.ts @@ -1,10 +1,10 @@ /* eslint-disable no-unused-vars */ -import { IModuleSetup, TModuleState } from "@tago-io/tcore-sdk/types"; +import type { IModuleSetup, TModuleState } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { flattenConfigFields } from "@tago-io/tcore-shared"; -import { io } from "../../Socket/SocketServer"; -import { getPluginSettings } from "../../Services/Settings"; -import Plugin from "../Plugin/Plugin"; -import { checkMainDatabaseModuleHook } from "../../Services/Plugins"; +import { io } from "../../Socket/SocketServer.ts"; +import { getPluginSettings } from "../../Services/Settings.ts"; +import type Plugin from "../Plugin/Plugin.ts"; +import { checkMainDatabaseModuleHook } from "../../Services/Plugins.ts"; /** * Class that manages a single module of a plugin. diff --git a/packages/tcore-api/src/Plugins/Plugin/Plugin.test.ts b/packages/tcore-api/src/Plugins/Plugin/Plugin.test.ts index 138c385e..3b2b4a89 100644 --- a/packages/tcore-api/src/Plugins/Plugin/Plugin.test.ts +++ b/packages/tcore-api/src/Plugins/Plugin/Plugin.test.ts @@ -1,9 +1,9 @@ -import path from "path"; -import { plugins } from "../Host"; -import Module from "../Module/Module"; -import Validator from "../Validator/Validator"; -import { callbackInterval } from "../Worker/Worker"; -import Plugin from "./Plugin"; +import path from "node:path"; +import { plugins } from "../Host.ts"; +import type Module from "../Module/Module.ts"; +import Validator from "../Validator/Validator.ts"; +import { callbackInterval } from "../Worker/Worker.ts"; +import Plugin from "./Plugin.ts"; afterAll(() => { if (callbackInterval) { diff --git a/packages/tcore-api/src/Plugins/Plugin/Plugin.ts b/packages/tcore-api/src/Plugins/Plugin/Plugin.ts index 5c458c5e..acd9bfb3 100644 --- a/packages/tcore-api/src/Plugins/Plugin/Plugin.ts +++ b/packages/tcore-api/src/Plugins/Plugin/Plugin.ts @@ -1,16 +1,16 @@ /* eslint-disable no-unused-vars */ -import path from "path"; -import fs from "fs"; -import { IPluginPublisher, TPluginState, TPluginType } from "@tago-io/tcore-sdk/types"; +import path from "node:path"; +import fs from "node:fs"; +import type { IPluginPublisher, TPluginState, TPluginType } from "@tago-io/tcore-sdk/src/Types/index.ts"; import md5 from "md5"; -import { logError } from "../../Helpers/log"; -import { setPluginDisabledSettings } from "../../Services/Settings"; -import { io } from "../../Socket/SocketServer"; -import M from "../Module/Module"; -import Validator from "../Validator/Validator"; -import Worker from "../Worker/Worker"; -import { generatePluginID } from "../PluginID"; -import { DEV_BUILT_IN_PLUGINS } from "../Host"; +import { logError } from "../../Helpers/log.ts"; +import { setPluginDisabledSettings } from "../../Services/Settings.ts"; +import { io } from "../../Socket/SocketServer.ts"; +import type M from "../Module/Module.ts"; +import Validator from "../Validator/Validator.ts"; +import Worker from "../Worker/Worker.ts"; +import { generatePluginID } from "../PluginID.ts"; +import { DEV_BUILT_IN_PLUGINS } from "../Host.ts"; /** */ @@ -18,7 +18,7 @@ class Plugin { public package: any; public permissions: string[]; public types: TPluginType[]; - public builtIn: boolean = false; + public builtIn = false; public readonly version: string; public readonly id: string; @@ -114,7 +114,9 @@ class Plugin { if (force) { // quickly stop executing whole plugin - [...this.modules.values()].forEach((x) => (x.state = "stopped")); + for (const module of this.modules.values()) { + module.state = "stopped"; + } this.state = "stopped"; this.worker.stop(); this.emitSocketUpdate(); diff --git a/packages/tcore-api/src/Plugins/PluginPackage.ts b/packages/tcore-api/src/Plugins/PluginPackage.ts index 38ac38ae..ad5af65a 100644 --- a/packages/tcore-api/src/Plugins/PluginPackage.ts +++ b/packages/tcore-api/src/Plugins/PluginPackage.ts @@ -1,5 +1,5 @@ -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; /** * Gets the package.json file in a plugin folder. diff --git a/packages/tcore-api/src/Plugins/Uninstall.ts b/packages/tcore-api/src/Plugins/Uninstall.ts index 14b20038..769347a4 100644 --- a/packages/tcore-api/src/Plugins/Uninstall.ts +++ b/packages/tcore-api/src/Plugins/Uninstall.ts @@ -1,7 +1,7 @@ -import fs from "fs"; -import path from "path"; -import { io } from "../Socket/SocketServer"; -import { deactivatePlugin } from "../Services/Plugins"; +import fs from "node:fs"; +import path from "node:path"; +import { io } from "../Socket/SocketServer.ts"; +import { deactivatePlugin } from "../Services/Plugins.ts"; /** * Uninstalls a plugin. */ @@ -41,7 +41,7 @@ async function rmdir(dir: string) { const filename = path.join(dir, list[i]); const stat = fs.statSync(filename); - if (filename == "." || filename == "..") { + if (filename === "." || filename === "..") { // pass these files } else if (stat.isDirectory()) { // rmdir recursively diff --git a/packages/tcore-api/src/Plugins/Validator/Validator.ts b/packages/tcore-api/src/Plugins/Validator/Validator.ts index 3c361580..1b3df657 100644 --- a/packages/tcore-api/src/Plugins/Validator/Validator.ts +++ b/packages/tcore-api/src/Plugins/Validator/Validator.ts @@ -1,10 +1,10 @@ /* eslint-disable no-unused-vars */ import semver from "semver"; -import { IModuleSetup, zPluginPackageTCore } from "@tago-io/tcore-sdk/types"; +import { type IModuleSetup, zPluginPackageTCore } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { getSystemName } from "@tago-io/tcore-shared"; -import Plugin from "../Plugin/Plugin"; +import type Plugin from "../Plugin/Plugin.ts"; // @ts-ignore -import pkg from "../../../package.json"; +import pkg from "../../../package.json" with { type: "json" }; /** */ diff --git a/packages/tcore-api/src/Plugins/Worker/Worker.ts b/packages/tcore-api/src/Plugins/Worker/Worker.ts index 23c8f026..59042498 100644 --- a/packages/tcore-api/src/Plugins/Worker/Worker.ts +++ b/packages/tcore-api/src/Plugins/Worker/Worker.ts @@ -1,16 +1,16 @@ /* eslint-disable no-unused-vars */ -import path from "path"; -import { Worker as WorkerThread } from "worker_threads"; -import EventEmitter from "events"; -import fs from "fs"; -import { IModuleSetup, IPluginMessage } from "@tago-io/tcore-sdk/types"; +import path from "node:path"; +import { Worker as WorkerThread } from "node:worker_threads"; +import EventEmitter from "node:events"; +import fs from "node:fs"; +import type { IModuleSetup, IPluginMessage } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { nanoid } from "nanoid"; -import { getPluginSettings } from "../../Services/Settings"; -import { getActionList, invokeActionOnTriggerChange } from "../../Services/Action"; -import { log, logError } from "../../Helpers/log"; -import Plugin from "../Plugin/Plugin"; -import Module from "../Module/Module"; -import executePluginRequest from "../executePluginRequest"; +import { getPluginSettings } from "../../Services/Settings.ts"; +import { getActionList, invokeActionOnTriggerChange } from "../../Services/Action.ts"; +import { log, logError } from "../../Helpers/log.ts"; +import type Plugin from "../Plugin/Plugin.ts"; +import Module from "../Module/Module.ts"; +import executePluginRequest from "../executePluginRequest.ts"; /** * Keeps track of the messages sent to plugins to use the reject/resolve diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin10/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin10/index.js index 0ca85997..1680e167 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin10/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin10/index.js @@ -1,4 +1,4 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; const service1 = new ServiceModule({ id: "service1", name: "Service 1" }); service1.onLoad = () => { diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin11/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin11/index.js index 8653b3b1..d137d289 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin11/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin11/index.js @@ -1,4 +1,4 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; const service1 = new ServiceModule({ id: "service1", name: "Service 1" }); service1.onDestroy = () => { diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin12/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin12/index.js index 77ea2059..210d5334 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin12/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin12/index.js @@ -1,4 +1,4 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; const service = new ServiceModule({ id: "service1", name: "Service 1" }); diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin4/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin4/index.js index 5f25f463..c22fc177 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin4/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin4/index.js @@ -1,2 +1,2 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; new ServiceModule({ id: "hello", name: "world" }); diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin6/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin6/index.js index d58abe53..771a0e73 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin6/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin6/index.js @@ -1,4 +1,4 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; new ServiceModule({ id: "hello", name: "world" }); diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin7/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin7/index.js index d58abe53..771a0e73 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin7/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin7/index.js @@ -1,4 +1,4 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; new ServiceModule({ id: "hello", name: "world" }); diff --git a/packages/tcore-api/src/Plugins/__mocks__/plugin9/index.js b/packages/tcore-api/src/Plugins/__mocks__/plugin9/index.js index aeb793f0..a33905bf 100644 --- a/packages/tcore-api/src/Plugins/__mocks__/plugin9/index.js +++ b/packages/tcore-api/src/Plugins/__mocks__/plugin9/index.js @@ -1,4 +1,4 @@ -const { ServiceModule } = require("@tago-io/tcore-sdk"); +import { ServiceModule } from "@tago-io/tcore-sdk"; const service = new ServiceModule({ id: "hello", name: "world" }); diff --git a/packages/tcore-api/src/Plugins/executePluginRequest.ts b/packages/tcore-api/src/Plugins/executePluginRequest.ts index 81233018..bf8b4807 100644 --- a/packages/tcore-api/src/Plugins/executePluginRequest.ts +++ b/packages/tcore-api/src/Plugins/executePluginRequest.ts @@ -1,16 +1,16 @@ /* eslint-disable prettier/prettier */ -import { hideModuleMessage, showModuleMessage } from "../Services/Plugins"; -import { createFolder, doesFileOrFolderExist, getFileURI, getFolderURI, readFile, writeFile } from "../Services/File"; -import { deletePluginStorageItem, getAllPluginStorageItems, getPluginStorageItem, setPluginStorageItem } from "../Services/PluginsStorage"; -import * as DeviceService from "../Services/Device"; -import * as DeviceDataService from "../Services/DeviceData/DeviceData"; -import * as AnalysisService from "../Services/Analysis"; -import * as ActionService from "../Services/Action"; -import * as LiveInspectorService from "../Services/LiveInspector"; -import { getTagKeys } from "../Services/Tag"; -import { getSummary } from "../Services/Summary"; -import { getComputerUsage, getOSInfo } from "../Services/Hardware"; -import { plugins } from "./Host"; +import { hideModuleMessage, showModuleMessage } from "../Services/Plugins.ts"; +import { createFolder, doesFileOrFolderExist, getFileURI, getFolderURI, readFile, writeFile } from "../Services/File.ts"; +import { deletePluginStorageItem, getAllPluginStorageItems, getPluginStorageItem, setPluginStorageItem } from "../Services/PluginsStorage.ts"; +import * as DeviceService from "../Services/Device.ts"; +import * as DeviceDataService from "../Services/DeviceData/DeviceData.ts"; +import * as AnalysisService from "../Services/Analysis.ts"; +import * as ActionService from "../Services/Action.ts"; +import * as LiveInspectorService from "../Services/LiveInspector.ts"; +import { getTagKeys } from "../Services/Tag.ts"; +import { getSummary } from "../Services/Summary.ts"; +import { getComputerUsage, getOSInfo } from "../Services/Hardware.ts"; +import { plugins } from "./Host.ts"; /** * This function is a helper to execute plugin requests, such as creating diff --git a/packages/tcore-api/src/Plugins/invokeDatabaseFunction.ts b/packages/tcore-api/src/Plugins/invokeDatabaseFunction.ts index 14a99b1f..32240286 100644 --- a/packages/tcore-api/src/Plugins/invokeDatabaseFunction.ts +++ b/packages/tcore-api/src/Plugins/invokeDatabaseFunction.ts @@ -1,4 +1,4 @@ -import { getMainDatabaseModule } from "../Services/Plugins"; +import { getMainDatabaseModule } from "../Services/Plugins.ts"; /** * Invokes a function from the main database plugin. diff --git a/packages/tcore-api/src/Plugins/invokeFilesystemFunction.ts b/packages/tcore-api/src/Plugins/invokeFilesystemFunction.ts index ae055265..eb509a16 100644 --- a/packages/tcore-api/src/Plugins/invokeFilesystemFunction.ts +++ b/packages/tcore-api/src/Plugins/invokeFilesystemFunction.ts @@ -1,4 +1,4 @@ -import { getMainFilesystemModule, getModuleList } from "../Services/Plugins"; +import { getMainFilesystemModule, getModuleList } from "../Services/Plugins.ts"; /** * Invokes a function in the main filesystem module or the local disk if the diff --git a/packages/tcore-api/src/Services/Account/Account.ts b/packages/tcore-api/src/Services/Account/Account.ts index 8a9ef031..82ee2092 100644 --- a/packages/tcore-api/src/Services/Account/Account.ts +++ b/packages/tcore-api/src/Services/Account/Account.ts @@ -1,20 +1,20 @@ import { - IAccountTokenCreate, - IAccountListQuery, + type IAccountTokenCreate, + type IAccountListQuery, zAccount, - IAccount, + type IAccount, zAccountTokenCreate, zAccountList, - IAccountList, - IAccountCreate, + type IAccountList, + type IAccountCreate, zAccountCreate, - TGenericID, - IAccountToken, + type TGenericID, + type IAccountToken, zAccountToken, -} from "@tago-io/tcore-sdk/types"; +} from "@tago-io/tcore-sdk/src/Types/index.ts"; import { z } from "zod"; -import { invokeDatabaseFunction } from "../../Plugins/invokeDatabaseFunction"; -import { compareAccountPasswordHash, encryptAccountPassword } from "./AccountPassword"; +import { invokeDatabaseFunction } from "../../Plugins/invokeDatabaseFunction.ts"; +import { compareAccountPasswordHash, encryptAccountPassword } from "./AccountPassword.ts"; /** * Logs into account and returns a token. @@ -29,9 +29,8 @@ export async function login(username: string, password: string) { if (!passwordMatches) { if (account.password_hint) { throw new Error(`Invalid password. Your password hint is: ${account.password_hint}`); - } else { - throw new Error("Invalid credentials"); } + throw new Error("Invalid credentials"); } const token = await createAccountToken(account.id); @@ -79,8 +78,8 @@ export async function getAccountByToken(token: string): Promise { throw new Error("Invalid Account Token"); } const parsed = await zAccount.parseAsync(account); - delete (parsed as any).password; - delete (parsed as any).password_hint; + (parsed as any).password = undefined; + (parsed as any).password_hint = undefined; return parsed; } diff --git a/packages/tcore-api/src/Services/Account/AccountPassword.ts b/packages/tcore-api/src/Services/Account/AccountPassword.ts index 2552c526..164808b9 100644 --- a/packages/tcore-api/src/Services/Account/AccountPassword.ts +++ b/packages/tcore-api/src/Services/Account/AccountPassword.ts @@ -1,5 +1,5 @@ -import { scrypt as scryptNoPromise, randomBytes as randomBytesNoPromise } from "crypto"; -import { promisify } from "util"; +import { scrypt as scryptNoPromise, randomBytes as randomBytesNoPromise } from "node:crypto"; +import { promisify } from "node:util"; const scrypt = promisify(scryptNoPromise); const randomBytes = promisify(randomBytesNoPromise); diff --git a/packages/tcore-api/src/Services/Action.ts b/packages/tcore-api/src/Services/Action.ts index e83a8314..b209bb82 100644 --- a/packages/tcore-api/src/Services/Action.ts +++ b/packages/tcore-api/src/Services/Action.ts @@ -1,30 +1,32 @@ import { - IAction, - IActionCreate, - IActionEdit, - IActionList, - IActionListQuery, - IActionOption, - IActionTriggerModuleSetup, - IActionTypeModuleSetup, - IDevice, - IDeviceData, - TGenericID, + type IAction, + type IActionCreate, + type IActionEdit, + type IActionList, + type IActionListQuery, + type IActionOption, + type IActionTriggerModuleSetup, + type IActionTypeModuleSetup, + type IDevice, + type IDeviceData, + type TGenericID, zAction, zActionCreate, zActionEdit, zActionList, zActionListQuery, -} from "@tago-io/tcore-sdk/types"; +} from "@tago-io/tcore-sdk/src/Types/index.ts"; import axios from "axios"; -import { Device } from "@tago-io/sdk"; -import splitColon from "../Helpers/splitColon"; -import { plugins } from "../Plugins/Host"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; -import { runAnalysis } from "./AnalysisCodeExecution"; -import { addDeviceData } from "./DeviceData/DeviceData"; -import { getDeviceByToken } from "./Device"; -import { getModuleList } from "./Plugins"; +import splitColon from "../Helpers/splitColon.ts"; +import { plugins } from "../Plugins/Host.ts"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; +import { runAnalysis } from "./AnalysisCodeExecution.ts"; +import { addDeviceData } from "./DeviceData/DeviceData.ts"; +import { getDeviceByToken } from "./Device.ts"; +import { getModuleList } from "./Plugins.ts"; +import { createRequire } from 'node:module'; +const require = createRequire(import.meta.url); +const { Device } = require("@tago-io/sdk"); /** * Fixes a value's type before evaluating it. @@ -228,7 +230,7 @@ async function triggerActionPluginType(action: IAction, data: any): Promise false); } diff --git a/packages/tcore-api/src/Services/ActionScheduler.ts b/packages/tcore-api/src/Services/ActionScheduler.ts index c2e154ba..6484fae4 100644 --- a/packages/tcore-api/src/Services/ActionScheduler.ts +++ b/packages/tcore-api/src/Services/ActionScheduler.ts @@ -1,7 +1,7 @@ import { DateTime } from "luxon"; import cronParser from "cron-parser"; -import { parseRelativeDate } from "../Helpers/Time"; -import { getActionList, triggerAction } from "./Action"; +import { parseRelativeDate } from "../Helpers/Time.ts"; +import { getActionList, triggerAction } from "./Action.ts"; let interval: ReturnType; diff --git a/packages/tcore-api/src/Services/Analysis.ts b/packages/tcore-api/src/Services/Analysis.ts index 71fa72e3..fdeb1faf 100644 --- a/packages/tcore-api/src/Services/Analysis.ts +++ b/packages/tcore-api/src/Services/Analysis.ts @@ -1,12 +1,12 @@ import { - IAnalysis, - IAnalysisCreate, - IAnalysisEdit, - IAnalysisList, - IAnalysisListQuery, - ILog, - ILogCreate, - TGenericID, + type IAnalysis, + type IAnalysisCreate, + type IAnalysisEdit, + type IAnalysisList, + type IAnalysisListQuery, + type ILog, + type ILogCreate, + type TGenericID, zAnalysis, zAnalysisCreate, zAnalysisEdit, @@ -14,9 +14,9 @@ import { zAnalysisListQuery, zLog, zLogCreate, -} from "@tago-io/tcore-sdk/types"; +} from "@tago-io/tcore-sdk/src/Types/index.ts"; import { z } from "zod"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; /** * Validates an analysis ID, throws an error if it doesn't exist. diff --git a/packages/tcore-api/src/Services/AnalysisCodeExecution.ts b/packages/tcore-api/src/Services/AnalysisCodeExecution.ts index 104a1758..84a94947 100644 --- a/packages/tcore-api/src/Services/AnalysisCodeExecution.ts +++ b/packages/tcore-api/src/Services/AnalysisCodeExecution.ts @@ -1,10 +1,10 @@ -import { spawn } from "child_process"; -import fs from "fs"; -import { ILog, TGenericID } from "@tago-io/tcore-sdk/types"; -import { invokeFilesystemFunction } from "../Plugins/invokeFilesystemFunction"; -import { io } from "../Socket/SocketServer"; -import { addAnalysisLog, editAnalysis, getAnalysisInfo } from "./Analysis"; -import { getMainSettings } from "./Settings"; +import { spawn } from "node:child_process"; +import fs from "node:fs"; +import type { ILog, TGenericID } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { invokeFilesystemFunction } from "../Plugins/invokeFilesystemFunction.ts"; +import { io } from "../Socket/SocketServer.ts"; +import { addAnalysisLog, editAnalysis, getAnalysisInfo } from "./Analysis.ts"; +import { getMainSettings } from "./Settings.ts"; /** * Adds a log into the log buffer of the application and triggers the socket @@ -17,7 +17,7 @@ function addLog(error: boolean, id: TGenericID, message: string): void { timestamp: new Date(), }; - io.to(`analysis#${id}`).emit(`analysis::console`, data); + io.to(`analysis#${id}`).emit("analysis::console", data); addAnalysisLog(id, data); } @@ -39,7 +39,7 @@ export async function runAnalysis(id: string, data: any): Promise { throw new Error(message); } if (!analysis.binary_path) { - const message = `Binary executable path is missing`; + const message = "Binary executable path is missing"; throw new Error(message); } if (!analysis.file_path || !fs.existsSync(filePath)) { @@ -83,7 +83,7 @@ export async function runAnalysis(id: string, data: any): Promise { }); const timeout = setTimeout(() => { - addLog(true, id, `Script execution took too long (60s)`); + addLog(true, id, "Script execution took too long (60s)"); child.kill(); }, 60 * 1000); diff --git a/packages/tcore-api/src/Services/Device.ts b/packages/tcore-api/src/Services/Device.ts index 98b8eb68..5bde07e4 100644 --- a/packages/tcore-api/src/Services/Device.ts +++ b/packages/tcore-api/src/Services/Device.ts @@ -1,17 +1,17 @@ import { - ICreateDeviceResponse, - IDevice, - IDeviceCreate, - IDeviceEdit, - IDeviceList, - IDeviceListQuery, - IDeviceParameterCreate, - IDeviceToken, - IDeviceTokenCreate, - IDeviceTokenCreateResponse, - IDeviceTokenListQuery, - TGenericID, - TGenericToken, + type ICreateDeviceResponse, + type IDevice, + type IDeviceCreate, + type IDeviceEdit, + type IDeviceList, + type IDeviceListQuery, + type IDeviceParameterCreate, + type IDeviceToken, + type IDeviceTokenCreate, + type IDeviceTokenCreateResponse, + type IDeviceTokenListQuery, + type TGenericID, + type TGenericToken, zDevice, zDeviceCreate, zDeviceEdit, @@ -21,9 +21,9 @@ import { zDeviceParameterCreate, zDeviceToken, zDeviceTokenCreate, -} from "@tago-io/tcore-sdk/types"; +} from "@tago-io/tcore-sdk/src/Types/index.ts"; import { z } from "zod"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; /** * Validates a device ID, throws an error if it doesn't exist. diff --git a/packages/tcore-api/src/Services/DeviceData/DeviceData.test.ts b/packages/tcore-api/src/Services/DeviceData/DeviceData.test.ts index d63206bc..85237b46 100644 --- a/packages/tcore-api/src/Services/DeviceData/DeviceData.test.ts +++ b/packages/tcore-api/src/Services/DeviceData/DeviceData.test.ts @@ -10,19 +10,19 @@ const invokeDatabaseFunction = jest.fn((method: string) => { jest.mock("../../Plugins/invokeDatabaseFunction", () => ({ invokeDatabaseFunction })); import { - IDevice, - IDeviceAddDataOptions, - IDeviceData, - IDeviceDataCreate, + type IDevice, + type IDeviceAddDataOptions, + type IDeviceData, + type IDeviceDataCreate, zDeviceDataQuery, -} from "@tago-io/tcore-sdk/types"; -import Module from "../../Plugins/Module/Module"; -import * as Device from "../Device"; -import * as Statistic from "../Statistic"; -import * as LiveInspector from "../LiveInspector"; -import * as PayloadParser from "../PayloadParserCodeExecution"; -import { plugins } from "../../Plugins/Host"; -import * as DeviceData from "./DeviceData"; +} from "@tago-io/tcore-sdk/src/Types/index.ts"; +import Module from "../../Plugins/Module/Module.ts"; +import * as Device from "../Device.ts"; +import * as Statistic from "../Statistic.ts"; +import * as LiveInspector from "../LiveInspector.ts"; +import * as PayloadParser from "../PayloadParserCodeExecution.ts"; +import { plugins } from "../../Plugins/Host.ts"; +import * as DeviceData from "./DeviceData.ts"; beforeAll(() => { jest.useFakeTimers(); @@ -470,7 +470,7 @@ describe("applyPayloadEncoder", () => { const device = { ...mutableDevice, encoder_stack: ["plugin1:module1"] }; await DeviceData.applyPayloadEncoder(device, "123"); - expect(mock.mock.calls[0][1]).toEqual({ title: `Applied encoder Temp`, content: 1000 }); + expect(mock.mock.calls[0][1]).toEqual({ title: "Applied encoder Temp", content: 1000 }); }); test("emits to live inspector using liveInspectorID", async () => { @@ -485,7 +485,7 @@ describe("applyPayloadEncoder", () => { const device = { ...mutableDevice, encoder_stack: ["plugin1:module1"] }; await DeviceData.applyPayloadEncoder(device, "123", options); - expect(mock.mock.calls[0][1]).toEqual({ title: `Applied encoder Temp`, content: "null" }); + expect(mock.mock.calls[0][1]).toEqual({ title: "Applied encoder Temp", content: "null" }); expect(mock.mock.calls[0][2]).toEqual(options.liveInspectorID); }); }); diff --git a/packages/tcore-api/src/Services/DeviceData/DeviceData.ts b/packages/tcore-api/src/Services/DeviceData/DeviceData.ts index 3513b6da..c35ed43d 100644 --- a/packages/tcore-api/src/Services/DeviceData/DeviceData.ts +++ b/packages/tcore-api/src/Services/DeviceData/DeviceData.ts @@ -1,29 +1,29 @@ import { - TGenericID, - IDeviceDataQuery, - IDeviceData, + type TGenericID, + type IDeviceDataQuery, + type IDeviceData, zDeviceDataCreate, zDeviceData, zDeviceDataQuery, - IDevice, + type IDevice, generateResourceID, - IDeviceAddDataOptions, + type IDeviceAddDataOptions, zDeviceDataUpdate, - IDeviceChunkPeriod, - IDeviceDataCreate, -} from "@tago-io/tcore-sdk/types"; + type IDeviceChunkPeriod, + type IDeviceDataCreate, +} from "@tago-io/tcore-sdk/src/Types/index.ts"; import { z } from "zod"; import { DateTime } from "luxon"; -import removeNullValues from "../../Helpers/removeNullValues"; -import splitColon from "../../Helpers/splitColon"; -import { plugins } from "../../Plugins/Host"; -import { invokeDatabaseFunction } from "../../Plugins/invokeDatabaseFunction"; -import { editAction, getActionList, getConditionTriggerMatchingData, triggerAction } from "../Action"; -import { editDevice, getDeviceInfo } from "../Device"; -import { addStatistic } from "../Statistic"; -import { runPayloadParser } from "../PayloadParserCodeExecution"; -import { emitToLiveInspector, getLiveInspectorID } from "../LiveInspector"; -import { getMainQueueModule, triggerHooks } from "../Plugins"; +import removeNullValues from "../../Helpers/removeNullValues.ts"; +import splitColon from "../../Helpers/splitColon.ts"; +import { plugins } from "../../Plugins/Host.ts"; +import { invokeDatabaseFunction } from "../../Plugins/invokeDatabaseFunction.ts"; +import { editAction, getActionList, getConditionTriggerMatchingData, triggerAction } from "../Action.ts"; +import { editDevice, getDeviceInfo } from "../Device.ts"; +import { addStatistic } from "../Statistic.ts"; +import { runPayloadParser } from "../PayloadParserCodeExecution.ts"; +import { emitToLiveInspector, getLiveInspectorID } from "../LiveInspector.ts"; +import { getMainQueueModule, triggerHooks } from "../Plugins.ts"; const LIMIT_DATA_ON_MUTABLE = 50_000; const MAXIMUM_MONTH_RANGE = 1.1; @@ -212,7 +212,7 @@ async function applyZodDeviceData(items: any) { item.time = item.time || now; item.type = typeof item.value; item.created_at = now; - delete item.serie; + item.serie = undefined; } return items; @@ -369,13 +369,13 @@ export const getDeviceDataByDevice = async ( if (query.query === "count") { return await invokeDatabaseFunction("getDeviceDataCount", device.id, device.type, query); - } else if (query.query === "avg") { + }if (query.query === "avg") { await validateMonthRange(query); return await invokeDatabaseFunction("getDeviceDataAvg", device.id, device.type, query); - } else if (query.query === "sum") { + }if (query.query === "sum") { await validateMonthRange(query); return await invokeDatabaseFunction("getDeviceDataSum", device.id, device.type, query); - } else { + } let response: any[] = []; if (!query.query || query.query === "defaultQ") { @@ -409,7 +409,7 @@ export const getDeviceDataByDevice = async ( response[i].group = response[i].group || response[i].serie; response[i] = removeNullValues(response[i]); if (!query.details) { - delete response[i].created_at; + response[i].created_at = undefined; } } @@ -419,7 +419,6 @@ export const getDeviceDataByDevice = async ( await addStatistic({ output: items.length }); return items; - } }; /** diff --git a/packages/tcore-api/src/Services/DeviceDataRetention.ts b/packages/tcore-api/src/Services/DeviceDataRetention.ts index faef04d6..f61c9523 100644 --- a/packages/tcore-api/src/Services/DeviceDataRetention.ts +++ b/packages/tcore-api/src/Services/DeviceDataRetention.ts @@ -1,7 +1,7 @@ import { DateTime } from "luxon"; -import { logError } from "../Helpers/log"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; -import { editDevice, getDeviceList } from "./Device"; +import { logError } from "../Helpers/log.ts"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; +import { editDevice, getDeviceList } from "./Device.ts"; /** * Interval to control the data removal interval. diff --git a/packages/tcore-api/src/Services/File.ts b/packages/tcore-api/src/Services/File.ts index 2af1159b..0983da81 100644 --- a/packages/tcore-api/src/Services/File.ts +++ b/packages/tcore-api/src/Services/File.ts @@ -1,7 +1,7 @@ -import fs from "fs/promises"; -import { WriteFileOptions } from "fs"; -import path from "path"; -import { getPluginSettingsFolder } from "./Settings"; +import fs from "node:fs/promises"; +import type { WriteFileOptions } from "node:fs"; +import path from "node:path"; +import { getPluginSettingsFolder } from "./Settings.ts"; /** * Writes data to the file, replacing the file if it already exists. diff --git a/packages/tcore-api/src/Services/FilePicker.ts b/packages/tcore-api/src/Services/FilePicker.ts index b9c9f3d1..ccbf4be7 100644 --- a/packages/tcore-api/src/Services/FilePicker.ts +++ b/packages/tcore-api/src/Services/FilePicker.ts @@ -1,6 +1,6 @@ -import { IPluginFilesystemItem } from "@tago-io/tcore-sdk/types"; -import { invokeFilesystemFunction } from "../Plugins/invokeFilesystemFunction"; -import { getModuleList } from "./Plugins"; +import type { IPluginFilesystemItem } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { invokeFilesystemFunction } from "../Plugins/invokeFilesystemFunction.ts"; +import { getModuleList } from "./Plugins.ts"; /** * Sorts the file array by alphabetical order. @@ -29,9 +29,8 @@ export async function getFileList(folderPath: string, preferLocalFs?: boolean): const result = await localFilesystem.invoke("resolveFolder", folderPath); sortFiles(result as IPluginFilesystemItem[]); return result as IPluginFilesystemItem[]; - } else { + } const result = await invokeFilesystemFunction("resolveFolder", folderPath); sortFiles(result); return result; - } } diff --git a/packages/tcore-api/src/Services/Hardware.test.ts b/packages/tcore-api/src/Services/Hardware.test.ts index 2bc88791..52bafe5d 100644 --- a/packages/tcore-api/src/Services/Hardware.test.ts +++ b/packages/tcore-api/src/Services/Hardware.test.ts @@ -20,7 +20,7 @@ jest.mock("os", () => os); jest.mock("systeminformation", () => si); -import { getLocalIPs, getPlatformCode } from "./Hardware"; +import { getLocalIPs, getPlatformCode } from "./Hardware.ts"; afterEach(() => { jest.restoreAllMocks(); diff --git a/packages/tcore-api/src/Services/Hardware.ts b/packages/tcore-api/src/Services/Hardware.ts index 96d1055e..24a1eebe 100644 --- a/packages/tcore-api/src/Services/Hardware.ts +++ b/packages/tcore-api/src/Services/Hardware.ts @@ -1,7 +1,7 @@ -import os from "os"; +import os from "node:os"; import si from "systeminformation"; -import { IComputerUsage, INetworkInfo } from "@tago-io/tcore-sdk/types"; -import { formatBytes } from "../Helpers/formatBytes"; +import type { IComputerUsage, INetworkInfo } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { formatBytes } from "../Helpers/formatBytes.ts"; /** * Retrieves all the local ips of this computer. @@ -134,7 +134,7 @@ export async function getCPUUsage(): Promise { return { description: `${percentage}%`, detail: `${cpu.manufacturer} ${cpu.brand}`, - title: `CPU usage`, + title: "CPU usage", total: 100, type: "cpu", used: percentage, diff --git a/packages/tcore-api/src/Services/LiveInspector.ts b/packages/tcore-api/src/Services/LiveInspector.ts index 8d87af0d..293db773 100644 --- a/packages/tcore-api/src/Services/LiveInspector.ts +++ b/packages/tcore-api/src/Services/LiveInspector.ts @@ -1,9 +1,9 @@ -import { IDevice, ILiveInspectorMessageCreate, TGenericID, TLiveInspectorConnectionID } from "@tago-io/tcore-sdk/types"; +import type { IDevice, ILiveInspectorMessageCreate, TGenericID, TLiveInspectorConnectionID } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { DateTime } from "luxon"; import { nanoid } from "nanoid"; -import { plugins } from "../Plugins/Host"; -import { io } from "../Socket/SocketServer"; -import { getDeviceInfo } from "./Device"; +import { plugins } from "../Plugins/Host.ts"; +import { io } from "../Socket/SocketServer.ts"; +import { getDeviceInfo } from "./Device.ts"; /** */ diff --git a/packages/tcore-api/src/Services/Logs.ts b/packages/tcore-api/src/Services/Logs.ts index 0a30bf56..3d4a3b34 100644 --- a/packages/tcore-api/src/Services/Logs.ts +++ b/packages/tcore-api/src/Services/Logs.ts @@ -1,5 +1,5 @@ -import { logBuffer } from "../Helpers/log"; -import { plugins } from "../Plugins/Host"; +import { logBuffer } from "../Helpers/log.ts"; +import { plugins } from "../Plugins/Host.ts"; /** * Retrieves all the logs of a single channel. diff --git a/packages/tcore-api/src/Services/PayloadParserCodeExecution.ts b/packages/tcore-api/src/Services/PayloadParserCodeExecution.ts index 9d9d3161..399b5610 100644 --- a/packages/tcore-api/src/Services/PayloadParserCodeExecution.ts +++ b/packages/tcore-api/src/Services/PayloadParserCodeExecution.ts @@ -1,14 +1,16 @@ -import fs from "fs"; -import vm from "vm"; -import { IDevice, IDeviceAddDataOptions } from "@tago-io/tcore-sdk/types"; -import dayjs from "dayjs"; -import customParseFormat from "dayjs/plugin/customParseFormat"; -import advancedFormat from "dayjs/plugin/advancedFormat"; -import utc from "dayjs/plugin/utc"; -import timezone from "dayjs/plugin/timezone"; -import { logError } from "../Helpers/log"; -import { emitToLiveInspector } from "./LiveInspector"; -import { getDeviceParamList } from "./Device"; +import fs from "node:fs"; +import vm from "node:vm"; +import type { IDevice, IDeviceAddDataOptions } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { logError } from "../Helpers/log.ts"; +import { emitToLiveInspector } from "./LiveInspector.ts"; +import { getDeviceParamList } from "./Device.ts"; +import { createRequire } from 'node:module'; +const require = createRequire(import.meta.url); +const dayjs = require('dayjs'); +const customParseFormat = require("dayjs/plugin/customParseFormat"); +const advancedFormat = require("dayjs/plugin/advancedFormat"); +const utc = require("dayjs/plugin/utc"); +const timezone = require("dayjs/plugin/timezone"); dayjs.extend(utc); dayjs.extend(timezone); diff --git a/packages/tcore-api/src/Services/Plugin/PluginPassword.ts b/packages/tcore-api/src/Services/Plugin/PluginPassword.ts index 99fd30f6..fc394eaf 100644 --- a/packages/tcore-api/src/Services/Plugin/PluginPassword.ts +++ b/packages/tcore-api/src/Services/Plugin/PluginPassword.ts @@ -1,4 +1,4 @@ -import { randomBytes, createHash, createCipheriv, createDecipheriv } from "crypto"; +import { randomBytes, createHash, createCipheriv, createDecipheriv } from "node:crypto"; /** * Secret to the password hash. diff --git a/packages/tcore-api/src/Services/Plugins.ts b/packages/tcore-api/src/Services/Plugins.ts index b1fa6b42..a0140b5b 100644 --- a/packages/tcore-api/src/Services/Plugins.ts +++ b/packages/tcore-api/src/Services/Plugins.ts @@ -1,15 +1,17 @@ -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; import md5 from "md5"; -import { IPlugin, TGenericID, TPluginType, IPluginList, IPluginListItem, ISettings } from "@tago-io/tcore-sdk/types"; +import type { IPlugin, TGenericID, TPluginType, IPluginList, IPluginListItem, ISettings } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { flattenConfigFields } from "@tago-io/tcore-shared"; import semver from "semver"; -import Module from "../Plugins/Module/Module"; -import { DEV_BUILT_IN_PLUGINS, plugins, startPluginAndHandleErrors } from "../Plugins/Host"; -import Plugin from "../Plugins/Plugin/Plugin"; -import { io } from "../Socket/SocketServer"; -import { getMainSettings, getPluginSettings, setMainSettings } from "./Settings"; -import { getVersion } from "./System"; +import type Module from "../Plugins/Module/Module.ts"; +import { DEV_BUILT_IN_PLUGINS, plugins, startPluginAndHandleErrors } from "../Plugins/Host.ts"; +import Plugin from "../Plugins/Plugin/Plugin.ts"; +import { io } from "../Socket/SocketServer.ts"; +import { getMainSettings, getPluginSettings, setMainSettings } from "./Settings.ts"; +import { getVersion } from "./System.ts"; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; interface IPluginPackage { name: string; @@ -117,6 +119,8 @@ export async function listPluginFolders(): Promise { } async function getInstalledInsidePlugins(plugins: string[], settings: ISettings) { + const __filename = fileURLToPath(import.meta.url); + const __dirname = dirname(__filename); const insidePlugins = await fs.promises.readdir(path.join(__dirname, "../../../..", "plugins")); for (const folder of insidePlugins) { const fullPath = path.join(__dirname, "../../../..", "plugins", folder); @@ -165,6 +169,8 @@ export async function getPluginList(): Promise { * Lists all the plugins directly main plugin folder. */ export async function getAllInsidePlugins() { + const __filename = fileURLToPath(import.meta.url); + const __dirname = dirname(__filename); const insidePlugins = await fs.promises.readdir(path.join(__dirname, "../../../..", "plugins")); const list: IPluginPackage[] = []; for (const folder of insidePlugins) { @@ -569,9 +575,8 @@ export async function getMainFilesystemModule(): Promise(async (resolve) => { - await plugin.stop(false, 3000).catch(() => null); - plugins.delete(plugin.id); - resolve(); + await new Promise((resolve) => { + (async () => { + await plugin.stop(false, 3000).catch(() => null); + plugins.delete(plugin.id); + resolve(); + })(); }); } } diff --git a/packages/tcore-api/src/Services/PluginsStorage.ts b/packages/tcore-api/src/Services/PluginsStorage.ts index 0c8f5356..09db72c8 100644 --- a/packages/tcore-api/src/Services/PluginsStorage.ts +++ b/packages/tcore-api/src/Services/PluginsStorage.ts @@ -1,5 +1,5 @@ -import { zPluginStorageItemSet } from "@tago-io/tcore-sdk/types"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; +import { zPluginStorageItemSet } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; /** * Retrieves a storage item of a plugin. @@ -30,8 +30,8 @@ export async function deletePluginStorageItem(pluginID: string, key: string) { export async function getAllPluginStorageItems(pluginID: string): Promise { const response = await invokeDatabaseFunction("getAllPluginStorageItems", pluginID); for (const item of response) { - delete item.created_at; - delete item.type; + item.created_at = undefined; + item.type = undefined; } return response; } diff --git a/packages/tcore-api/src/Services/Settings.ts b/packages/tcore-api/src/Services/Settings.ts index 08ca949d..f0599395 100644 --- a/packages/tcore-api/src/Services/Settings.ts +++ b/packages/tcore-api/src/Services/Settings.ts @@ -1,15 +1,15 @@ -import path from "path"; -import fs from "fs"; -import os from "os"; -import type { IPluginSettings, IPluginSettingsModule, ISettings } from "@tago-io/tcore-sdk/types"; +import path from "node:path"; +import fs from "node:fs"; +import os from "node:os"; +import type { IPluginSettings, IPluginSettingsModule, ISettings } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { flattenConfigFields, getSystemName, getSystemSlug } from "@tago-io/tcore-shared"; -import { log } from ".."; -import { plugins, sortPluginFoldersByPriority, startPluginAndHandleErrors } from "../Plugins/Host"; -import { loadYml, saveYml } from "../Helpers/Yaml"; -import { rmdir } from "../Helpers/Files"; -import { compareAccountPasswordHash } from "./Account/AccountPassword"; -import { startPluginModule } from "./Plugins"; -import { decryptPluginConfigPassword, encryptPluginConfigPassword } from "./Plugin/PluginPassword"; +import { log } from "../index.ts"; +import { plugins, sortPluginFoldersByPriority, startPluginAndHandleErrors } from "../Plugins/Host.ts"; +import { loadYml, saveYml } from "../Helpers/Yaml.ts"; +import { rmdir } from "../Helpers/Files.ts"; +import { compareAccountPasswordHash } from "./Account/AccountPassword.ts"; +import { startPluginModule } from "./Plugins.ts"; +import { decryptPluginConfigPassword, encryptPluginConfigPassword } from "./Plugin/PluginPassword.ts"; /** * Folder name to save the settings. diff --git a/packages/tcore-api/src/Services/Statistic.ts b/packages/tcore-api/src/Services/Statistic.ts index c19a7472..781101b8 100644 --- a/packages/tcore-api/src/Services/Statistic.ts +++ b/packages/tcore-api/src/Services/Statistic.ts @@ -1,8 +1,8 @@ -import { IStatistic, IStatisticCreate, zStatistic } from "@tago-io/tcore-sdk/types"; +import { type IStatistic, type IStatisticCreate, zStatistic } from "@tago-io/tcore-sdk/src/Types/index.ts"; import { DateTime } from "luxon"; import { z } from "zod"; -import { io } from "../Socket/SocketServer"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; +import { io } from "../Socket/SocketServer.ts"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; /** * Retrieves the summary information. @@ -14,7 +14,7 @@ export const addStatistic = async (data: IStatisticCreate): Promise => { await invokeDatabaseFunction("addStatistic", time, data); - io?.to("statistic").emit(`statistic::hourly`, { time, ...data }); + io?.to("statistic").emit("statistic::hourly", { time, ...data }); }; /** diff --git a/packages/tcore-api/src/Services/Summary.ts b/packages/tcore-api/src/Services/Summary.ts index 43392732..55b60965 100644 --- a/packages/tcore-api/src/Services/Summary.ts +++ b/packages/tcore-api/src/Services/Summary.ts @@ -1,5 +1,5 @@ -import { ISummary, zSummary } from "@tago-io/tcore-sdk/types"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; +import { type ISummary, zSummary } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; /** * Retrieves the summary information. diff --git a/packages/tcore-api/src/Services/System.ts b/packages/tcore-api/src/Services/System.ts index 68fad3b7..551d777a 100644 --- a/packages/tcore-api/src/Services/System.ts +++ b/packages/tcore-api/src/Services/System.ts @@ -1,8 +1,7 @@ -// @ts-ignore -import pkg from "../../../../package.json"; -import { getAccountAmount } from "./Account/Account"; -import { getMainDatabaseModule } from "./Plugins"; -import { getMainSettings } from "./Settings"; +import pkg from "../../../../package.json" with { type: "json" }; +import { getAccountAmount } from "./Account/Account.ts"; +import { getMainDatabaseModule } from "./Plugins.ts"; +import { getMainSettings } from "./Settings.ts"; /** * Retrieves the version of the tcore application. diff --git a/packages/tcore-api/src/Services/Tag.ts b/packages/tcore-api/src/Services/Tag.ts index e4c88d6b..968d0fc6 100644 --- a/packages/tcore-api/src/Services/Tag.ts +++ b/packages/tcore-api/src/Services/Tag.ts @@ -1,5 +1,5 @@ import { z } from "zod"; -import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction"; +import { invokeDatabaseFunction } from "../Plugins/invokeDatabaseFunction.ts"; /** * Retrieves all the tag keys of a resource type. diff --git a/packages/tcore-api/src/Socket/SocketServer.ts b/packages/tcore-api/src/Socket/SocketServer.ts index e7efe894..933c5f12 100644 --- a/packages/tcore-api/src/Socket/SocketServer.ts +++ b/packages/tcore-api/src/Socket/SocketServer.ts @@ -1,9 +1,9 @@ -import { Server } from "http"; -import { Server as SocketServer, Socket } from "socket.io"; -import { TGenericID } from "@tago-io/tcore-sdk/types"; -import { editDevice } from "../Services/Device"; -import { checkMasterPassword } from "../"; -import { getAccountToken } from "../Services/Account/Account"; +import type { Server } from "node:http"; +import { Server as SocketServer, type Socket } from "socket.io"; +import type { TGenericID } from "@tago-io/tcore-sdk/src/Types/index.ts"; +import { editDevice } from "../Services/Device.ts"; +import { checkMasterPassword } from "../index.ts"; +import { getAccountToken } from "../Services/Account/Account.ts"; /** * Socket server instance. diff --git a/packages/tcore-api/src/index.ts b/packages/tcore-api/src/index.ts index 01c6c34d..36e0b6d0 100644 --- a/packages/tcore-api/src/index.ts +++ b/packages/tcore-api/src/index.ts @@ -1,13 +1,13 @@ -import { uninstallPlugin, uninstallPluginByFolder } from "./Plugins/Uninstall"; -import { startServer } from "./server"; -import { log, logError, logSystemStart } from "./Helpers/log"; -import { getPlatformAndArch } from "./Helpers/Platform"; -import { downloadFile } from "./Helpers/Download"; -import Plugin from "./Plugins/Plugin/Plugin"; -export * from "./Helpers/Tar/Tar"; -export * from "./Helpers/Zip"; -export * from "./Services/Plugins"; -export * from "./Services/Settings"; +import { uninstallPlugin, uninstallPluginByFolder } from "./Plugins/Uninstall.ts"; +import { startServer } from "./server.ts"; +import { log, logError, logSystemStart } from "./Helpers/log.ts"; +import { getPlatformAndArch } from "./Helpers/Platform.ts"; +import { downloadFile } from "./Helpers/Download.ts"; +import Plugin from "./Plugins/Plugin/Plugin.ts"; +export * from "./Helpers/Tar/Tar.ts"; +export * from "./Helpers/Zip.ts"; +export * from "./Services/Plugins.ts"; +export * from "./Services/Settings.ts"; export { downloadFile, diff --git a/packages/tcore-api/src/server.ts b/packages/tcore-api/src/server.ts index 94bfb53a..454845b9 100644 --- a/packages/tcore-api/src/server.ts +++ b/packages/tcore-api/src/server.ts @@ -1,37 +1,42 @@ -import { createServer } from "http"; -import path from "path"; +import { createServer } from "node:http"; +import path from "node:path"; import express from "express"; import cors from "cors"; import chalk from "chalk"; import compression from "compression"; import method_override from "method-override"; import { getSystemName } from "@tago-io/tcore-shared"; -import { startAllPlugins } from "./Plugins/Host"; -import AccountController from "./Controllers/Account/Account"; -import SystemController from "./Controllers/System"; -import DeviceController from "./Controllers/Device/Device"; -import ActionController from "./Controllers/Action"; -import AnalysisController from "./Controllers/Analysis"; -import SummaryController from "./Controllers/Summary"; -import PluginsController, { resolvePluginImage, resolvePluginImage2 } from "./Controllers/Plugins"; -import FileController from "./Controllers/File"; -import LogsController from "./Controllers/Logs"; -import DeviceDataController from "./Controllers/DeviceData/DeviceData"; -import TagController from "./Controllers/Tag"; -import SettingsController from "./Controllers/Settings"; -import StatisticController from "./Controllers/Statistic"; -import { getMainSettings } from "./Services/Settings"; -import HardwareController from "./Controllers/Hardware"; -import { setupSocketServer } from "./Socket/SocketServer"; -import { shutdown } from "./Helpers/shutdown"; -import { getModuleList } from "./Services/Plugins"; -import { startCallbackInterval } from "./Plugins/Worker/Worker"; -import { startActionScheduleTimer } from "./Services/ActionScheduler"; -import { logSystemStart, oraLog, oraLogError } from "./Helpers/log"; -import { startDataRetentionTimer } from "./Services/DeviceDataRetention"; +import { startAllPlugins } from "./Plugins/Host.ts"; +import AccountController from "./Controllers/Account/Account.ts"; +import SystemController from "./Controllers/System.ts"; +import DeviceController from "./Controllers/Device/Device.ts"; +import ActionController from "./Controllers/Action.ts"; +import AnalysisController from "./Controllers/Analysis.ts"; +import SummaryController from "./Controllers/Summary.ts"; +import PluginsController, { resolvePluginImage, resolvePluginImage2 } from "./Controllers/Plugins.ts"; +import FileController from "./Controllers/File.ts"; +import LogsController from "./Controllers/Logs.ts"; +import DeviceDataController from "./Controllers/DeviceData/DeviceData.ts"; +import TagController from "./Controllers/Tag.ts"; +import SettingsController from "./Controllers/Settings.ts"; +import StatisticController from "./Controllers/Statistic.ts"; +import { getMainSettings } from "./Services/Settings.ts"; +import HardwareController from "./Controllers/Hardware.ts"; +import { setupSocketServer } from "./Socket/SocketServer.ts"; +import { shutdown } from "./Helpers/shutdown.ts"; +import { getModuleList } from "./Services/Plugins.ts"; +import { startCallbackInterval } from "./Plugins/Worker/Worker.ts"; +import { startActionScheduleTimer } from "./Services/ActionScheduler.ts"; +import { logSystemStart, oraLog, oraLogError } from "./Helpers/log.ts"; +import { startDataRetentionTimer } from "./Services/DeviceDataRetention.ts"; +import { fileURLToPath } from 'node:url'; +import { dirname } from 'node:path'; const app = express(); const httpServer = createServer(app); +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + const consolePath = path.join(__dirname, "../../tcore-console/build"); /** @@ -146,7 +151,7 @@ async function listenOnApplicationPort() { }) .on("error", () => { oraLogError("api", chalk.redBright(`Could not start ${systemName} on port ${port}`)); - oraLogError("api", chalk.redBright(`Check if the port is not being used by another application`)); + oraLogError("api", chalk.redBright("Check if the port is not being used by another application")); process.exit(1); }); } @@ -178,3 +183,4 @@ const watchMode = process.argv.some((x) => x.includes("ts-node")); if (watchMode) { startServer(); } +startServer(); diff --git a/packages/tcore-api/tsconfig.json b/packages/tcore-api/tsconfig.json deleted file mode 100644 index ab92c025..00000000 --- a/packages/tcore-api/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "module": "commonjs", - "lib": ["ES2020", "dom"], - "allowJs": true, - "sourceMap": false, - "outDir": "./build", - "strict": true, - "moduleResolution": "node", - "resolveJsonModule": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "noImplicitAny": false, - "rootDir": "./src", - "baseUrl": ".", - "skipLibCheck": true, - "declaration": true - }, - "exclude": [ - "node_module", - "jest.config.js", - ".eslintrc.js" - ], - "include": ["src/**/*"], - "ts-node": { - "transpileOnly": true - } -} diff --git a/packages/tcore-cli/package.json b/packages/tcore-cli/package.json index 0e6619b5..c811ea03 100644 --- a/packages/tcore-cli/package.json +++ b/packages/tcore-cli/package.json @@ -1,6 +1,7 @@ { "name": "@tago-io/tcore-cli", "version": "0.7.0", + "type": "module", "scripts": { "build": "rm -rf ./build; tsc", "tsc:watch": "tsc --watch --preserveWatchOutput" diff --git a/packages/tcore-cli/src/Commands/Logs.ts b/packages/tcore-cli/src/Commands/Logs.ts index 567a6b5e..73c22bc2 100644 --- a/packages/tcore-cli/src/Commands/Logs.ts +++ b/packages/tcore-cli/src/Commands/Logs.ts @@ -1,9 +1,9 @@ -import fs from "fs"; -import path from "path"; +import fs from "node:fs"; +import path from "node:path"; import * as API from "@tago-io/tcore-api"; import { Tail } from "tail"; -import { pm2Connect, pm2Disconnect } from "../Helpers/PM2"; -import { oraLog } from "../Helpers/Log"; +import { pm2Connect, pm2Disconnect } from "../Helpers/PM2.tsx"; +import { oraLog } from "../Helpers/Log.tsx"; /** */ @@ -29,7 +29,7 @@ export async function showLogs() { }); tail.on("error", () => { - oraLog(`Something went wrong while fetching the logs`).fail(); + oraLog("Something went wrong while fetching the logs").fail(); process.exit(1); }); } finally { diff --git a/packages/tcore-cli/src/Commands/Restart.ts b/packages/tcore-cli/src/Commands/Restart.ts index 4c55eed3..e2b01c9d 100644 --- a/packages/tcore-cli/src/Commands/Restart.ts +++ b/packages/tcore-cli/src/Commands/Restart.ts @@ -1,11 +1,11 @@ -import path from "path"; -import fs from "fs"; +import path from "node:path"; +import fs from "node:fs"; import * as API from "@tago-io/tcore-api"; import chalk from "chalk"; -import { IEnvironmentVariables } from "@tago-io/tcore-sdk/types"; +import type { IEnvironmentVariables } from "@tago-io/tcore-sdk/types"; import { getSystemName } from "@tago-io/tcore-shared"; -import { pm2Connect, pm2Disconnect, pm2Restart, pm2GetApp } from "../Helpers/PM2"; -import { log } from "../Helpers/Log"; +import { pm2Connect, pm2Disconnect, pm2Restart, pm2GetApp } from "../Helpers/PM2.tsx"; +import { log } from "../Helpers/Log.tsx"; /** * Restarts the server if it is started. diff --git a/packages/tcore-cli/src/Commands/Start.ts b/packages/tcore-cli/src/Commands/Start.ts index 5e89dfc4..692386e1 100644 --- a/packages/tcore-cli/src/Commands/Start.ts +++ b/packages/tcore-cli/src/Commands/Start.ts @@ -1,11 +1,11 @@ -import path from "path"; -import fs from "fs"; -import { StartOptions } from "pm2"; +import path from "node:path"; +import fs from "node:fs"; +import type { StartOptions } from "pm2"; import * as API from "@tago-io/tcore-api"; import chalk from "chalk"; import { getSystemName } from "@tago-io/tcore-shared"; -import { pm2Connect, pm2Delete, pm2Disconnect, pm2GetApp, pm2Start, PM2_APP_NAME } from "../Helpers/PM2"; -import { log } from "../Helpers/Log"; +import { pm2Connect, pm2Delete, pm2Disconnect, pm2GetApp, pm2Start, PM2_APP_NAME } from "../Helpers/PM2.tsx"; +import { log } from "../Helpers/Log.tsx"; /** * Options of CLI. @@ -33,13 +33,13 @@ function getEnv(opts: IStartOptions) { // prioritizes the options passed in the CLI but if one of the values // is falsy we try to use the process.env for that key - Object.keys(env).forEach((key) => { + for (const key of Object.keys(env)) { env[key] ||= process.env[key]; if (!env[key]) { // empty env delete env[key]; } - }); + } return env; } @@ -83,10 +83,9 @@ async function startWithDaemon(opts: IStartOptions) { // the app is already online log(`To restart ${systemName}, run ${chalk.cyan(`${exeName} restart`)}`); return; - } else { + } log(`Flag ${chalk.yellow("--force")} detected, restarting down ${systemName} Server`); await pm2Delete(); - } } else { log(`${systemName} Server is stopped, starting it...`); await pm2Delete().catch(() => null); diff --git a/packages/tcore-cli/src/Commands/Status.ts b/packages/tcore-cli/src/Commands/Status.ts index ad6736d5..16666173 100644 --- a/packages/tcore-cli/src/Commands/Status.ts +++ b/packages/tcore-cli/src/Commands/Status.ts @@ -1,7 +1,7 @@ import chalk from "chalk"; import { getSystemName } from "@tago-io/tcore-shared"; -import { log } from "../Helpers/Log"; -import { pm2Connect, pm2Disconnect, pm2GetApp } from "../Helpers/PM2"; +import { log } from "../Helpers/Log.tsx"; +import { pm2Connect, pm2Disconnect, pm2GetApp } from "../Helpers/PM2.tsx"; /** * Prints the status of the server (started/stopped). diff --git a/packages/tcore-cli/src/Commands/Stop.ts b/packages/tcore-cli/src/Commands/Stop.ts index 6d0489df..e44e1d52 100644 --- a/packages/tcore-cli/src/Commands/Stop.ts +++ b/packages/tcore-cli/src/Commands/Stop.ts @@ -1,7 +1,7 @@ import chalk from "chalk"; import { getSystemName } from "@tago-io/tcore-shared"; -import { pm2Connect, pm2Delete, pm2Disconnect, pm2GetApp } from "../Helpers/PM2"; -import { log } from "../Helpers/Log"; +import { pm2Connect, pm2Delete, pm2Disconnect, pm2GetApp } from "../Helpers/PM2.tsx"; +import { log } from "../Helpers/Log.tsx"; /** * Stops the server if it is running through the PM2 daemon, and then logs the diff --git a/packages/tcore-cli/src/Helpers/PM2.ts b/packages/tcore-cli/src/Helpers/PM2.ts index 02789794..733a4bc6 100644 --- a/packages/tcore-cli/src/Helpers/PM2.ts +++ b/packages/tcore-cli/src/Helpers/PM2.ts @@ -1,4 +1,4 @@ -import pm2, { ProcessDescription, StartOptions } from "pm2"; +import pm2, { type ProcessDescription, type StartOptions } from "pm2"; import { getSystemName } from "@tago-io/tcore-shared"; export const PM2_APP_NAME = getSystemName(); diff --git a/packages/tcore-cli/src/PluginCLI.ts b/packages/tcore-cli/src/PluginCLI.ts index 8ea47834..2e75eb60 100644 --- a/packages/tcore-cli/src/PluginCLI.ts +++ b/packages/tcore-cli/src/PluginCLI.ts @@ -1,13 +1,13 @@ -import path from "path"; +import path from "node:path"; import * as API from "@tago-io/tcore-api"; -import { Command } from "commander"; +import type { Command } from "commander"; /** * Try to require a module and returns null if the module doesn't exist. */ function tryRequire(folder: string) { try { - return require(folder); + return import(folder); } catch (ex) { return null; } diff --git a/packages/tcore-cli/src/index.ts b/packages/tcore-cli/src/index.ts index e589228e..536ed419 100644 --- a/packages/tcore-cli/src/index.ts +++ b/packages/tcore-cli/src/index.ts @@ -2,12 +2,12 @@ import { Command } from "commander"; import { getSystemName } from "@tago-io/tcore-shared"; // @ts-ignore import pkg from "../package.json"; -import { showLogs } from "./Commands/Logs"; -import { start } from "./Commands/Start"; -import { status } from "./Commands/Status"; -import { stop } from "./Commands/Stop"; -import { restart } from "./Commands/Restart"; -import { addPluginCommands } from "./PluginCLI"; +import { showLogs } from "./Commands/Logs.tsx"; +import { start } from "./Commands/Start.tsx"; +import { status } from "./Commands/Status.tsx"; +import { stop } from "./Commands/Stop.tsx"; +import { restart } from "./Commands/Restart.tsx"; +import { addPluginCommands } from "./PluginCLI.tsx"; /** */ diff --git a/packages/tcore-cli/tsconfig.json b/packages/tcore-cli/tsconfig.json deleted file mode 100644 index e05a0b2d..00000000 --- a/packages/tcore-cli/tsconfig.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "module": "commonjs", - "lib": ["ES2020", "dom"], - "allowJs": true, - "sourceMap": false, - "outDir": "./build", - "strict": true, - "moduleResolution": "node", - "resolveJsonModule": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "noImplicitAny": false, - "rootDir": "./src", - "baseUrl": ".", - "skipLibCheck": true, - }, - "exclude": [ - "node_module", - "jest.config.js", - ".eslintrc.js" - ], - "include": ["src/**/*"], - "ts-node": { - "transpileOnly": true - } -} diff --git a/packages/tcore-console/esbuild/build.js b/packages/tcore-console/esbuild/build.js index 1c9b84e6..2ae991c0 100644 --- a/packages/tcore-console/esbuild/build.js +++ b/packages/tcore-console/esbuild/build.js @@ -1,12 +1,11 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const svgr = require("./svgr"); -const esbuild = require("esbuild"); -const path = require("path"); -const buildPath = require("./buildPath"); -const version = require("../../../package.json").version; +import svgr from "./svgr.js"; +import * as esbuild from "esbuild"; +import path from "node:path"; +import buildPath from "./buildPath.js"; +import { version } from "../../../package.json"; -require("./icon"); -require("./generateIndex"); +import "./icon.js"; +import "./generateIndex.js"; const dev = process.argv.includes("--watch"); diff --git a/packages/tcore-console/esbuild/buildPath.js b/packages/tcore-console/esbuild/buildPath.js index 7690fbfb..dd45f037 100644 --- a/packages/tcore-console/esbuild/buildPath.js +++ b/packages/tcore-console/esbuild/buildPath.js @@ -1,6 +1,5 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const path = require("path"); +import path from "node:path"; const buildPath = path.join(__dirname, "../build"); -module.exports = buildPath; +export default buildPath; diff --git a/packages/tcore-console/esbuild/generateIndex.js b/packages/tcore-console/esbuild/generateIndex.js index 76bb0dcd..c6893e34 100644 --- a/packages/tcore-console/esbuild/generateIndex.js +++ b/packages/tcore-console/esbuild/generateIndex.js @@ -1,8 +1,7 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const fs = require("fs"); -const buildPath = require("./buildPath"); -const version = require("../../../package.json").version; -const { getSystemName } = require("@tago-io/tcore-shared"); +import fs from "node:fs"; +import buildPath from "./buildPath.js"; +import { version } from "../../../package.json"; +import { getSystemName } from "@tago-io/tcore-shared"; const temp = ` diff --git a/packages/tcore-console/esbuild/icon.js b/packages/tcore-console/esbuild/icon.js index 843c7a64..9b88272b 100644 --- a/packages/tcore-console/esbuild/icon.js +++ b/packages/tcore-console/esbuild/icon.js @@ -1,6 +1,5 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const fs = require("fs"); -const path = require("path"); +import fs from "node:fs"; +import path from "node:path"; // lists all files in the icons folder const files = fs.readdirSync(path.join(__dirname, "../assets/icons")); @@ -27,7 +26,7 @@ const template = [ "const icons = {", files .filter((x) => !x.startsWith(".")) // can't start with a dot - .map((x) => ` "${x.replace(".svg", "")}": require("../../../assets/icons/${x}"),`) // map the output to be an enum field + .map((x) => ` "${x.replace(".svg", "")}": import("../../../assets/icons/${x}"),`) // map the output to be an enum field .join("\n"), "}", "", diff --git a/packages/tcore-console/esbuild/svgr.js b/packages/tcore-console/esbuild/svgr.js index 476201ac..3e9e08d5 100644 --- a/packages/tcore-console/esbuild/svgr.js +++ b/packages/tcore-console/esbuild/svgr.js @@ -1,8 +1,7 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const svgr = require("@svgr/core").default; -const fs = require("fs"); +import svgr from "@svgr/core"; +import fs from "node:fs"; -module.exports = (options = {}) => ({ +export default (options = {}) => ({ name: "svgr", setup(build) { build.onLoad({ filter: /\.svg$/ }, async (args) => { diff --git a/packages/tcore-console/index.d.ts b/packages/tcore-console/index.d.ts index 95cc1906..27942a00 100644 --- a/packages/tcore-console/index.d.ts +++ b/packages/tcore-console/index.d.ts @@ -1 +1 @@ -export * from "./build-tsc"; +export * from "./build-tsc.ts"; diff --git a/packages/tcore-console/jest.config.js b/packages/tcore-console/jest.config.js index 5d007c2c..b6f35e30 100644 --- a/packages/tcore-console/jest.config.js +++ b/packages/tcore-console/jest.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { moduleDirectories: [ "node_modules", "utils", diff --git a/packages/tcore-console/package.json b/packages/tcore-console/package.json index 72f96952..986916ac 100644 --- a/packages/tcore-console/package.json +++ b/packages/tcore-console/package.json @@ -2,6 +2,7 @@ "name": "@tago-io/tcore-console", "version": "0.7.0", "main": "./build-tsc/index", + "type": "module", "scripts": { "build": "rm -rf ./build; node esbuild/build.js; npm run tsc", "linter": "eslint .", diff --git a/packages/tcore-console/src/App.tsx b/packages/tcore-console/src/App.tsx index 92cbd439..66cacffd 100644 --- a/packages/tcore-console/src/App.tsx +++ b/packages/tcore-console/src/App.tsx @@ -13,32 +13,32 @@ import type { IPluginList } from "@tago-io/tcore-sdk/types"; import { useHistory } from "react-router"; import { observer } from "mobx-react"; import imgFavicon from "../assets/images/favicon.png"; -import { lightTheme } from "./theme"; -import MainScreen from "./Components/MainScreen/MainScreen"; -import GlobalStyles from "./Components/Styles/GlobalStyles"; -import DeviceList from "./Components/Device/List/DeviceList"; -import BucketList from "./Components/Bucket/List/BucketList"; -import ActionList from "./Components/Action/List/ActionList"; -import AnalysisList from "./Components/Analysis/List/AnalysisList"; -import Settings from "./Components/Settings/Edit/Settings"; -import Home from "./Components/Home/Home"; -import Logs from "./Components/Logs/Logs"; -import DeviceEdit from "./Components/Device/Edit/DeviceEdit"; -import BucketEdit from "./Components/Bucket/Edit/BucketEdit"; -import ActionEdit from "./Components/Action/Edit/ActionEdit"; -import AnalysisEdit from "./Components/Analysis/Edit/AnalysisEdit"; -import PluginEdit from "./Components/Plugins/Edit/PluginEdit"; -import useApiRequest from "./Helpers/useApiRequest"; -import store from "./System/Store"; -import PageIFrame from "./Components/PageIframe/PageIFrame"; -import Login from "./Components/Login/Login"; -import { getLocalStorage, setLocalStorage } from "./Helpers/localStorage"; -import getAccountByToken from "./Requests/getAccountByToken"; -import Setup from "./Components/Setup/Setup"; -import StepDatabaseError from "./Components/Setup/StepDatabaseError/StepDatabaseError"; -import { startSocket } from "./System/Socket"; -import PluginStore from "./Components/Store/List/PluginStore"; -import PluginDetails from "./Components/Store/Details/PluginDetails"; +import { lightTheme } from "./theme.ts"; +import MainScreen from "./Components/MainScreen/MainScreen.tsx"; +import GlobalStyles from "./Components/Styles/GlobalStyles.tsx"; +import DeviceList from "./Components/Device/List/DeviceList.tsx"; +import BucketList from "./Components/Bucket/List/BucketList.tsx"; +import ActionList from "./Components/Action/List/ActionList.tsx"; +import AnalysisList from "./Components/Analysis/List/AnalysisList.tsx"; +import Settings from "./Components/Settings/Edit/Settings.tsx"; +import Home from "./Components/Home/Home.tsx"; +import Logs from "./Components/Logs/Logs.tsx"; +import DeviceEdit from "./Components/Device/Edit/DeviceEdit.tsx"; +import BucketEdit from "./Components/Bucket/Edit/BucketEdit.tsx"; +import ActionEdit from "./Components/Action/Edit/ActionEdit.tsx"; +import AnalysisEdit from "./Components/Analysis/Edit/AnalysisEdit.tsx"; +import PluginEdit from "./Components/Plugins/Edit/PluginEdit.tsx"; +import useApiRequest from "./Helpers/useApiRequest.ts"; +import store from "./System/Store.tsx"; +import PageIFrame from "./Components/PageIframe/PageIFrame.tsx"; +import Login from "./Components/Login/Login.tsx"; +import { getLocalStorage, setLocalStorage } from "./Helpers/localStorage.ts"; +import getAccountByToken from "./Requests/getAccountByToken.ts"; +import Setup from "./Components/Setup/Setup.tsx"; +import StepDatabaseError from "./Components/Setup/StepDatabaseError/StepDatabaseError.tsx"; +import { startSocket } from "./System/Socket.tsx"; +import PluginStore from "./Components/Store/List/PluginStore.tsx"; +import PluginDetails from "./Components/Store/Details/PluginDetails.tsx"; /** * Main component of the application. diff --git a/packages/tcore-console/src/Components/Accordion/Accordion.test.tsx b/packages/tcore-console/src/Components/Accordion/Accordion.test.tsx index ca54a5b4..035e2722 100644 --- a/packages/tcore-console/src/Components/Accordion/Accordion.test.tsx +++ b/packages/tcore-console/src/Components/Accordion/Accordion.test.tsx @@ -1,6 +1,6 @@ -import { fireEvent, render, screen } from "../../../utils/test-utils"; +import { fireEvent, render, screen } from "../../../utils/test-utils.ts"; import { EIcon } from "../Icon/Icon.types"; -import Accordion from "./Accordion"; +import Accordion from "./Accordion.tsx"; test("renders without crashing", () => { const fn = () => render(); diff --git a/packages/tcore-console/src/Components/Accordion/Accordion.tsx b/packages/tcore-console/src/Components/Accordion/Accordion.tsx index 753033bc..54686fb5 100644 --- a/packages/tcore-console/src/Components/Accordion/Accordion.tsx +++ b/packages/tcore-console/src/Components/Accordion/Accordion.tsx @@ -1,5 +1,5 @@ -import { ReactNode } from "react"; -import Icon from "../Icon/Icon"; +import type { ReactNode } from "react"; +import Icon from "../Icon/Icon.tsx"; import { EIcon } from "../Icon/Icon.types"; import * as Style from "./Accordion.style"; @@ -110,7 +110,7 @@ function Accordion(props: IAccordion) { {open && ( -
e.stopPropagation()}> +
e.stopPropagation()} onKeyDown={(e) => e.stopPropagation()}> {children}
)} diff --git a/packages/tcore-console/src/Components/Action/Action.interface.ts b/packages/tcore-console/src/Components/Action/Action.interface.ts index 8af2834e..fcb35a91 100644 --- a/packages/tcore-console/src/Components/Action/Action.interface.ts +++ b/packages/tcore-console/src/Components/Action/Action.interface.ts @@ -1,4 +1,4 @@ -import { ITag, zCron, zObjectID } from "@tago-io/tcore-sdk/types"; +import { type ITag, zCron, zObjectID } from "@tago-io/tcore-sdk/types"; import { z } from "zod"; /** @@ -164,12 +164,12 @@ interface IScheduleDataError { } export { - IConditionData, - IScheduleData, - IScheduleDataError, - IScheduleDataWeekdays, - TScheduleDataIntervalUnit, - TScheduleDataType, + type IConditionData, + type IScheduleData, + type IScheduleDataError, + type IScheduleDataWeekdays, + type TScheduleDataIntervalUnit, + type TScheduleDataType, zFrontAction, zFrontActionTagoIO, zFrontActionPost, diff --git a/packages/tcore-console/src/Components/Action/Common/ActionFields/ActionFields.tsx b/packages/tcore-console/src/Components/Action/Common/ActionFields/ActionFields.tsx index 1b037daa..d3d342b2 100644 --- a/packages/tcore-console/src/Components/Action/Common/ActionFields/ActionFields.tsx +++ b/packages/tcore-console/src/Components/Action/Common/ActionFields/ActionFields.tsx @@ -1,13 +1,13 @@ import { useEffect, useState } from "react"; -import FlexRow from "../../../FlexRow/FlexRow"; -import FormGroup from "../../../FormGroup/FormGroup"; +import FlexRow from "../../../FlexRow/FlexRow.tsx"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Switch from "../../../Switch/Switch"; -import ActionTypePicker from "../ActionTypePicker/ActionTypePicker"; -import HttpHeaders from "../HttpHeaders/HttpHeaders"; -import MultipleAnalysis from "../MultipleAnalysis/MultipleAnalysis"; -import PluginConfigFields from "../../../Plugins/Common/PluginConfigFields/PluginConfigFields"; +import Input from "../../../Input/Input.tsx"; +import Switch from "../../../Switch/Switch.tsx"; +import ActionTypePicker from "../ActionTypePicker/ActionTypePicker.tsx"; +import HttpHeaders from "../HttpHeaders/HttpHeaders.tsx"; +import MultipleAnalysis from "../MultipleAnalysis/MultipleAnalysis.tsx"; +import PluginConfigFields from "../../../Plugins/Common/PluginConfigFields/PluginConfigFields.tsx"; /** * Props. @@ -156,11 +156,11 @@ function ActionFields(props: IActionFields) { const renderContent = () => { if (actionType?.id === "script") { return renderAnalysis(); - } else if (actionType?.id === "post") { + }if (actionType?.id === "post") { return renderPost(); - } else if (actionType?.id === "tagoio") { + }if (actionType?.id === "tagoio") { return renderTagoIO(); - } else if (actionType?.id) { + }if (actionType?.id) { return renderCustomOption(); } return null; diff --git a/packages/tcore-console/src/Components/Action/Common/ActionTypePicker/ActionTypePicker.tsx b/packages/tcore-console/src/Components/Action/Common/ActionTypePicker/ActionTypePicker.tsx index ac21a261..e922c2a4 100644 --- a/packages/tcore-console/src/Components/Action/Common/ActionTypePicker/ActionTypePicker.tsx +++ b/packages/tcore-console/src/Components/Action/Common/ActionTypePicker/ActionTypePicker.tsx @@ -1,9 +1,9 @@ import { useCallback, useEffect, useState } from "react"; -import { IPluginConfigField, IPluginModuleList } from "@tago-io/tcore-sdk/types"; -import Icon from "../../../Icon/Icon"; +import type { IPluginConfigField, IPluginModuleList } from "@tago-io/tcore-sdk/types"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import OptionsPicker from "../../../OptionsPicker/OptionsPicker"; -import { useApiRequest } from "../../../.."; +import OptionsPicker from "../../../OptionsPicker/OptionsPicker.tsx"; +import { useApiRequest } from "../../../../index.ts"; import * as Style from "./ActionTypePicker.style"; interface IOption { diff --git a/packages/tcore-console/src/Components/Action/Common/HttpHeaders/HttpHeaders.tsx b/packages/tcore-console/src/Components/Action/Common/HttpHeaders/HttpHeaders.tsx index 333f7d4e..7d1e024e 100644 --- a/packages/tcore-console/src/Components/Action/Common/HttpHeaders/HttpHeaders.tsx +++ b/packages/tcore-console/src/Components/Action/Common/HttpHeaders/HttpHeaders.tsx @@ -1,5 +1,5 @@ -import Input from "../../../Input/Input"; -import RowManipulatorTable from "../../../RowManipulatorTable/RowManipulatorTable"; +import Input from "../../../Input/Input.tsx"; +import RowManipulatorTable from "../../../RowManipulatorTable/RowManipulatorTable.tsx"; /** * Single item. diff --git a/packages/tcore-console/src/Components/Action/Common/ModalAddAction/ModalAddAction.tsx b/packages/tcore-console/src/Components/Action/Common/ModalAddAction/ModalAddAction.tsx index 3c31688d..1068de14 100644 --- a/packages/tcore-console/src/Components/Action/Common/ModalAddAction/ModalAddAction.tsx +++ b/packages/tcore-console/src/Components/Action/Common/ModalAddAction/ModalAddAction.tsx @@ -1,29 +1,29 @@ import { - IAction, - IActionCreate, - IPluginConfigField, - IPluginModuleList, + type IAction, + type IActionCreate, + type IPluginConfigField, + type IPluginModuleList, zName, } from "@tago-io/tcore-sdk/types"; -import { MouseEvent, useCallback, useEffect, useState } from "react"; +import { type MouseEvent, useCallback, useEffect, useState } from "react"; import { useHistory } from "react-router"; import { useTheme } from "styled-components"; -import { useApiRequest } from "../../../.."; -import validateConfigFields from "../../../../Helpers/validateConfigFields"; -import createAction from "../../../../Requests/createAction/createAction"; -import buildZodError from "../../../../Validation/buildZodError"; -import FormGroup from "../../../FormGroup/FormGroup"; +import { useApiRequest } from "../../../../index.ts"; +import validateConfigFields from "../../../../Helpers/validateConfigFields.ts"; +import createAction from "../../../../Requests/createAction/createAction.ts"; +import buildZodError from "../../../../Validation/buildZodError.ts"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Modal from "../../../Modal/Modal"; +import Input from "../../../Input/Input.tsx"; +import Modal from "../../../Modal/Modal.tsx"; import { zFrontAction, zFrontActionTagoIO, zFrontActionPost, zFrontActionScript, } from "../../Action.interface"; -import ActionFields from "../ActionFields/ActionFields"; -import TriggerRadio from "../TriggerRadio/TriggerRadio"; +import ActionFields from "../ActionFields/ActionFields.tsx"; +import TriggerRadio from "../TriggerRadio/TriggerRadio.tsx"; interface IModalAddAction { onClose: () => void; diff --git a/packages/tcore-console/src/Components/Action/Common/MultipleAnalysis/MultipleAnalysis.tsx b/packages/tcore-console/src/Components/Action/Common/MultipleAnalysis/MultipleAnalysis.tsx index 1c79a75b..999f059b 100644 --- a/packages/tcore-console/src/Components/Action/Common/MultipleAnalysis/MultipleAnalysis.tsx +++ b/packages/tcore-console/src/Components/Action/Common/MultipleAnalysis/MultipleAnalysis.tsx @@ -1,6 +1,6 @@ -import { IAnalysis } from "@tago-io/tcore-sdk/types"; -import AnalysisPicker from "../../../Analysis/Common/AnalysisPicker/AnalysisPicker"; -import RowManipulator from "../../../RowManipulator/RowManipulator"; +import type { IAnalysis } from "@tago-io/tcore-sdk/types"; +import AnalysisPicker from "../../../Analysis/Common/AnalysisPicker/AnalysisPicker.tsx"; +import RowManipulator from "../../../RowManipulator/RowManipulator.tsx"; /** * Single item in the list. diff --git a/packages/tcore-console/src/Components/Action/Common/TriggerRadio/TriggerRadio.tsx b/packages/tcore-console/src/Components/Action/Common/TriggerRadio/TriggerRadio.tsx index 6eb41075..dc6ae284 100644 --- a/packages/tcore-console/src/Components/Action/Common/TriggerRadio/TriggerRadio.tsx +++ b/packages/tcore-console/src/Components/Action/Common/TriggerRadio/TriggerRadio.tsx @@ -1,9 +1,9 @@ import { useTheme } from "styled-components"; -import { IPluginModuleList } from "@tago-io/tcore-sdk/types"; +import type { IPluginModuleList } from "@tago-io/tcore-sdk/types"; import { EIcon } from "../../../Icon/Icon.types"; -import IconRadio from "../../../IconRadio/IconRadio"; -import Icon from "../../../Icon/Icon"; -import useApiRequest from "../../../../Helpers/useApiRequest"; +import IconRadio from "../../../IconRadio/IconRadio.tsx"; +import Icon from "../../../Icon/Icon.tsx"; +import useApiRequest from "../../../../Helpers/useApiRequest.ts"; /** * Props. diff --git a/packages/tcore-console/src/Components/Action/Edit/ActionEdit.test.tsx b/packages/tcore-console/src/Components/Action/Edit/ActionEdit.test.tsx index 8ff90ad2..e6e25d36 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ActionEdit.test.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ActionEdit.test.tsx @@ -1,7 +1,7 @@ jest.mock("../../../Helpers/useApiRequest.ts"); -import { render } from "../../../../utils/test-utils"; -import ActionEdit from "./ActionEdit"; +import { render } from "../../../../utils/test-utils.ts"; +import ActionEdit from "./ActionEdit.tsx"; test("renders without crashing", () => { const fn = () => render(); diff --git a/packages/tcore-console/src/Components/Action/Edit/ActionEdit.tsx b/packages/tcore-console/src/Components/Action/Edit/ActionEdit.tsx index d9595c27..e6ee5ef7 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ActionEdit.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ActionEdit.tsx @@ -1,7 +1,7 @@ import { - IAction, - IPluginConfigField, - IPluginModuleList, + type IAction, + type IPluginConfigField, + type IPluginModuleList, zName, zTags, } from "@tago-io/tcore-sdk/types"; @@ -11,19 +11,19 @@ import { useRouteMatch } from "react-router"; import { useTheme } from "styled-components"; import { observer } from "mobx-react"; import { z } from "zod"; -import normalizeTags from "../../../Helpers/normalizeTags"; -import EditPage from "../../EditPage/EditPage"; +import normalizeTags from "../../../Helpers/normalizeTags.ts"; +import EditPage from "../../EditPage/EditPage.tsx"; import { EIcon } from "../../Icon/Icon.types"; -import Switch from "../../Switch/Switch"; -import deleteAction from "../../../Requests/deleteAction"; -import TagsTab from "../../Tags/TagsTab"; -import editAction from "../../../Requests/editAction/editAction"; -import buildZodError from "../../../Validation/buildZodError"; -import { useApiRequest } from "../../.."; -import validateConfigFields from "../../../Helpers/validateConfigFields"; +import Switch from "../../Switch/Switch.tsx"; +import deleteAction from "../../../Requests/deleteAction.ts"; +import TagsTab from "../../Tags/TagsTab.tsx"; +import editAction from "../../../Requests/editAction/editAction.ts"; +import buildZodError from "../../../Validation/buildZodError.ts"; +import { useApiRequest } from "../../../index.ts"; +import validateConfigFields from "../../../Helpers/validateConfigFields.ts"; import { - IConditionData, - IScheduleData, + type IConditionData, + type IScheduleData, zFrontAction, zFrontActionPost, zFrontActionScript, @@ -33,10 +33,10 @@ import { zFrontIntervalData, zFrontScheduleData, } from "../Action.interface"; -import ActionTab from "./ActionTab/ActionTab"; -import MoreTab from "./MoreTab/MoreTab"; -import { convertActionFromAPI } from "./Logic/convertActionFromAPI"; -import { convertActionToAPI } from "./Logic/convertActionToAPI"; +import ActionTab from "./ActionTab/ActionTab.tsx"; +import MoreTab from "./MoreTab/MoreTab.tsx"; +import { convertActionFromAPI } from "./Logic/convertActionFromAPI.ts"; +import { convertActionToAPI } from "./Logic/convertActionToAPI.ts"; /** * The Action' edit page. @@ -75,15 +75,14 @@ function ActionEdit() { const hasInvalidTrigger = useCallback(() => { if (data.type.includes(":") && !customTrigger) { return true; - } else if (customTrigger) { + }if (customTrigger) { return false; - } else if (data.type === "interval" || data.type === "schedule") { + }if (data.type === "interval" || data.type === "schedule") { return false; - } else if (data.type === "condition") { + }if (data.type === "condition") { return false; - } else { - return true; } + return true; }, [customTrigger, data.type]); /** @@ -218,10 +217,9 @@ function ActionEdit() { if (Object.keys(error).length > 0) { setErrors(error); return false; - } else { + } setErrors({}); return true; - } }, [typeModules, action, data, customTrigger, pluginTriggerData, conditionData, scheduleData]); /** diff --git a/packages/tcore-console/src/Components/Action/Edit/ActionTab/ActionTab.tsx b/packages/tcore-console/src/Components/Action/Edit/ActionTab/ActionTab.tsx index dda567c6..77a98369 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ActionTab/ActionTab.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ActionTab/ActionTab.tsx @@ -1,13 +1,13 @@ -import { IAction, IPluginModuleListItem } from "@tago-io/tcore-sdk/types"; -import { Input } from "../../../.."; -import FormGroup from "../../../FormGroup/FormGroup"; +import type { IAction, IPluginModuleListItem } from "@tago-io/tcore-sdk/types"; +import { Input } from "../../../../index.ts"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import PluginConfigFields from "../../../Plugins/Common/PluginConfigFields/PluginConfigFields"; -import ActionFields from "../../Common/ActionFields/ActionFields"; -import ConditionTrigger from "../ConditionTrigger/ConditionTrigger"; -import ScheduleTrigger from "../ScheduleTrigger/ScheduleTrigger"; -import MessageTriggerNotFound from "../ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound"; -import { IConditionData, IScheduleData } from "../../Action.interface"; +import PluginConfigFields from "../../../Plugins/Common/PluginConfigFields/PluginConfigFields.tsx"; +import ActionFields from "../../Common/ActionFields/ActionFields.tsx"; +import ConditionTrigger from "../ConditionTrigger/ConditionTrigger.tsx"; +import ScheduleTrigger from "../ScheduleTrigger/ScheduleTrigger.tsx"; +import MessageTriggerNotFound from "../ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.tsx"; +import type { IConditionData, IScheduleData } from "../../Action.interface"; import * as Style from "./ActionTab.style"; /** @@ -52,7 +52,7 @@ function ActionTab(props: IActionTab) { if (data.type.includes(":") && !customTrigger) { const triggerName = data.type.split(":")[1]; return ; - } else if (customTrigger) { + }if (customTrigger) { return ( ); - } else if (data.type === "interval" || data.type === "schedule") { + }if (data.type === "interval" || data.type === "schedule") { return ( ); - } else if (data.type === "condition") { + }if (data.type === "condition") { return ( ); - } else { - return ; } + return ; }; /** diff --git a/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/ConditionTrigger.tsx b/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/ConditionTrigger.tsx index 5a15a6e5..590e429b 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/ConditionTrigger.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/ConditionTrigger.tsx @@ -1,9 +1,9 @@ import { useState } from "react"; -import { Accordion, EIcon, Switch } from "../../../.."; -import VariableCondition from "../../../VariableCondition/VariableCondition"; -import TooltipText from "../../../TooltipText/TooltipText"; -import { IConditionData } from "../../Action.interface"; -import DeviceRadio from "./DeviceRadio/DeviceRadio"; +import { Accordion, EIcon, Switch } from "../../../../index.ts"; +import VariableCondition from "../../../VariableCondition/VariableCondition.tsx"; +import TooltipText from "../../../TooltipText/TooltipText.tsx"; +import type { IConditionData } from "../../Action.interface"; +import DeviceRadio from "./DeviceRadio/DeviceRadio.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/DeviceRadio/DeviceRadio.tsx b/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/DeviceRadio/DeviceRadio.tsx index 31365d68..f98d19fe 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/DeviceRadio/DeviceRadio.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ConditionTrigger/DeviceRadio/DeviceRadio.tsx @@ -1,13 +1,13 @@ import { useTheme } from "styled-components"; -import { IDevice, ITag } from "@tago-io/tcore-sdk/types"; -import Col from "../../../../Col/Col"; -import DevicePicker from "../../../../Device/Common/DevicePicker/DevicePicker"; -import FlexRow from "../../../../FlexRow/FlexRow"; -import FormGroup from "../../../../FormGroup/FormGroup"; +import type { IDevice, ITag } from "@tago-io/tcore-sdk/types"; +import Col from "../../../../Col/Col.tsx"; +import DevicePicker from "../../../../Device/Common/DevicePicker/DevicePicker.tsx"; +import FlexRow from "../../../../FlexRow/FlexRow.tsx"; +import FormGroup from "../../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../../Icon/Icon.types"; -import IconRadio from "../../../../IconRadio/IconRadio"; -import Input from "../../../../Input/Input"; -import Row from "../../../../Row/Row"; +import IconRadio from "../../../../IconRadio/IconRadio.tsx"; +import Input from "../../../../Input/Input.tsx"; +import Row from "../../../../Row/Row.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionFromAPI.ts b/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionFromAPI.ts index 6afca4ac..cba2054a 100644 --- a/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionFromAPI.ts +++ b/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionFromAPI.ts @@ -1,8 +1,8 @@ -import { IAction } from "@tago-io/tcore-sdk/types"; +import type { IAction } from "@tago-io/tcore-sdk/types"; import cloneDeep from "lodash.clonedeep"; import { DateTime } from "luxon"; -import { IConditionData, IScheduleData, TScheduleDataIntervalUnit } from "../../Action.interface"; -import { spreadCronToScheduleData } from "./spreadCronToScheduleData"; +import type { IConditionData, IScheduleData, TScheduleDataIntervalUnit } from "../../Action.interface"; +import { spreadCronToScheduleData } from "./spreadCronToScheduleData.ts"; interface IResult { scheduleData: IScheduleData; diff --git a/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionToAPI.ts b/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionToAPI.ts index 51c79ec8..77552148 100644 --- a/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionToAPI.ts +++ b/packages/tcore-console/src/Components/Action/Edit/Logic/convertActionToAPI.ts @@ -1,8 +1,8 @@ -import { IAction } from "@tago-io/tcore-sdk/types"; -import normalizeTags from "../../../../Helpers/normalizeTags"; +import type { IAction } from "@tago-io/tcore-sdk/types"; +import normalizeTags from "../../../../Helpers/normalizeTags.ts"; import { - IConditionData, - IScheduleData, + type IConditionData, + type IScheduleData, zFrontActionScript, zFrontActionTagoIO, zFrontActionPost, @@ -47,10 +47,10 @@ function convertActionToAPI( for (const condition of conditionData.conditions || []) { if (conditionData.type === "single") { condition.device = conditionData.device?.id || conditionData.device; - delete condition.tag_key; - delete condition.tag_value; + condition.tag_key = undefined; + condition.tag_value = undefined; } else { - delete condition.device; + condition.device = undefined; condition.tag_key = conditionData.tag?.key; condition.tag_value = conditionData.tag?.value; } @@ -60,10 +60,10 @@ function convertActionToAPI( for (const condition of conditionData.unlockConditions || []) { if (conditionData.type === "single") { condition.device = conditionData.device?.id || conditionData.device; - delete condition.tag_key; - delete condition.tag_value; + condition.tag_key = undefined; + condition.tag_value = undefined; } else { - delete condition.device; + condition.device = undefined; condition.tag_key = conditionData.tag?.key; condition.tag_value = conditionData.tag?.value; } diff --git a/packages/tcore-console/src/Components/Action/Edit/Logic/getCronFromScheduleData.ts b/packages/tcore-console/src/Components/Action/Edit/Logic/getCronFromScheduleData.ts index 26568596..afc90fee 100644 --- a/packages/tcore-console/src/Components/Action/Edit/Logic/getCronFromScheduleData.ts +++ b/packages/tcore-console/src/Components/Action/Edit/Logic/getCronFromScheduleData.ts @@ -1,5 +1,5 @@ import { DateTime } from "luxon"; -import { IScheduleData } from "../../Action.interface"; +import type { IScheduleData } from "../../Action.interface"; function getCronFromScheduleData(scheduleData: IScheduleData) { const cron = ["*", "*", "*", "*", "*"]; diff --git a/packages/tcore-console/src/Components/Action/Edit/Logic/spreadCronToScheduleData.ts b/packages/tcore-console/src/Components/Action/Edit/Logic/spreadCronToScheduleData.ts index d5f053fc..2c7136c0 100644 --- a/packages/tcore-console/src/Components/Action/Edit/Logic/spreadCronToScheduleData.ts +++ b/packages/tcore-console/src/Components/Action/Edit/Logic/spreadCronToScheduleData.ts @@ -1,4 +1,4 @@ -import { IScheduleData } from "../../Action.interface"; +import type { IScheduleData } from "../../Action.interface"; function spreadCronToScheduleData(cron: string, scheduleData: IScheduleData): void { if (!cron) { @@ -109,7 +109,7 @@ function spreadCronToScheduleData(cron: string, scheduleData: IScheduleData): vo repeatHour = `${cronHour.padStart(2, "0")}:${cronMinute.padStart(2, "0")}`; // 4:20 for example - if (cronDay && cronDay.startsWith("*")) { + if (cronDay?.startsWith("*")) { repeatType = "day"; // by default repeatUnit = "1"; // 1 by default diff --git a/packages/tcore-console/src/Components/Action/Edit/MoreTab/MoreTab.tsx b/packages/tcore-console/src/Components/Action/Edit/MoreTab/MoreTab.tsx index fee1f74e..baabdc89 100644 --- a/packages/tcore-console/src/Components/Action/Edit/MoreTab/MoreTab.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/MoreTab/MoreTab.tsx @@ -1,17 +1,17 @@ import { useCallback, useEffect, useState } from "react"; import { useHistory } from "react-router"; -import { IAction } from "@tago-io/tcore-sdk/types"; -import Button from "../../../Button/Button"; +import type { IAction } from "@tago-io/tcore-sdk/types"; +import Button from "../../../Button/Button.tsx"; import { EButton } from "../../../Button/Button.types"; -import Col from "../../../Col/Col"; -import FormDivision from "../../../FormDivision/FormDivision"; -import FormGroup from "../../../FormGroup/FormGroup"; -import Icon from "../../../Icon/Icon"; +import Col from "../../../Col/Col.tsx"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Modal from "../../../Modal/Modal"; -import RelativeDate from "../../../RelativeDate/RelativeDate"; -import Row from "../../../Row/Row"; +import Input from "../../../Input/Input.tsx"; +import Modal from "../../../Modal/Modal.tsx"; +import RelativeDate from "../../../RelativeDate/RelativeDate.tsx"; +import Row from "../../../Row/Row.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.style.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.style.tsx index a415ee57..8ca1a76f 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.style.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.style.tsx @@ -1,5 +1,5 @@ import styled, { css } from "styled-components"; -import { fonts } from "../../../../../theme"; +import { fonts } from "../../../../../theme.ts"; import * as InputStyle from "../../../../Input/Input.style"; const CronFieldsContainer = styled.div` diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.tsx index 02856d0a..f0505af5 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/AdvancedCron/AdvancedCron.tsx @@ -1,7 +1,7 @@ import { useCallback, useRef, useState } from "react"; -import { EIcon, FormGroup } from "../../../../.."; -import { IScheduleData } from "../../../Action.interface"; -import { spreadCronToScheduleData } from "../../Logic/spreadCronToScheduleData"; +import { EIcon, FormGroup } from "../../../../../index.ts"; +import type { IScheduleData } from "../../../Action.interface"; +import { spreadCronToScheduleData } from "../../Logic/spreadCronToScheduleData.ts"; import * as Style from "./AdvancedCron.style"; /** diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/BasicCron/BasicCron.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/BasicCron/BasicCron.tsx index cdfecf3c..c758b483 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/BasicCron/BasicCron.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/BasicCron/BasicCron.tsx @@ -1,14 +1,14 @@ import { useCallback } from "react"; import { DateTime } from "luxon"; -import { EIcon, FormGroup, Input } from "../../../../.."; -import Select from "../../../../Select/Select"; -import FlexRow from "../../../../FlexRow/FlexRow"; -import InputTime from "../../../../InputTime/InputTime"; +import { EIcon, FormGroup, Input } from "../../../../../index.ts"; +import Select from "../../../../Select/Select.tsx"; +import FlexRow from "../../../../FlexRow/FlexRow.tsx"; +import InputTime from "../../../../InputTime/InputTime.tsx"; import * as Style from "../RecurrenceOptions.style"; -import WeekdayButton from "../WeekdayButton/WeekdayButton"; -import { getCronFromScheduleData } from "../../Logic/getCronFromScheduleData"; -import CronTooComplexMessage from "../MessageCronTooComplex/MessageCronTooComplex"; -import { IScheduleData } from "../../../Action.interface"; +import WeekdayButton from "../WeekdayButton/WeekdayButton.tsx"; +import { getCronFromScheduleData } from "../../Logic/getCronFromScheduleData.ts"; +import CronTooComplexMessage from "../MessageCronTooComplex/MessageCronTooComplex.tsx"; +import type { IScheduleData } from "../../../Action.interface"; /** * Props. @@ -152,7 +152,7 @@ function BasicCron(props: IBasicCron) { { value: "30", label: "30" }, { value: "31", label: "31" }, ]} - > + /> )} diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.style.ts b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.style.ts index 69f00523..bfd4cee3 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.style.ts +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.style.ts @@ -1,5 +1,5 @@ import styled, { keyframes } from "styled-components"; -import { fonts } from "../../../../../theme"; +import { fonts } from "../../../../../theme.ts"; const bobbingAnimation = keyframes` from { top: 10px } diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.tsx index 341d1c5d..1a0cf28b 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageCronTooComplex/MessageCronTooComplex.tsx @@ -1,5 +1,5 @@ -import { EIcon, Icon } from "../../../../.."; -import EmptyMessage from "../../../../EmptyMessage/EmptyMessage"; +import { EIcon, Icon } from "../../../../../index.ts"; +import EmptyMessage from "../../../../EmptyMessage/EmptyMessage.tsx"; import * as Style from "./MessageCronTooComplex.style"; /** diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.style.ts b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.style.ts index 185fb716..16f99659 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.style.ts +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.style.ts @@ -1,5 +1,5 @@ import styled from "styled-components"; -import { fonts } from "../../../../../theme"; +import { fonts } from "../../../../../theme.ts"; const Container = styled.div` position: relative; diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.tsx index 5596700f..7274a5d9 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MessageTriggerNotFound/MessageTriggerNotFound.tsx @@ -1,5 +1,5 @@ -import { EIcon } from "../../../../.."; -import EmptyMessage from "../../../../EmptyMessage/EmptyMessage"; +import { EIcon } from "../../../../../index.ts"; +import EmptyMessage from "../../../../EmptyMessage/EmptyMessage.tsx"; import * as Style from "./MessageTriggerNotFound.style"; interface IMessageTriggerNotFound { diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MinimumScheduleMessage.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MinimumScheduleMessage.tsx index bf367b9c..0621e22c 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MinimumScheduleMessage.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/MinimumScheduleMessage.tsx @@ -1,6 +1,6 @@ -import * as React from "react"; +import type * as React from "react"; import { useTheme } from "styled-components"; -import { FormGroup } from "../../../.."; +import { FormGroup } from "../../../../index.ts"; function MinimumScheduleMessage(props: any) { const theme = useTheme(); diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/ScheduleTrigger.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/ScheduleTrigger.tsx index 0b85bef0..3bca19e3 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/ScheduleTrigger.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/ScheduleTrigger.tsx @@ -1,16 +1,16 @@ -import { CSSProperties, useCallback, useEffect, useState } from "react"; +import { type CSSProperties, useCallback, useEffect, useState } from "react"; import * as cronstrue from "cronstrue"; -import { EIcon } from "../../../.."; -import FormDivision from "../../../FormDivision/FormDivision"; -import Select from "../../../Select/Select"; -import TimezonePicker from "../../../TimezonePicker/TimezonePicker"; -import { getCronFromScheduleData } from "../Logic/getCronFromScheduleData"; -import { IScheduleData } from "../../Action.interface"; -import AdvancedCron from "./AdvancedCron/AdvancedCron"; -import BasicCron from "./BasicCron/BasicCron"; -import MinimumScheduleMessage from "./MinimumScheduleMessage"; +import { EIcon } from "../../../../index.ts"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; +import Select from "../../../Select/Select.tsx"; +import TimezonePicker from "../../../TimezonePicker/TimezonePicker.tsx"; +import { getCronFromScheduleData } from "../Logic/getCronFromScheduleData.ts"; +import type { IScheduleData } from "../../Action.interface"; +import AdvancedCron from "./AdvancedCron/AdvancedCron.tsx"; +import BasicCron from "./BasicCron/BasicCron.tsx"; +import MinimumScheduleMessage from "./MinimumScheduleMessage.tsx"; import * as Style from "./ScheduleTrigger.style"; -import TypeScheduleOptions from "./TypeScheduleOptions"; +import TypeScheduleOptions from "./TypeScheduleOptions.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.style.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.style.tsx index 07618978..f8a98783 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.style.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.style.tsx @@ -1,5 +1,5 @@ import styled from "styled-components"; -import { fonts } from "../../../../theme"; +import { fonts } from "../../../../theme.ts"; const IntervalContainer = styled.div` display: flex; diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.tsx index c2d790d8..4874bd9f 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/TypeScheduleOptions.tsx @@ -1,14 +1,14 @@ import { useEffect, useRef } from "react"; import { useTheme } from "styled-components"; -import { Col, EIcon, FormGroup, Input, Row } from "../../../.."; -import IconRadio from "../../../IconRadio/IconRadio"; -import Select from "../../../Select/Select"; -import { +import { Col, EIcon, FormGroup, Input, Row } from "../../../../index.ts"; +import IconRadio from "../../../IconRadio/IconRadio.tsx"; +import Select from "../../../Select/Select.tsx"; +import type { IScheduleData, TScheduleDataIntervalUnit, TScheduleDataType, } from "../../Action.interface"; -import MinimumScheduleMessage from "./MinimumScheduleMessage"; +import MinimumScheduleMessage from "./MinimumScheduleMessage.tsx"; import * as Style from "./TypeScheduleOptions.style"; /** diff --git a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/WeekdayButton/WeekdayButton.tsx b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/WeekdayButton/WeekdayButton.tsx index ac38f3e9..2589ce3d 100644 --- a/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/WeekdayButton/WeekdayButton.tsx +++ b/packages/tcore-console/src/Components/Action/Edit/ScheduleTrigger/WeekdayButton/WeekdayButton.tsx @@ -1,4 +1,4 @@ -import { Tooltip } from "../../../../.."; +import { Tooltip } from "../../../../../index.ts"; import * as Style from "./WeekdayButton.style"; /** diff --git a/packages/tcore-console/src/Components/Action/List/ActionList.tsx b/packages/tcore-console/src/Components/Action/List/ActionList.tsx index 6ac057d1..7a50a816 100644 --- a/packages/tcore-console/src/Components/Action/List/ActionList.tsx +++ b/packages/tcore-console/src/Components/Action/List/ActionList.tsx @@ -1,16 +1,16 @@ import { useTheme } from "styled-components"; import { useState } from "react"; -import { IAction, IPluginModuleList } from "@tago-io/tcore-sdk/types"; -import BooleanStatus from "../../BooleanStatus/BooleanStatus"; -import Button from "../../Button/Button"; +import type { IAction, IPluginModuleList } from "@tago-io/tcore-sdk/types"; +import BooleanStatus from "../../BooleanStatus/BooleanStatus.tsx"; +import Button from "../../Button/Button.tsx"; import { EButton } from "../../Button/Button.types"; -import Icon from "../../Icon/Icon"; +import Icon from "../../Icon/Icon.tsx"; import { EIcon } from "../../Icon/Icon.types"; -import ListPage from "../../ListPage/ListPage"; -import RelativeDate from "../../RelativeDate/RelativeDate"; -import ModalAddAction from "../Common/ModalAddAction/ModalAddAction"; -import useApiRequest from "../../../Helpers/useApiRequest"; -import getActionList from "../../../Requests/getActionList"; +import ListPage from "../../ListPage/ListPage.tsx"; +import RelativeDate from "../../RelativeDate/RelativeDate.tsx"; +import ModalAddAction from "../Common/ModalAddAction/ModalAddAction.tsx"; +import useApiRequest from "../../../Helpers/useApiRequest.ts"; +import getActionList from "../../../Requests/getActionList.ts"; import * as Style from "./ActionList.style"; /** @@ -47,13 +47,12 @@ function ActionList() { EIcon["puzzle-piece"], type?.setup?.name || "Unknown" ); - } else if (item.type === "condition") { + }if (item.type === "condition") { return renderIcon(theme.bucket, theme.bucket, EIcon.database, "Variable"); - } else if (item.type === "interval" || item.type === "schedule") { + }if (item.type === "interval" || item.type === "schedule") { return renderIcon(theme.action, theme.action, EIcon.clock, "Schedule"); - } else { - return "Unknown"; } + return "Unknown"; }; /** @@ -64,15 +63,14 @@ function ActionList() { if (isCustom) { const type = types?.find((x) => `${x.pluginID}:${x.setup.id}` === item.action?.type); return type?.setup?.name || "Unknown"; - } else if (item.action?.type === "script") { + }if (item.action?.type === "script") { return "Run Analysis"; - } else if (item.action?.type === "post") { + }if (item.action?.type === "post") { return "Post data to endpoint using HTTP"; - } else if (item.action?.type === "tagoio") { + }if (item.action?.type === "tagoio") { return "Insert data into TagoIO"; - } else { - return "Unknown"; } + return "Unknown"; }; /** @@ -81,9 +79,8 @@ function ActionList() { const renderLock = (item: IAction) => { if (item.lock) { return renderIcon(theme.buttonDanger, "", EIcon.lock, "Locked"); - } else { - return renderIcon("green", "", EIcon["lock-open"], "Unlocked"); } + return renderIcon("green", "", EIcon["lock-open"], "Unlocked"); }; return ( diff --git a/packages/tcore-console/src/Components/AlertInfo/AlertInfo.tsx b/packages/tcore-console/src/Components/AlertInfo/AlertInfo.tsx index 3df8d3d0..d0abe5c2 100644 --- a/packages/tcore-console/src/Components/AlertInfo/AlertInfo.tsx +++ b/packages/tcore-console/src/Components/AlertInfo/AlertInfo.tsx @@ -1,6 +1,6 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import * as Style from "./AlertInfo.style"; -import { EAlertInfo } from "./AlertInfo.types"; +import type { EAlertInfo } from "./AlertInfo.types"; /** * Props. diff --git a/packages/tcore-console/src/Components/Analysis/Common/AnalysisPicker/AnalysisPicker.tsx b/packages/tcore-console/src/Components/Analysis/Common/AnalysisPicker/AnalysisPicker.tsx index 1b9b7dde..e6e4ac16 100644 --- a/packages/tcore-console/src/Components/Analysis/Common/AnalysisPicker/AnalysisPicker.tsx +++ b/packages/tcore-console/src/Components/Analysis/Common/AnalysisPicker/AnalysisPicker.tsx @@ -1,8 +1,8 @@ -import { IAnalysis, TGenericID } from "@tago-io/tcore-sdk/types"; +import type { IAnalysis, TGenericID } from "@tago-io/tcore-sdk/types"; import { useCallback } from "react"; -import getAnalysisInfo from "../../../../Requests/getAnalysisInfo"; -import getAnalysisList from "../../../../Requests/getAnalysisList"; -import OptionsPicker from "../../../OptionsPicker/OptionsPicker"; +import getAnalysisInfo from "../../../../Requests/getAnalysisInfo.ts"; +import getAnalysisList from "../../../../Requests/getAnalysisList.ts"; +import OptionsPicker from "../../../OptionsPicker/OptionsPicker.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Analysis/Common/AutomateTip/AutomateTip.tsx b/packages/tcore-console/src/Components/Analysis/Common/AutomateTip/AutomateTip.tsx index f743ad7e..a191453b 100644 --- a/packages/tcore-console/src/Components/Analysis/Common/AutomateTip/AutomateTip.tsx +++ b/packages/tcore-console/src/Components/Analysis/Common/AutomateTip/AutomateTip.tsx @@ -1,7 +1,7 @@ import { memo } from "react"; -import Icon from "../../../Icon/Icon"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Link from "../../../Link/Link"; +import Link from "../../../Link/Link.tsx"; import * as Style from "./AutomateTip.style"; /** diff --git a/packages/tcore-console/src/Components/Analysis/Common/ConsoleOptions/ConsoleOptions.tsx b/packages/tcore-console/src/Components/Analysis/Common/ConsoleOptions/ConsoleOptions.tsx index 5f026d7a..d3fec584 100644 --- a/packages/tcore-console/src/Components/Analysis/Common/ConsoleOptions/ConsoleOptions.tsx +++ b/packages/tcore-console/src/Components/Analysis/Common/ConsoleOptions/ConsoleOptions.tsx @@ -1,5 +1,5 @@ import { memo, useEffect } from "react"; -import Icon from "../../../Icon/Icon"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; import * as Style from "./ConsoleOptions.style"; diff --git a/packages/tcore-console/src/Components/Analysis/Common/ModalAddAnalysis/ModalAddAnalysis.tsx b/packages/tcore-console/src/Components/Analysis/Common/ModalAddAnalysis/ModalAddAnalysis.tsx index 357736b5..77d0a777 100644 --- a/packages/tcore-console/src/Components/Analysis/Common/ModalAddAnalysis/ModalAddAnalysis.tsx +++ b/packages/tcore-console/src/Components/Analysis/Common/ModalAddAnalysis/ModalAddAnalysis.tsx @@ -1,12 +1,12 @@ import { zName } from "@tago-io/tcore-sdk/types"; -import { MouseEvent, useCallback, useEffect, useState } from "react"; +import { type MouseEvent, useCallback, useEffect, useState } from "react"; import { useHistory } from "react-router"; import { useTheme } from "styled-components"; -import createAnalysis from "../../../../Requests/createAnalysis"; -import FormGroup from "../../../FormGroup/FormGroup"; +import createAnalysis from "../../../../Requests/createAnalysis.ts"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Modal from "../../../Modal/Modal"; +import Input from "../../../Input/Input.tsx"; +import Modal from "../../../Modal/Modal.tsx"; /** */ diff --git a/packages/tcore-console/src/Components/Analysis/Common/SaveAndRun/SaveAndRun.tsx b/packages/tcore-console/src/Components/Analysis/Common/SaveAndRun/SaveAndRun.tsx index dcf65568..ae91bb77 100644 --- a/packages/tcore-console/src/Components/Analysis/Common/SaveAndRun/SaveAndRun.tsx +++ b/packages/tcore-console/src/Components/Analysis/Common/SaveAndRun/SaveAndRun.tsx @@ -1,5 +1,5 @@ import { memo } from "react"; -import Button from "../../../Button/Button"; +import Button from "../../../Button/Button.tsx"; import * as Style from "./SaveAndRun.style"; /** diff --git a/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.test.tsx b/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.test.tsx index 1821057c..d40cd778 100644 --- a/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.test.tsx +++ b/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.test.tsx @@ -1,8 +1,8 @@ jest.mock("../../../Helpers/useApiRequest.ts"); jest.mock("../../../System/Socket.ts"); -import { render } from "../../../../utils/test-utils"; -import AnalysisEdit from "./AnalysisEdit"; +import { render } from "../../../../utils/test-utils.ts"; +import AnalysisEdit from "./AnalysisEdit.tsx"; test("renders without crashing", () => { const fn = () => render(); diff --git a/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.tsx b/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.tsx index e8ec369a..cdeb20c6 100644 --- a/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.tsx +++ b/packages/tcore-console/src/Components/Analysis/Edit/AnalysisEdit.tsx @@ -1,24 +1,24 @@ -import { IAnalysis, ILog } from "@tago-io/tcore-sdk/types"; +import type { IAnalysis, ILog } from "@tago-io/tcore-sdk/types"; import cloneDeep from "lodash.clonedeep"; import { useCallback, useEffect, useRef, useState } from "react"; import { useRouteMatch } from "react-router"; import { useTheme } from "styled-components"; import { observer } from "mobx-react"; -import normalizeTags from "../../../Helpers/normalizeTags"; -import EditPage from "../../EditPage/EditPage"; +import normalizeTags from "../../../Helpers/normalizeTags.ts"; +import EditPage from "../../EditPage/EditPage.tsx"; import { EIcon } from "../../Icon/Icon.types"; -import Switch from "../../Switch/Switch"; -import SaveAndRun from "../Common/SaveAndRun/SaveAndRun"; -import TagsTab from "../../Tags/TagsTab"; -import deleteAnalysis from "../../../Requests/deleteAnalysis"; -import editAnalysis from "../../../Requests/editAnalysis"; -import runAnalysis from "../../../Requests/runAnalysis"; -import store from "../../../System/Store"; -import { getSocket } from "../../../System/Socket"; -import deleteAnalysisLogs from "../../../Requests/deleteAnalysisLogs"; -import AnalysisTab from "./AnalysisTab/AnalysisTab"; -import EnvVarsTab from "./EnvVarsTab/EnvVarsTab"; -import MoreTab from "./MoreTab/MoreTab"; +import Switch from "../../Switch/Switch.tsx"; +import SaveAndRun from "../Common/SaveAndRun/SaveAndRun.tsx"; +import TagsTab from "../../Tags/TagsTab.tsx"; +import deleteAnalysis from "../../../Requests/deleteAnalysis.ts"; +import editAnalysis from "../../../Requests/editAnalysis.ts"; +import runAnalysis from "../../../Requests/runAnalysis.ts"; +import store from "../../../System/Store.tsx"; +import { getSocket } from "../../../System/Socket.tsx"; +import deleteAnalysisLogs from "../../../Requests/deleteAnalysisLogs.ts"; +import AnalysisTab from "./AnalysisTab/AnalysisTab.tsx"; +import EnvVarsTab from "./EnvVarsTab/EnvVarsTab.tsx"; +import MoreTab from "./MoreTab/MoreTab.tsx"; /** * The analysis' edit page. @@ -231,9 +231,9 @@ function AnalysisEdit() { setLogs((x) => [params, ...x]); } - getSocket().on(`analysis::console`, onLog); + getSocket().on("analysis::console", onLog); return () => { - getSocket().off(`analysis::console`, onLog); + getSocket().off("analysis::console", onLog); }; }); diff --git a/packages/tcore-console/src/Components/Analysis/Edit/AnalysisTab/AnalysisTab.tsx b/packages/tcore-console/src/Components/Analysis/Edit/AnalysisTab/AnalysisTab.tsx index 2599b892..afe746a8 100644 --- a/packages/tcore-console/src/Components/Analysis/Edit/AnalysisTab/AnalysisTab.tsx +++ b/packages/tcore-console/src/Components/Analysis/Edit/AnalysisTab/AnalysisTab.tsx @@ -1,19 +1,19 @@ -import { IAnalysis, ILog } from "@tago-io/tcore-sdk/types"; +import type { IAnalysis, ILog } from "@tago-io/tcore-sdk/types"; import { memo, useCallback, useEffect, useState } from "react"; -import downloadFile from "../../../../Helpers/download"; -import getDateTimeObject from "../../../../Helpers/getDateTimeObject"; -import Button from "../../../Button/Button"; +import downloadFile from "../../../../Helpers/download.ts"; +import getDateTimeObject from "../../../../Helpers/getDateTimeObject.ts"; +import Button from "../../../Button/Button.tsx"; import { EButton } from "../../../Button/Button.types"; -import Console from "../../../Console/Console"; -import FlexRow from "../../../FlexRow/FlexRow"; -import FormGroup from "../../../FormGroup/FormGroup"; -import Tooltip from "../../../Tooltip/Tooltip"; -import Icon from "../../../Icon/Icon"; +import Console from "../../../Console/Console.tsx"; +import FlexRow from "../../../FlexRow/FlexRow.tsx"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; +import Tooltip from "../../../Tooltip/Tooltip.tsx"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import ProgramFieldset from "../../../ProgramFieldset/ProgramFieldset"; -import AutomateTip from "../../Common/AutomateTip/AutomateTip"; -import ConsoleOptions from "../../Common/ConsoleOptions/ConsoleOptions"; +import Input from "../../../Input/Input.tsx"; +import ProgramFieldset from "../../../ProgramFieldset/ProgramFieldset.tsx"; +import AutomateTip from "../../Common/AutomateTip/AutomateTip.tsx"; +import ConsoleOptions from "../../Common/ConsoleOptions/ConsoleOptions.tsx"; import * as Style from "./AnalysisTab.style"; /** diff --git a/packages/tcore-console/src/Components/Analysis/Edit/EnvVarsTab/EnvVarsTab.tsx b/packages/tcore-console/src/Components/Analysis/Edit/EnvVarsTab/EnvVarsTab.tsx index 352a039d..ae1c911f 100644 --- a/packages/tcore-console/src/Components/Analysis/Edit/EnvVarsTab/EnvVarsTab.tsx +++ b/packages/tcore-console/src/Components/Analysis/Edit/EnvVarsTab/EnvVarsTab.tsx @@ -1,8 +1,8 @@ -import { IAnalysis, IAnalysisVariable } from "@tago-io/tcore-sdk/types"; -import FormDivision from "../../../FormDivision/FormDivision"; +import type { IAnalysis, IAnalysisVariable } from "@tago-io/tcore-sdk/types"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import RowManipulatorTable from "../../../RowManipulatorTable/RowManipulatorTable"; +import Input from "../../../Input/Input.tsx"; +import RowManipulatorTable from "../../../RowManipulatorTable/RowManipulatorTable.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Analysis/Edit/MoreTab/MoreTab.tsx b/packages/tcore-console/src/Components/Analysis/Edit/MoreTab/MoreTab.tsx index 147e2fa5..508ba05c 100644 --- a/packages/tcore-console/src/Components/Analysis/Edit/MoreTab/MoreTab.tsx +++ b/packages/tcore-console/src/Components/Analysis/Edit/MoreTab/MoreTab.tsx @@ -1,17 +1,17 @@ -import { IAnalysis } from "@tago-io/tcore-sdk/types"; +import type { IAnalysis } from "@tago-io/tcore-sdk/types"; import { useCallback, useEffect, useState } from "react"; import { useHistory } from "react-router"; -import Button from "../../../Button/Button"; +import Button from "../../../Button/Button.tsx"; import { EButton } from "../../../Button/Button.types"; -import Col from "../../../Col/Col"; -import FormDivision from "../../../FormDivision/FormDivision"; -import FormGroup from "../../../FormGroup/FormGroup"; -import Icon from "../../../Icon/Icon"; +import Col from "../../../Col/Col.tsx"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Modal from "../../../Modal/Modal"; -import RelativeDate from "../../../RelativeDate/RelativeDate"; -import Row from "../../../Row/Row"; +import Input from "../../../Input/Input.tsx"; +import Modal from "../../../Modal/Modal.tsx"; +import RelativeDate from "../../../RelativeDate/RelativeDate.tsx"; +import Row from "../../../Row/Row.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Analysis/List/AnalysisList.tsx b/packages/tcore-console/src/Components/Analysis/List/AnalysisList.tsx index 32bd264d..4d4fe938 100644 --- a/packages/tcore-console/src/Components/Analysis/List/AnalysisList.tsx +++ b/packages/tcore-console/src/Components/Analysis/List/AnalysisList.tsx @@ -1,15 +1,15 @@ -import { IAnalysis } from "@tago-io/tcore-sdk/types"; +import type { IAnalysis } from "@tago-io/tcore-sdk/types"; import { useState } from "react"; import { useTheme } from "styled-components"; -import getAnalysisList from "../../../Requests/getAnalysisList"; -import BooleanStatus from "../../BooleanStatus/BooleanStatus"; -import Button from "../../Button/Button"; +import getAnalysisList from "../../../Requests/getAnalysisList.ts"; +import BooleanStatus from "../../BooleanStatus/BooleanStatus.tsx"; +import Button from "../../Button/Button.tsx"; import { EButton } from "../../Button/Button.types"; -import Icon from "../../Icon/Icon"; +import Icon from "../../Icon/Icon.tsx"; import { EIcon } from "../../Icon/Icon.types"; -import ListPage from "../../ListPage/ListPage"; -import RelativeDate from "../../RelativeDate/RelativeDate"; -import ModalAddAnalysis from "../Common/ModalAddAnalysis/ModalAddAnalysis"; +import ListPage from "../../ListPage/ListPage.tsx"; +import RelativeDate from "../../RelativeDate/RelativeDate.tsx"; +import ModalAddAnalysis from "../Common/ModalAddAnalysis/ModalAddAnalysis.tsx"; /** * The device edit page. diff --git a/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.test.tsx b/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.test.tsx index 21326ba3..941166ca 100644 --- a/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.test.tsx +++ b/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.test.tsx @@ -1,5 +1,5 @@ -import { render, screen } from "../../../utils/test-utils"; -import BooleanStatus from "./BooleanStatus"; +import { render, screen } from "../../../utils/test-utils.ts"; +import BooleanStatus from "./BooleanStatus.tsx"; test("renders without crashing", () => { const fn = () => render(); diff --git a/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.tsx b/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.tsx index ccba6867..60e61de6 100644 --- a/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.tsx +++ b/packages/tcore-console/src/Components/BooleanStatus/BooleanStatus.tsx @@ -1,4 +1,4 @@ -import Icon from "../Icon/Icon"; +import Icon from "../Icon/Icon.tsx"; import { EIcon } from "../Icon/Icon.types"; /** diff --git a/packages/tcore-console/src/Components/Bucket/Common/DataRetention/DataRetention.tsx b/packages/tcore-console/src/Components/Bucket/Common/DataRetention/DataRetention.tsx index e4aba5b6..db3e3f81 100644 --- a/packages/tcore-console/src/Components/Bucket/Common/DataRetention/DataRetention.tsx +++ b/packages/tcore-console/src/Components/Bucket/Common/DataRetention/DataRetention.tsx @@ -1,10 +1,10 @@ -import { IDevice, IDeviceChunkPeriod } from "@tago-io/tcore-sdk/types"; +import type { IDevice, IDeviceChunkPeriod } from "@tago-io/tcore-sdk/types"; import { useRef } from "react"; -import { Col, EIcon, FormGroup, Icon, Input, Row } from "../../../.."; -import AlertInfo from "../../../AlertInfo/AlertInfo"; +import { Col, EIcon, FormGroup, Icon, Input, Row } from "../../../../index.ts"; +import AlertInfo from "../../../AlertInfo/AlertInfo.tsx"; import { EAlertInfo } from "../../../AlertInfo/AlertInfo.types"; -import ErrorMessage from "../../../ErrorMessage/ErrorMessage"; -import Select from "../../../Select/Select"; +import ErrorMessage from "../../../ErrorMessage/ErrorMessage.tsx"; +import Select from "../../../Select/Select.tsx"; import * as Style from "./DataRetention.style"; const MAX_INPUT_VALUES: any = { diff --git a/packages/tcore-console/src/Components/Bucket/Common/ModalEmptyDevice/ModalEmptyDevice.tsx b/packages/tcore-console/src/Components/Bucket/Common/ModalEmptyDevice/ModalEmptyDevice.tsx index 9860a8eb..63091515 100644 --- a/packages/tcore-console/src/Components/Bucket/Common/ModalEmptyDevice/ModalEmptyDevice.tsx +++ b/packages/tcore-console/src/Components/Bucket/Common/ModalEmptyDevice/ModalEmptyDevice.tsx @@ -1,7 +1,7 @@ import { useState } from "react"; -import FormGroup from "../../../FormGroup/FormGroup"; -import Input from "../../../Input/Input"; -import Modal from "../../../Modal/Modal"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; +import Input from "../../../Input/Input.tsx"; +import Modal from "../../../Modal/Modal.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.style.ts b/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.style.ts index 0ae42fa1..0a2af28d 100644 --- a/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.style.ts +++ b/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.style.ts @@ -1,6 +1,6 @@ import styled from "styled-components"; -import { ButtonStyle } from "../../../.."; -import { fonts } from "../../../../theme"; +import { ButtonStyle } from "../../../../index.ts"; +import { fonts } from "../../../../theme.ts"; import * as PaginatedTableStyle from "../../../PaginatedTable/PaginatedTable.style"; export const Container = styled.div` diff --git a/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.tsx b/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.tsx index cbc121b7..78da9637 100644 --- a/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.tsx +++ b/packages/tcore-console/src/Components/Bucket/Common/VariablesTable/VariablesTable.tsx @@ -1,23 +1,23 @@ import { useCallback, useEffect, useState } from "react"; import { useRouteMatch } from "react-router"; -import { IDeviceData, IDevice } from "@tago-io/tcore-sdk/types"; -import RelativeDate from "../../../RelativeDate/RelativeDate"; -import CopyButton from "../../../CopyButton/CopyButton"; -import TooltipText from "../../../TooltipText/TooltipText"; -import Checkbox from "../../../Checkbox/Checkbox"; +import type { IDeviceData, IDevice } from "@tago-io/tcore-sdk/types"; +import RelativeDate from "../../../RelativeDate/RelativeDate.tsx"; +import CopyButton from "../../../CopyButton/CopyButton.tsx"; +import TooltipText from "../../../TooltipText/TooltipText.tsx"; +import Checkbox from "../../../Checkbox/Checkbox.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import { IFilter } from "../../../PaginatedTable/PaginatedTable.types"; -import PaginatedTable from "../../../PaginatedTable/PaginatedTable"; -import getDeviceData from "../../../../Requests/getDeviceData"; -import ModalListConfiguration from "../../../ModalListConfiguration/ModalListConfiguration"; -import getDateTimeObject from "../../../../Helpers/getDateTimeObject"; -import { getLocalStorageAsJSON } from "../../../../Helpers/localStorage"; -import { Icon } from "../../../.."; -import copyToClipboard from "../../../../Helpers/copyToClipboard"; -import ModalEditValue from "../../Edit/ModalEditValue/ModalEditValue"; -import ModalEditGroup from "../../Edit/ModalEditGroup/ModalEditGroup"; -import ModalEditMetadata from "../../Edit/ModalEditMetadata/ModalEditMetadata"; -import ModalEditLocation from "../../Edit/ModalEditLocation/ModalEditLocation"; +import type { IFilter } from "../../../PaginatedTable/PaginatedTable.types"; +import PaginatedTable from "../../../PaginatedTable/PaginatedTable.tsx"; +import getDeviceData from "../../../../Requests/getDeviceData.ts"; +import ModalListConfiguration from "../../../ModalListConfiguration/ModalListConfiguration.tsx"; +import getDateTimeObject from "../../../../Helpers/getDateTimeObject.ts"; +import { getLocalStorageAsJSON } from "../../../../Helpers/localStorage.ts"; +import { Icon } from "../../../../index.ts"; +import copyToClipboard from "../../../../Helpers/copyToClipboard.ts"; +import ModalEditValue from "../../Edit/ModalEditValue/ModalEditValue.tsx"; +import ModalEditGroup from "../../Edit/ModalEditGroup/ModalEditGroup.tsx"; +import ModalEditMetadata from "../../Edit/ModalEditMetadata/ModalEditMetadata.tsx"; +import ModalEditLocation from "../../Edit/ModalEditLocation/ModalEditLocation.tsx"; import * as Style from "./VariablesTable.style"; /** @@ -241,9 +241,8 @@ function VariablesTable(props: IVariablesTableProps) { const renderTime = (item: IDeviceData) => { if (!dateFormat || dateFormat === "relative") { return ; - } else { - return getDateTimeObject(item.time)?.toFormat(dateFormat); } + return getDateTimeObject(item.time)?.toFormat(dateFormat); }; /** diff --git a/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.test.tsx b/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.test.tsx index 7c46eb5f..4f842ebf 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.test.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.test.tsx @@ -1,7 +1,7 @@ jest.mock("../../../Helpers/useApiRequest.ts"); -import { render } from "../../../../utils/test-utils"; -import BucketEdit from "./BucketEdit"; +import { render } from "../../../../utils/test-utils.ts"; +import BucketEdit from "./BucketEdit.tsx"; test("renders without crashing", () => { const fn = () => render(); diff --git a/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.tsx b/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.tsx index c0b695a8..ee49e7fa 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/BucketEdit.tsx @@ -1,23 +1,23 @@ -import { IDevice, zDeviceChunkRetention } from "@tago-io/tcore-sdk/types"; +import { type IDevice, zDeviceChunkRetention } from "@tago-io/tcore-sdk/types"; import axios from "axios"; import cloneDeep from "lodash.clonedeep"; import { useCallback, useEffect, useRef, useState } from "react"; import { useRouteMatch } from "react-router"; import { useTheme } from "styled-components"; import { z } from "zod"; -import { formatDataAmount } from "../../../Helpers/formatDataAmount"; -import getDeviceTypeName from "../../../Helpers/getDeviceTypeName"; -import useApiRequest from "../../../Helpers/useApiRequest"; -import deleteDeviceData from "../../../Requests/deleteDeviceData"; -import editDevice from "../../../Requests/editDevice"; -import store from "../../../System/Store"; -import buildZodError from "../../../Validation/buildZodError"; -import Capitalize from "../../Capitalize/Capitalize"; -import EditPage from "../../EditPage/EditPage"; +import { formatDataAmount } from "../../../Helpers/formatDataAmount.ts"; +import getDeviceTypeName from "../../../Helpers/getDeviceTypeName.ts"; +import useApiRequest from "../../../Helpers/useApiRequest.ts"; +import deleteDeviceData from "../../../Requests/deleteDeviceData.ts"; +import editDevice from "../../../Requests/editDevice.ts"; +import store from "../../../System/Store.tsx"; +import buildZodError from "../../../Validation/buildZodError.ts"; +import Capitalize from "../../Capitalize/Capitalize.tsx"; +import EditPage from "../../EditPage/EditPage.tsx"; import { EIcon } from "../../Icon/Icon.types"; -import GeneralInformationTab from "./GeneralInformationTab/GeneralInformationTab"; -import MoreTab from "./MoreTab/MoreTab"; -import VariablesTab from "./VariablesTab/VariablesTab"; +import GeneralInformationTab from "./GeneralInformationTab/GeneralInformationTab.tsx"; +import MoreTab from "./MoreTab/MoreTab.tsx"; +import VariablesTab from "./VariablesTab/VariablesTab.tsx"; /** * The bucket's edit page. diff --git a/packages/tcore-console/src/Components/Bucket/Edit/GeneralInformationTab/GeneralInformationTab.tsx b/packages/tcore-console/src/Components/Bucket/Edit/GeneralInformationTab/GeneralInformationTab.tsx index 46f14415..18ab8ba7 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/GeneralInformationTab/GeneralInformationTab.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/GeneralInformationTab/GeneralInformationTab.tsx @@ -1,12 +1,12 @@ -import { IDevice } from "@tago-io/tcore-sdk/types"; -import Col from "../../../Col/Col"; -import FormDivision from "../../../FormDivision/FormDivision"; -import FormGroup from "../../../FormGroup/FormGroup"; +import type { IDevice } from "@tago-io/tcore-sdk/types"; +import Col from "../../../Col/Col.tsx"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Row from "../../../Row/Row"; -import DataRetention from "../../Common/DataRetention/DataRetention"; -import ResourceLinkField from "../../../ResourceLinkField/ResourceLinkField"; +import Input from "../../../Input/Input.tsx"; +import Row from "../../../Row/Row.tsx"; +import DataRetention from "../../Common/DataRetention/DataRetention.tsx"; +import ResourceLinkField from "../../../ResourceLinkField/ResourceLinkField.tsx"; /** * Props. diff --git a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditGroup/ModalEditGroup.tsx b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditGroup/ModalEditGroup.tsx index 0ea2d31b..62cf6a2c 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditGroup/ModalEditGroup.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditGroup/ModalEditGroup.tsx @@ -1,8 +1,8 @@ -import { IDevice, IDeviceData } from "@tago-io/tcore-sdk/types"; +import type { IDevice, IDeviceData } from "@tago-io/tcore-sdk/types"; import { useCallback, useState } from "react"; import { EIcon } from "../../../Icon/Icon.types"; -import { FormGroup, Input, Modal } from "../../../.."; -import editDeviceData from "../../../../Requests/editDeviceData"; +import { FormGroup, Input, Modal } from "../../../../index.ts"; +import editDeviceData from "../../../../Requests/editDeviceData.ts"; import * as Style from "./ModalEditGroup.style"; /** diff --git a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditLocation/ModalEditLocation.tsx b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditLocation/ModalEditLocation.tsx index d88da0d6..f372d23d 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditLocation/ModalEditLocation.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditLocation/ModalEditLocation.tsx @@ -1,8 +1,8 @@ -import { IDevice, IDeviceData } from "@tago-io/tcore-sdk/types"; +import type { IDevice, IDeviceData } from "@tago-io/tcore-sdk/types"; import { useCallback, useState } from "react"; import { EIcon } from "../../../Icon/Icon.types"; -import { Col, FormGroup, Input, Modal, Row } from "../../../.."; -import editDeviceData from "../../../../Requests/editDeviceData"; +import { Col, FormGroup, Input, Modal, Row } from "../../../../index.ts"; +import editDeviceData from "../../../../Requests/editDeviceData.ts"; /** * Props. diff --git a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.style.tsx b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.style.tsx index b3788aa2..48370180 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.style.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.style.tsx @@ -1,5 +1,5 @@ import styled from "styled-components"; -import FormControlStyles from "../../../Styles/FormControlStyles"; +import FormControlStyles from "../../../Styles/FormControlStyles.tsx"; export const TextArea = styled.textarea` ${FormControlStyles} diff --git a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.tsx b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.tsx index 3af421dc..73ed599d 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditMetadata/ModalEditMetadata.tsx @@ -1,8 +1,8 @@ -import { IDevice, IDeviceData } from "@tago-io/tcore-sdk/types"; +import type { IDevice, IDeviceData } from "@tago-io/tcore-sdk/types"; import { useCallback, useState } from "react"; import { EIcon } from "../../../Icon/Icon.types"; -import { FormGroup, Modal } from "../../../.."; -import editDeviceData from "../../../../Requests/editDeviceData"; +import { FormGroup, Modal } from "../../../../index.ts"; +import editDeviceData from "../../../../Requests/editDeviceData.ts"; import * as Style from "./ModalEditMetadata.style"; /** diff --git a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditValue/ModalEditValue.tsx b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditValue/ModalEditValue.tsx index 17d56d19..ea9d7ec7 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/ModalEditValue/ModalEditValue.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/ModalEditValue/ModalEditValue.tsx @@ -1,9 +1,9 @@ -import { IDeviceData, IDevice } from "@tago-io/tcore-sdk/types"; +import type { IDeviceData, IDevice } from "@tago-io/tcore-sdk/types"; import { useCallback, useState } from "react"; import { EIcon } from "../../../Icon/Icon.types"; -import { Col, FormGroup, Input, Modal, Row } from "../../../.."; -import Select from "../../../Select/Select"; -import editDeviceData from "../../../../Requests/editDeviceData"; +import { Col, FormGroup, Input, Modal, Row } from "../../../../index.ts"; +import Select from "../../../Select/Select.tsx"; +import editDeviceData from "../../../../Requests/editDeviceData.ts"; /** * Props. @@ -32,9 +32,8 @@ function ModalEditValue(props: IModalEditValueProps) { const t = typeof data.value; if (t !== "string" && t !== "number" && t !== "boolean") { return ""; - } else { - return String(v); } + return String(v); }); const [type, setType] = useState(() => { const t = typeof data.value; diff --git a/packages/tcore-console/src/Components/Bucket/Edit/MoreTab/MoreTab.tsx b/packages/tcore-console/src/Components/Bucket/Edit/MoreTab/MoreTab.tsx index 84819846..aef367c4 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/MoreTab/MoreTab.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/MoreTab/MoreTab.tsx @@ -1,16 +1,16 @@ -import { IDevice } from "@tago-io/tcore-sdk/types"; +import type { IDevice } from "@tago-io/tcore-sdk/types"; import { useCallback, useState } from "react"; -import Col from "../../../Col/Col"; -import FormDivision from "../../../FormDivision/FormDivision"; -import FormGroup from "../../../FormGroup/FormGroup"; +import Col from "../../../Col/Col.tsx"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; +import FormGroup from "../../../FormGroup/FormGroup.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Input from "../../../Input/Input"; -import Button from "../../../Button/Button"; -import RelativeDate from "../../../RelativeDate/RelativeDate"; -import Row from "../../../Row/Row"; -import { EButton, Icon } from "../../../.."; -import ModalEmptyDevice from "../../Common/ModalEmptyDevice/ModalEmptyDevice"; -import { formatDataAmount } from "../../../../Helpers/formatDataAmount"; +import Input from "../../../Input/Input.tsx"; +import Button from "../../../Button/Button.tsx"; +import RelativeDate from "../../../RelativeDate/RelativeDate.tsx"; +import Row from "../../../Row/Row.tsx"; +import { EButton, Icon } from "../../../../index.ts"; +import ModalEmptyDevice from "../../Common/ModalEmptyDevice/ModalEmptyDevice.tsx"; +import { formatDataAmount } from "../../../../Helpers/formatDataAmount.ts"; /** * Props. diff --git a/packages/tcore-console/src/Components/Bucket/Edit/VariablesTab/VariablesTab.tsx b/packages/tcore-console/src/Components/Bucket/Edit/VariablesTab/VariablesTab.tsx index 03cff098..d07474e3 100644 --- a/packages/tcore-console/src/Components/Bucket/Edit/VariablesTab/VariablesTab.tsx +++ b/packages/tcore-console/src/Components/Bucket/Edit/VariablesTab/VariablesTab.tsx @@ -1,13 +1,13 @@ -import { IDeviceData, IDevice } from "@tago-io/tcore-sdk/types"; +import type { IDeviceData, IDevice } from "@tago-io/tcore-sdk/types"; import { memo, useCallback, useState } from "react"; -import Button from "../../../Button/Button"; +import Button from "../../../Button/Button.tsx"; import { EButton } from "../../../Button/Button.types"; -import Col from "../../../Col/Col"; -import FormDivision from "../../../FormDivision/FormDivision"; -import Icon from "../../../Icon/Icon"; +import Col from "../../../Col/Col.tsx"; +import FormDivision from "../../../FormDivision/FormDivision.tsx"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; -import Row from "../../../Row/Row"; -import VariablesTable from "../../Common/VariablesTable/VariablesTable"; +import Row from "../../../Row/Row.tsx"; +import VariablesTable from "../../Common/VariablesTable/VariablesTable.tsx"; import * as Style from "./VariablesTab.style"; /** diff --git a/packages/tcore-console/src/Components/Bucket/List/BucketList.tsx b/packages/tcore-console/src/Components/Bucket/List/BucketList.tsx index cbf088ef..99eb7cab 100644 --- a/packages/tcore-console/src/Components/Bucket/List/BucketList.tsx +++ b/packages/tcore-console/src/Components/Bucket/List/BucketList.tsx @@ -1,12 +1,12 @@ import { useTheme } from "styled-components"; -import { IDevice } from "@tago-io/tcore-sdk/types"; +import type { IDevice } from "@tago-io/tcore-sdk/types"; import { EIcon } from "../../Icon/Icon.types"; -import ListPage from "../../ListPage/ListPage"; -import RelativeDate from "../../RelativeDate/RelativeDate"; -import Capitalize from "../../Capitalize/Capitalize"; -import getDeviceList from "../../../Requests/getDeviceList"; -import getDeviceTypeName from "../../../Helpers/getDeviceTypeName"; -import ButtonDataAmount from "./ButtonDataAmount/ButtonDataAmount"; +import ListPage from "../../ListPage/ListPage.tsx"; +import RelativeDate from "../../RelativeDate/RelativeDate.tsx"; +import Capitalize from "../../Capitalize/Capitalize.tsx"; +import getDeviceList from "../../../Requests/getDeviceList.ts"; +import getDeviceTypeName from "../../../Helpers/getDeviceTypeName.ts"; +import ButtonDataAmount from "./ButtonDataAmount/ButtonDataAmount.tsx"; /** * The bucket list page. diff --git a/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.style.ts b/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.style.ts index 07af9e68..35bf6f18 100644 --- a/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.style.ts +++ b/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.style.ts @@ -1,7 +1,7 @@ import styled from "styled-components"; import { darken } from "polished"; // eslint-disable-next-line @typescript-eslint/no-unused-vars -import Button, { IButtonProps } from "../../../Button/Button"; +import Button, { IButtonProps } from "../../../Button/Button.tsx"; /** * Main style of the component. diff --git a/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.tsx b/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.tsx index b0b5b2a7..8a134296 100644 --- a/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.tsx +++ b/packages/tcore-console/src/Components/Bucket/List/ButtonDataAmount/ButtonDataAmount.tsx @@ -1,8 +1,8 @@ -import { IDevice } from "@tago-io/tcore-sdk/types"; +import type { IDevice } from "@tago-io/tcore-sdk/types"; import { useState } from "react"; -import { formatDataAmount } from "../../../../Helpers/formatDataAmount"; -import getDeviceDataAmount from "../../../../Requests/getDeviceDataAmount"; -import Icon from "../../../Icon/Icon"; +import { formatDataAmount } from "../../../../Helpers/formatDataAmount.ts"; +import getDeviceDataAmount from "../../../../Requests/getDeviceDataAmount.ts"; +import Icon from "../../../Icon/Icon.tsx"; import { EIcon } from "../../../Icon/Icon.types"; import * as Style from "./ButtonDataAmount.style"; diff --git a/packages/tcore-console/src/Components/Button/Button.style.ts b/packages/tcore-console/src/Components/Button/Button.style.ts index 0ffdd473..c06a2ce0 100644 --- a/packages/tcore-console/src/Components/Button/Button.style.ts +++ b/packages/tcore-console/src/Components/Button/Button.style.ts @@ -1,4 +1,4 @@ -import styled, { css, DefaultTheme } from "styled-components"; +import styled, { css, type DefaultTheme } from "styled-components"; import { darken } from "polished"; import * as IconStyle from "../Icon/Icon.style"; import { EButton } from "./Button.types"; diff --git a/packages/tcore-console/src/Components/Button/Button.test.tsx b/packages/tcore-console/src/Components/Button/Button.test.tsx index 8a7a8c13..92acc196 100644 --- a/packages/tcore-console/src/Components/Button/Button.test.tsx +++ b/packages/tcore-console/src/Components/Button/Button.test.tsx @@ -1,5 +1,5 @@ -import { fireEvent, render, screen } from "../../../utils/test-utils"; -import Button from "./Button"; +import { fireEvent, render, screen } from "../../../utils/test-utils.ts"; +import Button from "./Button.tsx"; test("renders without crashing", () => { const fn = () => render(
{modalFile && ( diff --git a/packages/tcore-console/src/Components/FlexRow/FlexRow.test.tsx b/packages/tcore-console/src/Components/FlexRow/FlexRow.test.tsx index 75b1e4b3..8b6c9d73 100644 --- a/packages/tcore-console/src/Components/FlexRow/FlexRow.test.tsx +++ b/packages/tcore-console/src/Components/FlexRow/FlexRow.test.tsx @@ -1,5 +1,5 @@ -import { render } from "../../../utils/test-utils"; -import FlexRow from "./FlexRow"; +import { render } from "../../../utils/test-utils.ts"; +import FlexRow from "./FlexRow.tsx"; test("renders without crashing", () => { const fn = () => render(); diff --git a/packages/tcore-console/src/Components/FlexRow/FlexRow.tsx b/packages/tcore-console/src/Components/FlexRow/FlexRow.tsx index d4901f55..caf13d50 100644 --- a/packages/tcore-console/src/Components/FlexRow/FlexRow.tsx +++ b/packages/tcore-console/src/Components/FlexRow/FlexRow.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import type { ReactNode } from "react"; import * as Style from "./FlexRow.style"; /** diff --git a/packages/tcore-console/src/Components/Footer/Footer.test.tsx b/packages/tcore-console/src/Components/Footer/Footer.test.tsx index debb36a2..3ae7a58a 100644 --- a/packages/tcore-console/src/Components/Footer/Footer.test.tsx +++ b/packages/tcore-console/src/Components/Footer/Footer.test.tsx @@ -1,5 +1,5 @@ -import { render, screen } from "../../../utils/test-utils"; -import Footer from "./Footer"; +import { render, screen } from "../../../utils/test-utils.ts"; +import Footer from "./Footer.tsx"; test("renders without crashing", () => { const fn = () => render(