From a721e82a4fb603c0732ccfdffc87396c2a01363e Mon Sep 17 00:00:00 2001 From: undergroundwires Date: Tue, 27 Feb 2024 04:20:22 +0100 Subject: [PATCH] Bump TypeScript to 5.3 with `verbatimModuleSyntax` This commit upgrades TypeScript to the latest version 5.3 and introduces `verbatimModuleSyntax` in line with the official Vue guide recommendatinos (vuejs/docs#2592). By enforcing `import type` for type-only imports, this commit improves code clarity and supports tooling optimization, ensuring imports are only bundled when necessary for runtime. Changes: - Bump TypeScript to 5.3.3 across the project. - Adjust import statements to utilize `import type` where applicable, promoting cleaner and more efficient code. --- electron.vite.config.ts | 2 +- package-lock.json | 14 +++++++------- package.json | 2 +- src/application/ApplicationFactory.ts | 4 ++-- .../ScriptingLanguageFactory.ts | 2 +- .../Common/Timing/BatchedDebounce.ts | 2 +- src/application/Common/Timing/PlatformTimer.ts | 2 +- src/application/Common/Timing/Throttle.ts | 2 +- src/application/Context/ApplicationContext.ts | 8 ++++---- .../Context/ApplicationContextFactory.ts | 6 +++--- src/application/Context/IApplicationContext.ts | 6 +++--- .../Context/State/CategoryCollectionState.ts | 10 +++++----- .../Context/State/Code/ApplicationCode.ts | 12 ++++++------ .../State/Code/Event/CodeChangedEvent.ts | 8 ++++---- .../State/Code/Event/ICodeChangedEvent.ts | 4 ++-- .../State/Code/Generation/CodeBuilder.ts | 2 +- .../Code/Generation/CodeBuilderFactory.ts | 4 ++-- .../Code/Generation/ICodeBuilderFactory.ts | 4 ++-- .../State/Code/Generation/IUserScript.ts | 4 ++-- .../Code/Generation/IUserScriptGenerator.ts | 6 +++--- .../Code/Generation/UserScriptGenerator.ts | 14 +++++++------- .../Context/State/Code/IApplicationCode.ts | 4 ++-- .../State/Code/Position/CodePosition.ts | 2 +- .../State/Filter/AdaptiveFilterContext.ts | 10 +++++----- .../Context/State/Filter/Event/FilterChange.ts | 4 ++-- .../Context/State/Filter/FilterContext.ts | 6 +++--- .../State/Filter/Result/AppliedFilterResult.ts | 6 +++--- .../State/Filter/Result/FilterResult.ts | 2 +- .../Context/State/ICategoryCollectionState.ts | 8 ++++---- .../Selection/Category/CategorySelection.ts | 4 ++-- .../ScriptToCategorySelectionMapper.ts | 12 ++++++------ .../Script/DebouncedScriptSelection.ts | 12 ++++++------ .../State/Selection/Script/ScriptSelection.ts | 8 ++++---- .../State/Selection/Script/SelectedScript.ts | 4 ++-- .../Selection/Script/UserSelectedScript.ts | 4 ++-- .../Context/State/Selection/UserSelection.ts | 4 ++-- .../State/Selection/UserSelectionFacade.ts | 10 +++++----- src/application/IApplicationFactory.ts | 2 +- src/application/Parser/ApplicationParser.ts | 6 +++--- .../Parser/CategoryCollectionParser.ts | 2 +- src/application/Parser/CategoryParser.ts | 2 +- .../Parser/NodeValidation/NodeDataError.ts | 2 +- .../Parser/NodeValidation/NodeValidator.ts | 4 ++-- src/application/Parser/ProjectDetailsParser.ts | 4 ++-- .../Script/CategoryCollectionParseContext.ts | 10 +++++----- .../Expressions/Expression/Expression.ts | 8 ++++---- .../Expression/ExpressionEvaluationContext.ts | 4 ++-- .../Expressions/Expression/IExpression.ts | 4 ++-- .../Expressions/ExpressionsCompiler.ts | 10 +++++----- .../Expressions/IExpressionsCompiler.ts | 2 +- .../Parser/CompositeExpressionParser.ts | 4 ++-- .../Expressions/Parser/IExpressionParser.ts | 2 +- .../Expressions/Parser/Regex/RegexParser.ts | 8 ++++---- .../PipeDefinitions/EscapeDoubleQuotes.ts | 2 +- .../Pipes/PipeDefinitions/InlinePowerShell.ts | 2 +- .../Compiler/Expressions/Pipes/PipeFactory.ts | 2 +- .../Expressions/Pipes/PipelineCompiler.ts | 4 ++-- .../ParameterSubstitutionParser.ts | 2 +- .../Expressions/SyntaxParsers/WithParser.ts | 4 ++-- .../Call/Argument/FunctionCallArgument.ts | 2 +- .../Argument/FunctionCallArgumentCollection.ts | 4 ++-- .../IFunctionCallArgumentCollection.ts | 2 +- .../CodeSegmentJoin/CodeSegmentMerger.ts | 2 +- .../NewlineCodeSegmentMerger.ts | 4 ++-- .../Compiler/FunctionCallCompilationContext.ts | 4 ++-- .../Call/Compiler/FunctionCallCompiler.ts | 6 +++--- .../Compiler/FunctionCallSequenceCompiler.ts | 16 ++++++++-------- .../SingleCall/AdaptiveFunctionCallCompiler.ts | 14 +++++++------- .../Compiler/SingleCall/SingleCallCompiler.ts | 6 +++--- .../SingleCall/SingleCallCompilerStrategy.ts | 8 ++++---- .../Strategies/Argument/ArgumentCompiler.ts | 4 ++-- .../Argument/NestedFunctionArgumentCompiler.ts | 10 +++++----- .../Strategies/InlineFunctionCallCompiler.ts | 10 +++++----- .../Strategies/NestedFunctionCallCompiler.ts | 12 ++++++------ .../Compiler/Function/Call/FunctionCall.ts | 2 +- .../Function/Call/FunctionCallParser.ts | 2 +- .../Function/Call/ParsedFunctionCall.ts | 4 ++-- .../Compiler/Function/ISharedFunction.ts | 4 ++-- .../Function/ISharedFunctionCollection.ts | 2 +- .../Function/ISharedFunctionsParser.ts | 4 ++-- .../Function/Parameter/FunctionParameter.ts | 2 +- .../Parameter/FunctionParameterCollection.ts | 4 ++-- .../Parameter/IFunctionParameterCollection.ts | 2 +- .../Script/Compiler/Function/SharedFunction.ts | 7 +++---- .../Function/SharedFunctionCollection.ts | 4 ++-- .../Compiler/Function/SharedFunctionsParser.ts | 12 ++++++------ .../Parser/Script/Compiler/IScriptCompiler.ts | 2 +- .../Parser/Script/Compiler/ScriptCompiler.ts | 18 +++++++++--------- .../Script/ICategoryCollectionParseContext.ts | 4 ++-- src/application/Parser/Script/ScriptParser.ts | 10 +++++----- .../Parser/Script/Validation/CodeValidator.ts | 6 +++--- .../Script/Validation/ICodeValidationRule.ts | 2 +- .../Parser/Script/Validation/ICodeValidator.ts | 2 +- .../Validation/Rules/NoDuplicatedLines.ts | 6 +++--- .../Script/Validation/Rules/NoEmptyLines.ts | 4 ++-- .../Validation/Syntax/BatchFileSyntax.ts | 2 +- .../Script/Validation/Syntax/ISyntaxFactory.ts | 4 ++-- .../Validation/Syntax/ShellScriptSyntax.ts | 2 +- .../Script/Validation/Syntax/SyntaxFactory.ts | 4 ++-- .../ScriptingDefinition/CodeSubstituter.ts | 4 ++-- .../ScriptingDefinitionParser.ts | 4 ++-- src/application/Repository/Repository.ts | 2 +- src/domain/Application.ts | 6 +++--- src/domain/Category.ts | 4 ++-- src/domain/CategoryCollection.ts | 10 +++++----- src/domain/IApplication.ts | 6 +++--- src/domain/ICategory.ts | 10 +++++----- src/domain/ICategoryCollection.ts | 6 +++--- src/domain/IScript.ts | 6 +++--- src/domain/Script.ts | 4 ++-- src/domain/ScriptCode.ts | 2 +- src/domain/ScriptingDefinition.ts | 2 +- .../Directory/PersistentDirectoryProvider.ts | 8 ++++---- .../Directory/ScriptDirectoryProvider.ts | 2 +- .../Creation/Filename/FilenameGenerator.ts | 2 +- .../Filename/TimestampedFilenameGenerator.ts | 4 ++-- .../Creation/ScriptFileCreationOrchestrator.ts | 14 +++++++------- .../CodeRunner/Creation/ScriptFileCreator.ts | 2 +- .../CodeRunner/Execution/ScriptFileExecutor.ts | 2 +- .../VisibleTerminalScriptFileExecutor.ts | 10 +++++----- .../CodeRunner/ScriptFileCodeRunner.ts | 10 +++++----- .../System/NodeElectronSystemOperations.ts | 2 +- .../Dialog/Browser/BrowserDialog.ts | 4 ++-- .../Dialog/Browser/BrowserSaveFileDialog.ts | 2 +- .../Dialog/Browser/FileSaverDialog.ts | 4 ++-- .../Dialog/Electron/ElectronDialog.ts | 4 ++-- .../Dialog/Electron/ElectronSaveFileDialog.ts | 2 +- .../Electron/NodeElectronSaveFileDialog.ts | 12 ++++++------ .../Dialog/LoggingDialogDecorator.ts | 4 ++-- src/infrastructure/Entity/BaseEntity.ts | 2 +- .../EnvironmentVariablesFactory.ts | 4 ++-- .../EnvironmentVariablesValidator.ts | 2 +- .../IEnvironmentVariables.ts | 2 +- .../IEnvironmentVariablesFactory.ts | 2 +- .../Vite/ViteEnvironmentVariables.ts | 2 +- src/infrastructure/Events/EventSource.ts | 2 +- .../Events/EventSubscriptionCollection.ts | 4 ++-- .../Events/IEventSubscriptionCollection.ts | 2 +- src/infrastructure/Log/ConsoleLogger.ts | 2 +- src/infrastructure/Log/ElectronLogger.ts | 2 +- src/infrastructure/Log/NoopLogger.ts | 2 +- src/infrastructure/Log/WindowInjectedLogger.ts | 4 ++-- .../NodeReadbackFileWriter.ts | 4 ++-- .../Repository/InMemoryRepository.ts | 4 ++-- .../Browser/BrowserOs/BrowserConditions.ts | 2 +- .../BrowserOs/ConditionBasedOsDetector.ts | 4 ++-- .../Browser/BrowserRuntimeEnvironment.ts | 6 +++--- .../ContextIsolatedElectronDetector.ts | 2 +- .../Node/NodeRuntimeEnvironment.ts | 2 +- .../RuntimeEnvironmentFactory.ts | 4 ++-- .../RuntimeSanity/Common/FactoryValidator.ts | 4 ++-- .../RuntimeSanity/Common/ISanityValidator.ts | 2 +- .../RuntimeSanity/SanityChecks.ts | 4 ++-- .../EnvironmentVariablesValidator.ts | 6 +++--- .../Validators/WindowVariablesValidator.ts | 6 +++--- .../ScriptEnvironmentDiagnosticsCollector.ts | 6 +++--- .../WindowVariables/WindowVariables.ts | 8 ++++---- .../WindowVariablesValidator.ts | 6 +++--- .../bootstrapping/ApplicationBootstrapper.ts | 2 +- .../bootstrapping/DependencyProvider.ts | 10 +++++----- .../Modules/AppInitializationLogger.ts | 4 ++-- .../Modules/DependencyBootstrapper.ts | 2 +- .../MobileSafariActivePseudoClassEnabler.ts | 4 ++-- .../Modules/RuntimeSanityValidator.ts | 2 +- src/presentation/components/App.vue | 2 +- .../components/Code/CodeButtons/IconButton.vue | 4 ++-- .../Code/CodeButtons/Save/CodeSaveButton.vue | 2 +- .../Code/CodeButtons/ScriptErrorDialog.ts | 4 ++-- .../components/Code/TheCodeArea.vue | 6 +++--- .../components/DevToolkit/DumpNames.ts | 2 +- .../RecommendationDocumentation.vue | 2 +- .../RecommendationStatusHandler.ts | 8 ++++---- .../TheRecommendationSelector.vue | 2 +- .../Menu/Revert/RevertStatusDocumentation.vue | 4 ++-- .../Scripts/Menu/Revert/RevertStatusHandler.ts | 6 +++--- .../Scripts/Menu/Revert/TheRevertSelector.vue | 2 +- .../components/Scripts/Menu/TheScriptsMenu.vue | 4 ++-- .../View/Cards/CardSelectionIndicator.vue | 4 ++-- .../View/Cards/NonCollapsingDirective.ts | 2 +- .../components/Scripts/View/TheScriptsView.vue | 6 +++--- .../Documentation/DocumentableNode.vue | 2 +- .../Documentation/DocumentationText.vue | 2 +- .../View/Tree/NodeContent/NodeContent.vue | 4 ++-- .../View/Tree/NodeContent/RevertToggle.vue | 6 +++--- .../NodeContent/Reverter/CategoryReverter.ts | 8 ++++---- .../View/Tree/NodeContent/Reverter/Reverter.ts | 4 ++-- .../NodeContent/Reverter/ReverterFactory.ts | 6 +++--- .../NodeContent/Reverter/ScriptReverter.ts | 6 +++--- .../Scripts/View/Tree/ScriptsTree.vue | 2 +- .../TreeNodeStateChangedEmittedEvent.ts | 4 ++-- .../TreeView/Node/HierarchicalTreeNode.vue | 6 +++--- .../Node/Hierarchy/TreeNodeHierarchy.ts | 4 ++-- .../Tree/TreeView/Node/InteractableNode.vue | 4 ++-- .../View/Tree/TreeView/Node/LeafTreeNode.vue | 4 ++-- .../View/Tree/TreeView/Node/NodeCheckbox.vue | 4 ++-- .../Tree/TreeView/Node/State/StateAccess.ts | 4 ++-- .../Tree/TreeView/Node/State/TreeNodeState.ts | 6 +++--- .../State/TreeNodeStateTransactionDescriber.ts | 4 ++-- .../View/Tree/TreeView/Node/TreeNodeManager.ts | 8 ++++---- .../View/Tree/TreeView/Node/UseNodeState.ts | 4 ++-- .../Ordering/CollapsedParentOrderer.ts | 4 ++-- .../Rendering/Ordering/RenderQueueOrderer.ts | 2 +- .../Scheduling/NodeRenderingStrategy.ts | 2 +- .../Scheduling/TimeoutDelayScheduler.ts | 2 +- .../Rendering/UseGradualNodeRendering.ts | 12 ++++++------ .../Focus/SingleNodeCollectionFocusManager.ts | 6 +++--- .../TreeRoot/Focus/SingleNodeFocusManager.ts | 2 +- .../NodeCollection/Query/QueryableNodes.ts | 2 +- .../NodeCollection/Query/TreeNodeNavigator.ts | 4 ++-- .../TreeRoot/NodeCollection/TreeInputParser.ts | 4 ++-- .../NodeCollection/TreeNodeCollection.ts | 6 +++--- .../TreeNodeInitializerAndUpdater.ts | 8 ++++---- .../View/Tree/TreeView/TreeRoot/TreeRoot.ts | 4 ++-- .../View/Tree/TreeView/TreeRoot/TreeRoot.vue | 4 ++-- .../Tree/TreeView/TreeRoot/TreeRootManager.ts | 8 ++++---- .../Scripts/View/Tree/TreeView/TreeView.vue | 8 ++++---- .../UseAutoUpdateChildrenCheckState.ts | 4 ++-- .../TreeView/UseAutoUpdateParentCheckState.ts | 6 +++--- .../View/Tree/TreeView/UseCurrentTreeNodes.ts | 4 ++-- .../TreeView/UseLeafNodeCheckedStateUpdater.ts | 6 +++--- .../TreeView/UseNodeStateChangeAggregator.ts | 8 ++++---- .../Tree/TreeView/UseTreeKeyboardNavigation.ts | 10 +++++----- .../View/Tree/TreeView/UseTreeQueryFilter.ts | 12 ++++++------ .../CategoryNodeMetadataConverter.ts | 6 +++--- .../TreeNodeMetadataConverter.ts | 6 +++--- .../UseCollectionSelectionStateUpdater.ts | 2 +- .../TreeViewAdapter/UseTreeViewFilterEvent.ts | 16 ++++++++-------- .../TreeViewAdapter/UseTreeViewNodeInput.ts | 8 ++++---- .../UseExpandCollapseAnimation.ts | 2 +- .../components/Shared/FlatButton.vue | 4 ++-- .../Shared/Hooks/Clipboard/BrowserClipboard.ts | 2 +- .../Shared/Hooks/Clipboard/UseClipboard.ts | 4 ++-- .../Shared/Hooks/Dialog/ClientDialogFactory.ts | 4 ++-- .../Shared/Hooks/Dialog/UseDialog.ts | 2 +- .../Shared/Hooks/Log/ClientLoggerFactory.ts | 6 +++--- .../Shared/Hooks/Log/LoggerFactory.ts | 2 +- .../components/Shared/Hooks/Log/UseLogger.ts | 2 +- .../components/Shared/Hooks/UseApplication.ts | 2 +- .../Shared/Hooks/UseAutoUnsubscribedEvents.ts | 2 +- .../components/Shared/Hooks/UseCodeRunner.ts | 2 +- .../Shared/Hooks/UseCollectionState.ts | 6 +++--- .../components/Shared/Hooks/UseCurrentCode.ts | 4 ++-- .../Shared/Hooks/UseRuntimeEnvironment.ts | 2 +- .../Hooks/UseScriptDiagnosticsCollector.ts | 2 +- .../components/Shared/Icon/AppIcon.vue | 4 ++-- .../components/Shared/Icon/UseSvgLoader.ts | 4 ++-- .../ScrollLock/UseLockBodyBackgroundScroll.ts | 4 ++-- .../ScrollLock/WindowScrollDomStateAccessor.ts | 2 +- .../Shared/Modal/Hooks/UseAllTrueWatcher.ts | 2 +- .../Modal/Hooks/UseCurrentFocusToggle.ts | 2 +- .../components/Shared/TooltipWrapper.vue | 2 +- .../TheFooter/DownloadUrlListItem.vue | 2 +- src/presentation/components/TheSearchBar.vue | 6 +++--- .../electron/main/IpcRegistration.ts | 10 +++++----- .../main/Update/AutomaticUpdateCoordinator.ts | 4 ++-- .../main/Update/ManualUpdater/Downloader.ts | 2 +- .../ManualUpdater/ManualUpdateCoordinator.ts | 4 ++-- .../electron/main/Update/UpdateInitializer.ts | 2 +- .../electron/main/Update/UpdateProgressBar.ts | 2 +- .../ContextBridging/RendererApiProvider.ts | 4 ++-- .../electron/shared/IpcBridging/IpcChannel.ts | 2 +- .../IpcBridging/IpcChannelDefinitions.ts | 10 +++++----- .../electron/shared/IpcBridging/IpcProxy.ts | 4 ++-- .../app/extractors/linux.ts | 2 +- .../app/extractors/macos.ts | 2 +- .../app/extractors/windows.ts | 2 +- .../check-desktop-runtime-errors/main.ts | 2 +- .../StatusChecker/BatchStatusChecker.ts | 4 ++-- .../ExponentialBackOffRetryHandler.ts | 2 +- .../external-urls/StatusChecker/Requestor.ts | 4 ++-- tests/checks/external-urls/main.spec.ts | 6 +++--- .../composite/DependencyResolution.spec.ts | 4 ++-- .../CodeRunner/ScriptFileCodeRunner.spec.ts | 2 +- .../Vite/ViteEnvironmentVariables.spec.ts | 4 ++-- .../BrowserOs/ConditionBasedOsDetector.spec.ts | 2 +- .../RuntimeSanity/SanityChecks.spec.ts | 2 +- .../Validators/ValidatorTestRunner.ts | 2 +- ...obileSafariActivePseudoClassEnabler.spec.ts | 2 +- .../View/Tree/TreeView/TreeView.spec.ts | 2 +- tests/shared/WaitForValueChange.ts | 2 +- .../application/ApplicationFactory.spec.ts | 2 +- .../application/Common/EnumRangeTestRunner.ts | 2 +- .../ScriptingLanguageFactoryTestRunner.ts | 2 +- .../Context/ApplicationContext.spec.ts | 6 +++--- .../Context/ApplicationContextFactory.spec.ts | 6 +++--- .../State/CategoryCollectionState.spec.ts | 8 ++++---- .../Context/State/Code/ApplicationCode.spec.ts | 12 ++++++------ .../State/Code/Event/CodeChangedEvent.spec.ts | 4 ++-- .../Generation/UserScriptGenerator.spec.ts | 4 ++-- .../State/Filter/AdaptiveFilterContext.spec.ts | 6 +++--- .../State/Filter/Event/FilterChange.spec.ts | 2 +- .../Filter/Result/AppliedFilterResult.spec.ts | 2 +- .../Strategy/LinearFilterStrategy.spec.ts | 8 ++++---- .../ScriptToCategorySelectionMapper.spec.ts | 10 +++++----- .../Script/DebouncedScriptSelection.spec.ts | 10 +++++----- .../Script/ExpectEqualSelectedScripts.ts | 2 +- .../Selection/UserSelectionFacade.spec.ts | 6 +++--- .../Parser/ApplicationParser.spec.ts | 4 ++-- .../Parser/CategoryCollectionParser.spec.ts | 2 +- .../application/Parser/CategoryParser.spec.ts | 6 +++--- .../NodeValidation/NodeDataError.spec.ts | 2 +- .../NodeValidation/NodeValidator.spec.ts | 2 +- .../NodeValidation/NodeValidatorTestRunner.ts | 4 ++-- .../Parser/ProjectDetailsParser.spec.ts | 4 ++-- .../CategoryCollectionParseContext.spec.ts | 4 ++-- .../Expressions/Expression/Expression.spec.ts | 10 +++++----- .../ExpressionEvaluationContext.spec.ts | 6 +++--- .../Expressions/ExpressionsCompiler.spec.ts | 4 ++-- .../Parser/CompositeExpressionParser.spec.ts | 4 ++-- .../Parser/Regex/RegexParser.spec.ts | 4 ++-- .../PipeDefinitions/InlinePowerShell.spec.ts | 2 +- .../Pipes/PipeDefinitions/PipeTestRunner.ts | 2 +- .../Expressions/Pipes/PipelineCompiler.spec.ts | 4 ++-- .../SyntaxParsers/SyntaxParserTestsRunner.ts | 2 +- .../NewlineCodeSegmentMerger.spec.ts | 2 +- .../FunctionCallSequenceCompiler.spec.ts | 10 +++++----- .../NestedFunctionCallCompiler.spec.ts | 6 +++--- .../AdaptiveFunctionCallCompiler.spec.ts | 8 ++++---- .../NestedFunctionArgumentCompiler.spec.ts | 8 ++++---- .../InlineFunctionCallCompiler.spec.ts | 2 +- .../Function/Call/ParsedFunctionCall.spec.ts | 2 +- .../Function/ExpectFunctionBodyType.ts | 5 +++-- .../Compiler/Function/SharedFunction.spec.ts | 6 +++--- .../Function/SharedFunctionsParser.spec.ts | 6 +++--- .../Script/Compiler/ScriptCompiler.spec.ts | 10 +++++----- .../Parser/Script/ScriptParser.spec.ts | 10 +++++----- .../Script/Validation/CodeValidator.spec.ts | 4 ++-- .../Rules/CodeValidationRuleTestRunner.ts | 4 ++-- .../Validation/Rules/NoDuplicatedLines.spec.ts | 2 +- .../Validation/Syntax/ConcreteSyntaxes.spec.ts | 2 +- .../CodeSubstituter.spec.ts | 2 +- .../ScriptingDefinitionParser.spec.ts | 6 +++--- tests/unit/domain/Application.spec.ts | 2 +- tests/unit/domain/CategoryCollection.spec.ts | 4 ++-- .../Project/GitHubProjectDetails.spec.ts | 4 ++-- tests/unit/domain/Script.spec.ts | 2 +- .../PersistentDirectoryProvider.spec.ts | 6 +++--- .../ScriptFileCreationOrchestrator.spec.ts | 14 +++++++------- .../VisibleTerminalScriptFileExecutor.spec.ts | 8 ++++---- .../CodeRunner/ScriptFileCodeRunner.spec.ts | 8 ++++---- .../Dialog/Browser/BrowserDialog.spec.ts | 6 +++--- .../Dialog/Browser/FileSaverDialog.spec.ts | 2 +- .../Dialog/Electron/ElectronDialog.spec.ts | 6 +++--- .../ElectronFileDialogOperationsStub.ts | 2 +- .../NodeElectronSaveFileDialog.spec.ts | 14 ++++++++------ .../Dialog/Electron/NodePathOperationsStub.ts | 2 +- .../Dialog/LoggingDialogDecorator.spec.ts | 4 ++-- .../EnvironmentVariablesFactory.ts | 4 ++-- .../EnvironmentVariablesValidator.spec.ts | 2 +- .../Vite/ViteEnvironmentVariables.spec.ts | 4 ++-- .../infrastructure/Events/EventSource.spec.ts | 2 +- .../Events/EventSubscriptionCollection.spec.ts | 2 +- .../infrastructure/Log/LoggerTestRunner.ts | 2 +- .../unit/infrastructure/Log/NoopLogger.spec.ts | 2 +- .../FileReadWriteOperationsStub.ts | 2 +- .../NodeReadbackFileWriter.spec.ts | 8 ++++---- .../BrowserOs/ConditionBasedOsDetector.spec.ts | 2 +- .../Browser/BrowserRuntimeEnvironment.spec.ts | 4 ++-- .../Browser/TouchSupportDetection.spec.ts | 2 +- .../ContextIsolatedElectronDetector.spec.ts | 2 +- .../Node/NodeRuntimeEnvironment.spec.ts | 2 +- .../RuntimeEnvironmentFactory.spec.ts | 4 ++-- .../WindowVariablesValidator.spec.ts | 6 +++--- .../Common/FactoryValidator.spec.ts | 2 +- .../RuntimeSanity/SanityChecks.spec.ts | 4 ++-- .../EnvironmentVariablesValidator.spec.ts | 4 ++-- .../FactoryValidatorConcreteTestRunner.ts | 6 +++--- .../WindowVariablesValidator.spec.ts | 4 ++-- ...riptEnvironmentDiagnosticsCollector.spec.ts | 4 ++-- .../Threading/AsyncSleep.spec.ts | 2 +- .../bootstrapping/DependencyProvider.spec.ts | 2 +- .../Modules/DependencyBootstrapper.spec.ts | 2 +- ...obileSafariActivePseudoClassEnabler.spec.ts | 2 +- .../Modules/RuntimeSanityValidator.spec.ts | 2 +- .../Code/CodeButtons/CodeCopyButton.spec.ts | 2 +- .../Steps/CopyableCommand.spec.ts | 4 ++-- .../Steps/PlatformInstructionSteps.spec.ts | 2 +- .../Code/CodeButtons/ScriptErrorDialog.spec.ts | 6 +++--- .../RecommendationStatusHandler.spec.ts | 10 +++++----- .../RecommendationStatusTestScenario.ts | 2 +- .../Menu/Revert/RevertStatusHandler.spec.ts | 4 ++-- .../Scripts/Slider/UseDragHandler.spec.ts | 6 +++--- .../Scripts/Slider/UseGlobalCursor.spec.ts | 4 ++-- .../Scripts/View/Cards/CardList.spec.ts | 2 +- .../Scripts/View/TheScriptsView.spec.ts | 6 +++--- .../Reverter/CategoryReverter.spec.ts | 4 ++-- .../Reverter/ReverterFactory.spec.ts | 2 +- .../Reverter/ScriptReverter.spec.ts | 2 +- .../Bindings/TreeViewFilterEvent.spec.ts | 2 +- .../Node/Hierarchy/TreeNodeHierarchy.spec.ts | 2 +- .../TreeView/Node/State/TreeNodeState.spec.ts | 6 +++--- .../TreeNodeStateTransactionDescriber.spec.ts | 6 +++--- .../Node/UseKeyboardInteractionState.spec.ts | 2 +- .../Tree/TreeView/Node/UseNodeState.spec.ts | 2 +- .../Ordering/CollapsedParentOrderer.spec.ts | 2 +- .../Scheduling/TimeoutDelayScheduler.spec.ts | 2 +- .../Rendering/UseGradualNodeRendering.spec.ts | 8 ++++---- .../SingleNodeCollectionFocusManager.spec.ts | 2 +- .../NodeCollection/TreeInputParser.spec.ts | 2 +- .../TreeNodeInitializerAndUpdater.spec.ts | 4 ++-- .../Tree/TreeView/TreeRoot/TreeRootManager.ts | 2 +- .../UseAutoUpdateChildrenCheckState.spec.ts | 4 ++-- .../UseAutoUpdateParentCheckState.spec.ts | 2 +- .../Tree/TreeView/UseCurrentTreeNodes.spec.ts | 2 +- .../UseNodeStateChangeAggregator.spec.ts | 12 ++++++------ .../CategoryNodeMetadataConverter.spec.ts | 6 +++--- .../TreeNodeMetadataConverter.spec.ts | 2 +- .../UseSelectedScriptNodeIds.spec.ts | 2 +- .../UseTreeViewFilterEvent.spec.ts | 12 ++++++------ .../UseTreeViewNodeInput.spec.ts | 6 +++--- .../UseExpandCollapseAnimation.spec.ts | 4 ++-- .../components/Shared/FlatButton.spec.ts | 2 +- .../Hooks/Clipboard/BrowserClipboard.spec.ts | 2 +- .../Hooks/Clipboard/UseClipboard.spec.ts | 2 +- .../Hooks/Dialog/ClientDialogFactory.spec.ts | 8 ++++---- .../Shared/Hooks/Dialog/UseDialog.spec.ts | 2 +- .../Hooks/Log/ClientLoggerFactory.spec.ts | 6 +++--- .../Shared/Hooks/Log/UseLogger.spec.ts | 2 +- .../Hooks/UseAutoUnsubscribedEvents.spec.ts | 2 +- .../Shared/Hooks/UseCollectionState.spec.ts | 6 +++--- .../Shared/Hooks/UseCurrentCode.spec.ts | 2 +- .../UseScriptDiagnosticsCollector.spec.ts | 2 +- .../Shared/Hooks/UseUserSelectionState.spec.ts | 4 ++-- .../components/Shared/Icon/AppIcon.spec.ts | 2 +- .../Shared/Icon/UseSvgLoader.spec.ts | 4 ++-- .../UseLockBodyBackgroundScroll.spec.ts | 4 ++-- .../Modal/Hooks/UseEscapeKeyListener.spec.ts | 2 +- .../electron/main/IpcRegistration.spec.ts | 8 ++++---- .../ContextBridging/ApiContextBridge.spec.ts | 2 +- .../RendererApiProvider.spec.ts | 10 +++++----- .../shared/IpcChannelDefinitions.spec.ts | 4 ++-- tests/unit/presentation/injectionSymbols.ts | 2 +- tests/unit/shared/Stubs/AppMetadataStub.ts | 2 +- tests/unit/shared/Stubs/ApplicationCodeStub.ts | 4 ++-- .../ApplicationContextChangedEventStub.ts | 4 ++-- .../shared/Stubs/ApplicationContextStub.ts | 6 +++--- tests/unit/shared/Stubs/ApplicationStub.ts | 4 ++-- .../unit/shared/Stubs/ArgumentCompilerStub.ts | 6 +++--- tests/unit/shared/Stubs/BootstrapperStub.ts | 4 ++-- .../unit/shared/Stubs/BrowserConditionStub.ts | 2 +- .../shared/Stubs/BrowserEnvironmentStub.ts | 2 +- .../unit/shared/Stubs/BrowserOsDetectorStub.ts | 2 +- .../CategoryCollectionParseContextStub.ts | 6 +++--- .../Stubs/CategoryCollectionParserStub.ts | 4 ++-- .../Stubs/CategoryCollectionStateStub.ts | 14 +++++++------- .../shared/Stubs/CategoryCollectionStub.ts | 8 ++++---- .../unit/shared/Stubs/CategorySelectionStub.ts | 4 ++-- tests/unit/shared/Stubs/CategoryStub.ts | 2 +- tests/unit/shared/Stubs/ClipboardStub.ts | 2 +- .../unit/shared/Stubs/CodeChangedEventStub.ts | 6 +++--- tests/unit/shared/Stubs/CodeRunnerStub.ts | 2 +- .../unit/shared/Stubs/CodeSegmentMergerStub.ts | 4 ++-- tests/unit/shared/Stubs/CodeSubstituterStub.ts | 2 +- .../shared/Stubs/CodeValidationRuleStub.ts | 4 ++-- tests/unit/shared/Stubs/CodeValidatorStub.ts | 6 +++--- tests/unit/shared/Stubs/CommandOpsStub.ts | 2 +- tests/unit/shared/Stubs/CompiledCodeStub.ts | 2 +- tests/unit/shared/Stubs/DelaySchedulerStub.ts | 2 +- tests/unit/shared/Stubs/DialogStub.ts | 2 +- .../Stubs/ElectronEnvironmentDetectorStub.ts | 2 +- tests/unit/shared/Stubs/EnumParserStub.ts | 2 +- .../shared/Stubs/EnvironmentVariablesStub.ts | 2 +- tests/unit/shared/Stubs/EventSourceStub.ts | 2 +- .../Stubs/EventSubscriptionCollectionStub.ts | 4 ++-- .../unit/shared/Stubs/EventSubscriptionStub.ts | 2 +- .../Stubs/ExpressionEvaluationContextStub.ts | 6 +++--- .../unit/shared/Stubs/ExpressionParserStub.ts | 4 ++-- tests/unit/shared/Stubs/ExpressionStub.ts | 6 +++--- .../shared/Stubs/ExpressionsCompilerStub.ts | 6 +++--- tests/unit/shared/Stubs/FileSystemOpsStub.ts | 2 +- .../unit/shared/Stubs/FilenameGeneratorStub.ts | 4 ++-- tests/unit/shared/Stubs/FilterContextStub.ts | 8 ++++---- tests/unit/shared/Stubs/FilterStrategyStub.ts | 6 +++--- .../FunctionCallArgumentCollectionStub.ts | 4 ++-- .../shared/Stubs/FunctionCallArgumentStub.ts | 2 +- .../FunctionCallCompilationContextStub.ts | 8 ++++---- .../shared/Stubs/FunctionCallCompilerStub.ts | 8 ++++---- tests/unit/shared/Stubs/FunctionCallStub.ts | 2 +- tests/unit/shared/Stubs/FunctionCodeStub.ts | 2 +- .../Stubs/FunctionParameterCollectionStub.ts | 4 ++-- .../unit/shared/Stubs/FunctionParameterStub.ts | 2 +- tests/unit/shared/Stubs/HierarchyAccessStub.ts | 4 ++-- tests/unit/shared/Stubs/LanguageSyntaxStub.ts | 2 +- tests/unit/shared/Stubs/LocationOpsStub.ts | 2 +- tests/unit/shared/Stubs/LoggerStub.ts | 4 ++-- .../shared/Stubs/NodeDataErrorContextStub.ts | 4 ++-- tests/unit/shared/Stubs/NodeMetadataStub.ts | 2 +- .../Stubs/NodeStateChangeEventArgsStub.ts | 6 +++--- .../shared/Stubs/NodeStateChangedEventStub.ts | 4 ++-- .../shared/Stubs/OperatingSystemOpsStub.ts | 2 +- tests/unit/shared/Stubs/PipeFactoryStub.ts | 4 ++-- tests/unit/shared/Stubs/PipeStub.ts | 2 +- .../unit/shared/Stubs/PipelineCompilerStub.ts | 2 +- .../shared/Stubs/ProjectDetailsParserStub.ts | 2 +- tests/unit/shared/Stubs/QueryableNodesStub.ts | 4 ++-- .../shared/Stubs/ReadbackFileWriterStub.ts | 2 +- .../shared/Stubs/RenderQueueOrdererStub.ts | 4 ++-- .../shared/Stubs/RuntimeEnvironmentStub.ts | 2 +- .../shared/Stubs/SanityCheckOptionsStub.ts | 2 +- tests/unit/shared/Stubs/SanityValidatorStub.ts | 4 ++-- tests/unit/shared/Stubs/ScriptCodeStub.ts | 2 +- tests/unit/shared/Stubs/ScriptCompilerStub.ts | 4 ++-- .../Stubs/ScriptDiagnosticsCollectorStub.ts | 2 +- .../Stubs/ScriptDirectoryProviderStub.ts | 2 +- .../unit/shared/Stubs/ScriptFileCreatorStub.ts | 2 +- .../shared/Stubs/ScriptFileExecutorStub.ts | 2 +- tests/unit/shared/Stubs/ScriptSelectionStub.ts | 8 ++++---- tests/unit/shared/Stubs/ScriptStub.ts | 4 ++-- .../shared/Stubs/ScriptingDefinitionStub.ts | 2 +- tests/unit/shared/Stubs/SelectedScriptStub.ts | 4 ++-- .../Stubs/SharedFunctionCollectionStub.ts | 4 ++-- tests/unit/shared/Stubs/SharedFunctionStub.ts | 6 +++--- .../shared/Stubs/SharedFunctionsParserStub.ts | 6 +++--- .../Stubs/SingleCallCompilerStrategyStub.ts | 10 +++++----- .../shared/Stubs/SingleCallCompilerStub.ts | 8 ++++---- .../shared/Stubs/SingleNodeFocusManagerStub.ts | 4 ++-- .../Stubs/StubWithObservableMethodCalls.ts | 4 ++-- tests/unit/shared/Stubs/ThrottleStub.ts | 2 +- tests/unit/shared/Stubs/TimerStub.ts | 4 ++-- .../unit/shared/Stubs/TreeInputNodeDataStub.ts | 2 +- .../shared/Stubs/TreeNodeCollectionStub.ts | 4 ++-- tests/unit/shared/Stubs/TreeNodeParserStub.ts | 4 ++-- .../shared/Stubs/TreeNodeStateAccessStub.ts | 4 ++-- .../TreeNodeStateChangedEmittedEventStub.ts | 6 +++--- .../Stubs/TreeNodeStateDescriptorStub.ts | 2 +- .../Stubs/TreeNodeStateTransactionStub.ts | 4 ++-- tests/unit/shared/Stubs/TreeNodeStub.ts | 6 +++--- tests/unit/shared/Stubs/TreeRootStub.ts | 6 +++--- tests/unit/shared/Stubs/UseApplicationStub.ts | 2 +- tests/unit/shared/Stubs/UseClipboardStub.ts | 2 +- .../shared/Stubs/UseCollectionStateStub.ts | 10 +++++----- .../shared/Stubs/UseCurrentTreeNodesStub.ts | 4 ++-- .../Stubs/UseNodeStateChangeAggregatorStub.ts | 4 ++-- tests/unit/shared/Stubs/UseSvgLoaderStub.ts | 4 ++-- .../shared/Stubs/UseUserSelectionStateStub.ts | 4 ++-- tests/unit/shared/Stubs/UserSelectionStub.ts | 6 +++--- .../Stubs/VueDependencyInjectionApiStub.ts | 4 ++-- tests/unit/shared/Stubs/WindowVariablesStub.ts | 10 +++++----- tests/unit/shared/TestCases/SingletonTests.ts | 6 +++--- tsconfig.json | 1 + vite.config.ts | 2 +- 541 files changed, 1187 insertions(+), 1184 deletions(-) diff --git a/electron.vite.config.ts b/electron.vite.config.ts index afca3fa7..25daee0a 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -1,5 +1,5 @@ import { resolve } from 'node:path'; -import { mergeConfig, UserConfig } from 'vite'; +import { mergeConfig, type UserConfig } from 'vite'; import { defineConfig, externalizeDepsPlugin } from 'electron-vite'; import { getAliases, getClientEnvironmentVariables } from './vite-config-helper'; import { createVueConfig } from './vite.config'; diff --git a/package-lock.json b/package-lock.json index 776cb06d..f1c722bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,7 +56,7 @@ "svgexport": "^0.4.2", "terser": "^5.21.0", "tslib": "^2.6.2", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vite": "^4.4.11", "vitest": "^0.34.6", "vue-tsc": "^1.8.19", @@ -17774,9 +17774,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "devOptional": true, "bin": { "tsc": "bin/tsc", @@ -32718,9 +32718,9 @@ "dev": true }, "typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "devOptional": true }, "uc.micro": { diff --git a/package.json b/package.json index fee47dc1..a463bf56 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "svgexport": "^0.4.2", "terser": "^5.21.0", "tslib": "^2.6.2", - "typescript": "^5.2.2", + "typescript": "^5.3.3", "vite": "^4.4.11", "vitest": "^0.34.6", "vue-tsc": "^1.8.19", diff --git a/src/application/ApplicationFactory.ts b/src/application/ApplicationFactory.ts index e9b7a60d..9c851a52 100644 --- a/src/application/ApplicationFactory.ts +++ b/src/application/ApplicationFactory.ts @@ -1,7 +1,7 @@ -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import { AsyncLazy } from '@/infrastructure/Threading/AsyncLazy'; -import { IApplicationFactory } from './IApplicationFactory'; import { parseApplication } from './Parser/ApplicationParser'; +import type { IApplicationFactory } from './IApplicationFactory'; export type ApplicationGetterType = () => IApplication; const ApplicationGetter: ApplicationGetterType = parseApplication; diff --git a/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts b/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts index 28415239..c39be6a1 100644 --- a/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts +++ b/src/application/Common/ScriptingLanguage/ScriptingLanguageFactory.ts @@ -1,6 +1,6 @@ import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { assertInRange } from '@/application/Common/Enum'; -import { IScriptingLanguageFactory } from './IScriptingLanguageFactory'; +import type { IScriptingLanguageFactory } from './IScriptingLanguageFactory'; type Getter = () => T; diff --git a/src/application/Common/Timing/BatchedDebounce.ts b/src/application/Common/Timing/BatchedDebounce.ts index 6eb69cd1..0484e801 100644 --- a/src/application/Common/Timing/BatchedDebounce.ts +++ b/src/application/Common/Timing/BatchedDebounce.ts @@ -1,5 +1,5 @@ import { PlatformTimer } from './PlatformTimer'; -import { TimeoutType, Timer } from './Timer'; +import type { TimeoutType, Timer } from './Timer'; export function batchedDebounce( callback: (batches: readonly T[]) => void, diff --git a/src/application/Common/Timing/PlatformTimer.ts b/src/application/Common/Timing/PlatformTimer.ts index 101d5203..e016c526 100644 --- a/src/application/Common/Timing/PlatformTimer.ts +++ b/src/application/Common/Timing/PlatformTimer.ts @@ -1,4 +1,4 @@ -import { Timer } from './Timer'; +import type { Timer } from './Timer'; export const PlatformTimer: Timer = { setTimeout: (callback, ms) => setTimeout(callback, ms), diff --git a/src/application/Common/Timing/Throttle.ts b/src/application/Common/Timing/Throttle.ts index 41a29adc..8fc575c2 100644 --- a/src/application/Common/Timing/Throttle.ts +++ b/src/application/Common/Timing/Throttle.ts @@ -1,5 +1,5 @@ -import { Timer, TimeoutType } from './Timer'; import { PlatformTimer } from './PlatformTimer'; +import type { Timer, TimeoutType } from './Timer'; export type CallbackType = (..._: readonly unknown[]) => void; diff --git a/src/application/Context/ApplicationContext.ts b/src/application/Context/ApplicationContext.ts index 284664f3..7829737f 100644 --- a/src/application/Context/ApplicationContext.ts +++ b/src/application/Context/ApplicationContext.ts @@ -1,11 +1,11 @@ -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { EventSource } from '@/infrastructure/Events/EventSource'; import { assertInRange } from '@/application/Common/Enum'; import { CategoryCollectionState } from './State/CategoryCollectionState'; -import { ICategoryCollectionState } from './State/ICategoryCollectionState'; -import { IApplicationContext, IApplicationContextChangedEvent } from './IApplicationContext'; +import type { IApplicationContext, IApplicationContextChangedEvent } from './IApplicationContext'; +import type { ICategoryCollectionState } from './State/ICategoryCollectionState'; type StateMachine = Map; diff --git a/src/application/Context/ApplicationContextFactory.ts b/src/application/Context/ApplicationContextFactory.ts index 1675e8d9..99f4344f 100644 --- a/src/application/Context/ApplicationContextFactory.ts +++ b/src/application/Context/ApplicationContextFactory.ts @@ -1,10 +1,10 @@ -import { IApplicationContext } from '@/application/Context/IApplicationContext'; +import type { IApplicationContext } from '@/application/Context/IApplicationContext'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; -import { IApplicationFactory } from '../IApplicationFactory'; import { ApplicationFactory } from '../ApplicationFactory'; import { ApplicationContext } from './ApplicationContext'; +import type { IApplicationFactory } from '../IApplicationFactory'; export async function buildContext( factory: IApplicationFactory = ApplicationFactory.Current, diff --git a/src/application/Context/IApplicationContext.ts b/src/application/Context/IApplicationContext.ts index bd1b2c32..adabcf62 100644 --- a/src/application/Context/IApplicationContext.ts +++ b/src/application/Context/IApplicationContext.ts @@ -1,7 +1,7 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { IApplication } from '@/domain/IApplication'; -import { ICategoryCollectionState, IReadOnlyCategoryCollectionState } from './State/ICategoryCollectionState'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { IApplication } from '@/domain/IApplication'; +import type { ICategoryCollectionState, IReadOnlyCategoryCollectionState } from './State/ICategoryCollectionState'; export interface IReadOnlyApplicationContext { readonly app: IApplication; diff --git a/src/application/Context/State/CategoryCollectionState.ts b/src/application/Context/State/CategoryCollectionState.ts index c8a9936d..253a7133 100644 --- a/src/application/Context/State/CategoryCollectionState.ts +++ b/src/application/Context/State/CategoryCollectionState.ts @@ -1,12 +1,12 @@ -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { AdaptiveFilterContext } from './Filter/AdaptiveFilterContext'; -import { FilterContext } from './Filter/FilterContext'; import { ApplicationCode } from './Code/ApplicationCode'; -import { UserSelection } from './Selection/UserSelection'; -import { ICategoryCollectionState } from './ICategoryCollectionState'; -import { IApplicationCode } from './Code/IApplicationCode'; import { UserSelectionFacade } from './Selection/UserSelectionFacade'; +import type { FilterContext } from './Filter/FilterContext'; +import type { UserSelection } from './Selection/UserSelection'; +import type { ICategoryCollectionState } from './ICategoryCollectionState'; +import type { IApplicationCode } from './Code/IApplicationCode'; export class CategoryCollectionState implements ICategoryCollectionState { public readonly os: OperatingSystem; diff --git a/src/application/Context/State/Code/ApplicationCode.ts b/src/application/Context/State/Code/ApplicationCode.ts index a1c5d3f7..e376aadb 100644 --- a/src/application/Context/State/Code/ApplicationCode.ts +++ b/src/application/Context/State/Code/ApplicationCode.ts @@ -1,13 +1,13 @@ import { EventSource } from '@/infrastructure/Events/EventSource'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; -import { ReadonlyScriptSelection } from '@/application/Context/State/Selection/Script/ScriptSelection'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ReadonlyScriptSelection } from '@/application/Context/State/Selection/Script/ScriptSelection'; import { CodeChangedEvent } from './Event/CodeChangedEvent'; import { CodePosition } from './Position/CodePosition'; -import { ICodeChangedEvent } from './Event/ICodeChangedEvent'; import { UserScriptGenerator } from './Generation/UserScriptGenerator'; -import { IApplicationCode } from './IApplicationCode'; -import { IUserScriptGenerator } from './Generation/IUserScriptGenerator'; +import type { IUserScriptGenerator } from './Generation/IUserScriptGenerator'; +import type { ICodeChangedEvent } from './Event/ICodeChangedEvent'; +import type { IApplicationCode } from './IApplicationCode'; export class ApplicationCode implements IApplicationCode { public readonly changed = new EventSource(); diff --git a/src/application/Context/State/Code/Event/CodeChangedEvent.ts b/src/application/Context/State/Code/Event/CodeChangedEvent.ts index 0dbd6ca0..b15f0a53 100644 --- a/src/application/Context/State/Code/Event/CodeChangedEvent.ts +++ b/src/application/Context/State/Code/Event/CodeChangedEvent.ts @@ -1,7 +1,7 @@ -import { IScript } from '@/domain/IScript'; -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; -import { ICodeChangedEvent } from './ICodeChangedEvent'; +import type { IScript } from '@/domain/IScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ICodeChangedEvent } from './ICodeChangedEvent'; export class CodeChangedEvent implements ICodeChangedEvent { public readonly code: string; diff --git a/src/application/Context/State/Code/Event/ICodeChangedEvent.ts b/src/application/Context/State/Code/Event/ICodeChangedEvent.ts index ea05f0fb..612787f8 100644 --- a/src/application/Context/State/Code/Event/ICodeChangedEvent.ts +++ b/src/application/Context/State/Code/Event/ICodeChangedEvent.ts @@ -1,5 +1,5 @@ -import { IScript } from '@/domain/IScript'; -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { IScript } from '@/domain/IScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; export interface ICodeChangedEvent { readonly code: string; diff --git a/src/application/Context/State/Code/Generation/CodeBuilder.ts b/src/application/Context/State/Code/Generation/CodeBuilder.ts index 4264c876..55cc5be3 100644 --- a/src/application/Context/State/Code/Generation/CodeBuilder.ts +++ b/src/application/Context/State/Code/Generation/CodeBuilder.ts @@ -1,4 +1,4 @@ -import { ICodeBuilder } from './ICodeBuilder'; +import type { ICodeBuilder } from './ICodeBuilder'; const TotalFunctionSeparatorChars = 58; diff --git a/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts b/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts index 4cb50fdf..61fdbe4d 100644 --- a/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts +++ b/src/application/Context/State/Code/Generation/CodeBuilderFactory.ts @@ -1,9 +1,9 @@ import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; -import { ICodeBuilder } from './ICodeBuilder'; import { BatchBuilder } from './Languages/BatchBuilder'; import { ShellBuilder } from './Languages/ShellBuilder'; -import { ICodeBuilderFactory } from './ICodeBuilderFactory'; +import type { ICodeBuilder } from './ICodeBuilder'; +import type { ICodeBuilderFactory } from './ICodeBuilderFactory'; export class CodeBuilderFactory extends ScriptingLanguageFactory diff --git a/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts b/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts index de9f1696..f4c866e8 100644 --- a/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts +++ b/src/application/Context/State/Code/Generation/ICodeBuilderFactory.ts @@ -1,4 +1,4 @@ -import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; -import { ICodeBuilder } from './ICodeBuilder'; +import type { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; +import type { ICodeBuilder } from './ICodeBuilder'; export type ICodeBuilderFactory = IScriptingLanguageFactory; diff --git a/src/application/Context/State/Code/Generation/IUserScript.ts b/src/application/Context/State/Code/Generation/IUserScript.ts index 0c1ef825..d85a89b4 100644 --- a/src/application/Context/State/Code/Generation/IUserScript.ts +++ b/src/application/Context/State/Code/Generation/IUserScript.ts @@ -1,5 +1,5 @@ -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; export interface IUserScript { readonly code: string; diff --git a/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts b/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts index 808672f9..4ea29133 100644 --- a/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts +++ b/src/application/Context/State/Code/Generation/IUserScriptGenerator.ts @@ -1,6 +1,6 @@ -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; -import { IUserScript } from './IUserScript'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { IUserScript } from './IUserScript'; export interface IUserScriptGenerator { buildCode( diff --git a/src/application/Context/State/Code/Generation/UserScriptGenerator.ts b/src/application/Context/State/Code/Generation/UserScriptGenerator.ts index 1cab63c3..042a20ef 100644 --- a/src/application/Context/State/Code/Generation/UserScriptGenerator.ts +++ b/src/application/Context/State/Code/Generation/UserScriptGenerator.ts @@ -1,12 +1,12 @@ -import { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; +import type { ICodePosition } from '@/application/Context/State/Code/Position/ICodePosition'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { SelectedScript } from '@/application/Context/State/Selection/Script/SelectedScript'; import { CodePosition } from '../Position/CodePosition'; -import { IUserScriptGenerator } from './IUserScriptGenerator'; -import { IUserScript } from './IUserScript'; -import { ICodeBuilder } from './ICodeBuilder'; -import { ICodeBuilderFactory } from './ICodeBuilderFactory'; import { CodeBuilderFactory } from './CodeBuilderFactory'; +import type { IUserScriptGenerator } from './IUserScriptGenerator'; +import type { IUserScript } from './IUserScript'; +import type { ICodeBuilder } from './ICodeBuilder'; +import type { ICodeBuilderFactory } from './ICodeBuilderFactory'; export class UserScriptGenerator implements IUserScriptGenerator { constructor(private readonly codeBuilderFactory: ICodeBuilderFactory = new CodeBuilderFactory()) { diff --git a/src/application/Context/State/Code/IApplicationCode.ts b/src/application/Context/State/Code/IApplicationCode.ts index 10b35d63..197f1716 100644 --- a/src/application/Context/State/Code/IApplicationCode.ts +++ b/src/application/Context/State/Code/IApplicationCode.ts @@ -1,5 +1,5 @@ -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { ICodeChangedEvent } from './Event/ICodeChangedEvent'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { ICodeChangedEvent } from './Event/ICodeChangedEvent'; export interface IApplicationCode { readonly changed: IEventSource; diff --git a/src/application/Context/State/Code/Position/CodePosition.ts b/src/application/Context/State/Code/Position/CodePosition.ts index aefabe63..978d229b 100644 --- a/src/application/Context/State/Code/Position/CodePosition.ts +++ b/src/application/Context/State/Code/Position/CodePosition.ts @@ -1,4 +1,4 @@ -import { ICodePosition } from './ICodePosition'; +import type { ICodePosition } from './ICodePosition'; export class CodePosition implements ICodePosition { public get totalLines(): number { diff --git a/src/application/Context/State/Filter/AdaptiveFilterContext.ts b/src/application/Context/State/Filter/AdaptiveFilterContext.ts index 1a498f61..902ec523 100644 --- a/src/application/Context/State/Filter/AdaptiveFilterContext.ts +++ b/src/application/Context/State/Filter/AdaptiveFilterContext.ts @@ -1,11 +1,11 @@ import { EventSource } from '@/infrastructure/Events/EventSource'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { FilterResult } from './Result/FilterResult'; -import { FilterContext } from './FilterContext'; -import { FilterChangeDetails } from './Event/FilterChangeDetails'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { FilterChange } from './Event/FilterChange'; -import { FilterStrategy } from './Strategy/FilterStrategy'; import { LinearFilterStrategy } from './Strategy/LinearFilterStrategy'; +import type { FilterResult } from './Result/FilterResult'; +import type { FilterContext } from './FilterContext'; +import type { FilterChangeDetails } from './Event/FilterChangeDetails'; +import type { FilterStrategy } from './Strategy/FilterStrategy'; export class AdaptiveFilterContext implements FilterContext { public readonly filterChanged = new EventSource(); diff --git a/src/application/Context/State/Filter/Event/FilterChange.ts b/src/application/Context/State/Filter/Event/FilterChange.ts index c4c0ffbd..e3b76594 100644 --- a/src/application/Context/State/Filter/Event/FilterChange.ts +++ b/src/application/Context/State/Filter/Event/FilterChange.ts @@ -1,6 +1,6 @@ -import { FilterResult } from '@/application/Context/State/Filter/Result/FilterResult'; +import type { FilterResult } from '@/application/Context/State/Filter/Result/FilterResult'; import { FilterActionType } from './FilterActionType'; -import { +import type { FilterChangeDetails, FilterChangeDetailsVisitor, ApplyFilterAction, ClearFilterAction, } from './FilterChangeDetails'; diff --git a/src/application/Context/State/Filter/FilterContext.ts b/src/application/Context/State/Filter/FilterContext.ts index 2c5f592f..19c8a4ff 100644 --- a/src/application/Context/State/Filter/FilterContext.ts +++ b/src/application/Context/State/Filter/FilterContext.ts @@ -1,6 +1,6 @@ -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { FilterResult } from './Result/FilterResult'; -import { FilterChangeDetails } from './Event/FilterChangeDetails'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { FilterResult } from './Result/FilterResult'; +import type { FilterChangeDetails } from './Event/FilterChangeDetails'; export interface ReadonlyFilterContext { readonly currentFilter: FilterResult | undefined; diff --git a/src/application/Context/State/Filter/Result/AppliedFilterResult.ts b/src/application/Context/State/Filter/Result/AppliedFilterResult.ts index a3aa2cb2..b7df728c 100644 --- a/src/application/Context/State/Filter/Result/AppliedFilterResult.ts +++ b/src/application/Context/State/Filter/Result/AppliedFilterResult.ts @@ -1,6 +1,6 @@ -import { IScript } from '@/domain/IScript'; -import { ICategory } from '@/domain/ICategory'; -import { FilterResult } from './FilterResult'; +import type { IScript } from '@/domain/IScript'; +import type { ICategory } from '@/domain/ICategory'; +import type { FilterResult } from './FilterResult'; export class AppliedFilterResult implements FilterResult { constructor( diff --git a/src/application/Context/State/Filter/Result/FilterResult.ts b/src/application/Context/State/Filter/Result/FilterResult.ts index d9613df1..a12a13b4 100644 --- a/src/application/Context/State/Filter/Result/FilterResult.ts +++ b/src/application/Context/State/Filter/Result/FilterResult.ts @@ -1,4 +1,4 @@ -import { IScript, ICategory } from '@/domain/ICategory'; +import type { IScript, ICategory } from '@/domain/ICategory'; export interface FilterResult { readonly categoryMatches: ReadonlyArray; diff --git a/src/application/Context/State/ICategoryCollectionState.ts b/src/application/Context/State/ICategoryCollectionState.ts index 3ae0e197..8a485679 100644 --- a/src/application/Context/State/ICategoryCollectionState.ts +++ b/src/application/Context/State/ICategoryCollectionState.ts @@ -1,8 +1,8 @@ -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ReadonlyFilterContext, FilterContext } from './Filter/FilterContext'; -import { ReadonlyUserSelection, UserSelection } from './Selection/UserSelection'; -import { IApplicationCode } from './Code/IApplicationCode'; +import type { IApplicationCode } from './Code/IApplicationCode'; +import type { ReadonlyFilterContext, FilterContext } from './Filter/FilterContext'; +import type { ReadonlyUserSelection, UserSelection } from './Selection/UserSelection'; export interface IReadOnlyCategoryCollectionState { readonly code: IApplicationCode; diff --git a/src/application/Context/State/Selection/Category/CategorySelection.ts b/src/application/Context/State/Selection/Category/CategorySelection.ts index 12fadc5f..1911dcd8 100644 --- a/src/application/Context/State/Selection/Category/CategorySelection.ts +++ b/src/application/Context/State/Selection/Category/CategorySelection.ts @@ -1,5 +1,5 @@ -import { ICategory } from '@/domain/ICategory'; -import { CategorySelectionChangeCommand } from './CategorySelectionChange'; +import type { ICategory } from '@/domain/ICategory'; +import type { CategorySelectionChangeCommand } from './CategorySelectionChange'; export interface ReadonlyCategorySelection { areAllScriptsSelected(category: ICategory): boolean; diff --git a/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts b/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts index 33667251..e06693b3 100644 --- a/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts +++ b/src/application/Context/State/Selection/Category/ScriptToCategorySelectionMapper.ts @@ -1,9 +1,9 @@ -import { ICategory } from '@/domain/ICategory'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { ScriptSelection } from '../Script/ScriptSelection'; -import { ScriptSelectionChange } from '../Script/ScriptSelectionChange'; -import { CategorySelection } from './CategorySelection'; -import { CategorySelectionChange, CategorySelectionChangeCommand } from './CategorySelectionChange'; +import type { ICategory } from '@/domain/ICategory'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { CategorySelectionChange, CategorySelectionChangeCommand } from './CategorySelectionChange'; +import type { CategorySelection } from './CategorySelection'; +import type { ScriptSelection } from '../Script/ScriptSelection'; +import type { ScriptSelectionChange } from '../Script/ScriptSelectionChange'; export class ScriptToCategorySelectionMapper implements CategorySelection { constructor( diff --git a/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts b/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts index 319c01c0..5ac98f7f 100644 --- a/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts +++ b/src/application/Context/State/Selection/Script/DebouncedScriptSelection.ts @@ -1,13 +1,13 @@ import { InMemoryRepository } from '@/infrastructure/Repository/InMemoryRepository'; -import { IScript } from '@/domain/IScript'; +import type { IScript } from '@/domain/IScript'; import { EventSource } from '@/infrastructure/Events/EventSource'; -import { ReadonlyRepository, Repository } from '@/application/Repository/Repository'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ReadonlyRepository, Repository } from '@/application/Repository/Repository'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { batchedDebounce } from '@/application/Common/Timing/BatchedDebounce'; -import { ScriptSelection } from './ScriptSelection'; -import { ScriptSelectionChange, ScriptSelectionChangeCommand } from './ScriptSelectionChange'; -import { SelectedScript } from './SelectedScript'; import { UserSelectedScript } from './UserSelectedScript'; +import type { ScriptSelection } from './ScriptSelection'; +import type { ScriptSelectionChange, ScriptSelectionChangeCommand } from './ScriptSelectionChange'; +import type { SelectedScript } from './SelectedScript'; const DEBOUNCE_DELAY_IN_MS = 100; diff --git a/src/application/Context/State/Selection/Script/ScriptSelection.ts b/src/application/Context/State/Selection/Script/ScriptSelection.ts index f3d202b4..e2b50f72 100644 --- a/src/application/Context/State/Selection/Script/ScriptSelection.ts +++ b/src/application/Context/State/Selection/Script/ScriptSelection.ts @@ -1,7 +1,7 @@ -import { IEventSource } from '@/infrastructure/Events/IEventSource'; -import { IScript } from '@/domain/IScript'; -import { SelectedScript } from './SelectedScript'; -import { ScriptSelectionChangeCommand } from './ScriptSelectionChange'; +import type { IEventSource } from '@/infrastructure/Events/IEventSource'; +import type { IScript } from '@/domain/IScript'; +import type { SelectedScript } from './SelectedScript'; +import type { ScriptSelectionChangeCommand } from './ScriptSelectionChange'; export interface ReadonlyScriptSelection { readonly changed: IEventSource; diff --git a/src/application/Context/State/Selection/Script/SelectedScript.ts b/src/application/Context/State/Selection/Script/SelectedScript.ts index ef1dd7f8..05e40087 100644 --- a/src/application/Context/State/Selection/Script/SelectedScript.ts +++ b/src/application/Context/State/Selection/Script/SelectedScript.ts @@ -1,5 +1,5 @@ -import { IEntity } from '@/infrastructure/Entity/IEntity'; -import { IScript } from '@/domain/IScript'; +import type { IEntity } from '@/infrastructure/Entity/IEntity'; +import type { IScript } from '@/domain/IScript'; type ScriptId = IScript['id']; diff --git a/src/application/Context/State/Selection/Script/UserSelectedScript.ts b/src/application/Context/State/Selection/Script/UserSelectedScript.ts index b0d70d4b..af40d00f 100644 --- a/src/application/Context/State/Selection/Script/UserSelectedScript.ts +++ b/src/application/Context/State/Selection/Script/UserSelectedScript.ts @@ -1,6 +1,6 @@ import { BaseEntity } from '@/infrastructure/Entity/BaseEntity'; -import { IScript } from '@/domain/IScript'; -import { SelectedScript } from './SelectedScript'; +import type { IScript } from '@/domain/IScript'; +import type { SelectedScript } from './SelectedScript'; type SelectedScriptId = SelectedScript['id']; diff --git a/src/application/Context/State/Selection/UserSelection.ts b/src/application/Context/State/Selection/UserSelection.ts index c7b01964..a7d2f71b 100644 --- a/src/application/Context/State/Selection/UserSelection.ts +++ b/src/application/Context/State/Selection/UserSelection.ts @@ -1,5 +1,5 @@ -import { CategorySelection, ReadonlyCategorySelection } from './Category/CategorySelection'; -import { ReadonlyScriptSelection, ScriptSelection } from './Script/ScriptSelection'; +import type { CategorySelection, ReadonlyCategorySelection } from './Category/CategorySelection'; +import type { ReadonlyScriptSelection, ScriptSelection } from './Script/ScriptSelection'; export interface ReadonlyUserSelection { readonly categories: ReadonlyCategorySelection; diff --git a/src/application/Context/State/Selection/UserSelectionFacade.ts b/src/application/Context/State/Selection/UserSelectionFacade.ts index ef6cbfdf..7667d983 100644 --- a/src/application/Context/State/Selection/UserSelectionFacade.ts +++ b/src/application/Context/State/Selection/UserSelectionFacade.ts @@ -1,10 +1,10 @@ -import { ICategoryCollection } from '@/domain/ICategoryCollection'; -import { CategorySelection } from './Category/CategorySelection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { ScriptToCategorySelectionMapper } from './Category/ScriptToCategorySelectionMapper'; import { DebouncedScriptSelection } from './Script/DebouncedScriptSelection'; -import { ScriptSelection } from './Script/ScriptSelection'; -import { UserSelection } from './UserSelection'; -import { SelectedScript } from './Script/SelectedScript'; +import type { CategorySelection } from './Category/CategorySelection'; +import type { ScriptSelection } from './Script/ScriptSelection'; +import type { UserSelection } from './UserSelection'; +import type { SelectedScript } from './Script/SelectedScript'; export class UserSelectionFacade implements UserSelection { public readonly categories: CategorySelection; diff --git a/src/application/IApplicationFactory.ts b/src/application/IApplicationFactory.ts index 25d3d71f..ed08ab0e 100644 --- a/src/application/IApplicationFactory.ts +++ b/src/application/IApplicationFactory.ts @@ -1,4 +1,4 @@ -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; export interface IApplicationFactory { getApp(): Promise; diff --git a/src/application/Parser/ApplicationParser.ts b/src/application/Parser/ApplicationParser.ts index ee21efee..5a9d0e60 100644 --- a/src/application/Parser/ApplicationParser.ts +++ b/src/application/Parser/ApplicationParser.ts @@ -1,13 +1,13 @@ import type { CollectionData } from '@/application/collections/'; -import { IApplication } from '@/domain/IApplication'; +import type { IApplication } from '@/domain/IApplication'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import WindowsData from '@/application/collections/windows.yaml'; import MacOsData from '@/application/collections/macos.yaml'; import LinuxData from '@/application/collections/linux.yaml'; import { parseProjectDetails } from '@/application/Parser/ProjectDetailsParser'; import { Application } from '@/domain/Application'; -import { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; +import type { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; import { parseCategoryCollection } from './CategoryCollectionParser'; diff --git a/src/application/Parser/CategoryCollectionParser.ts b/src/application/Parser/CategoryCollectionParser.ts index a61bc290..b6d1b1e6 100644 --- a/src/application/Parser/CategoryCollectionParser.ts +++ b/src/application/Parser/CategoryCollectionParser.ts @@ -1,6 +1,6 @@ import type { CollectionData } from '@/application/collections/'; import { OperatingSystem } from '@/domain/OperatingSystem'; -import { ICategoryCollection } from '@/domain/ICategoryCollection'; +import type { ICategoryCollection } from '@/domain/ICategoryCollection'; import { CategoryCollection } from '@/domain/CategoryCollection'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { createEnumParser } from '../Common/Enum'; diff --git a/src/application/Parser/CategoryParser.ts b/src/application/Parser/CategoryParser.ts index c424a5f0..ccaff8e8 100644 --- a/src/application/Parser/CategoryParser.ts +++ b/src/application/Parser/CategoryParser.ts @@ -6,8 +6,8 @@ import { Category } from '@/domain/Category'; import { NodeValidator } from '@/application/Parser/NodeValidation/NodeValidator'; import { NodeType } from '@/application/Parser/NodeValidation/NodeType'; import { parseDocs } from './DocumentationParser'; -import { ICategoryCollectionParseContext } from './Script/ICategoryCollectionParseContext'; import { parseScript } from './Script/ScriptParser'; +import type { ICategoryCollectionParseContext } from './Script/ICategoryCollectionParseContext'; let categoryIdCounter = 0; diff --git a/src/application/Parser/NodeValidation/NodeDataError.ts b/src/application/Parser/NodeValidation/NodeDataError.ts index 21c3e371..970498f9 100644 --- a/src/application/Parser/NodeValidation/NodeDataError.ts +++ b/src/application/Parser/NodeValidation/NodeDataError.ts @@ -1,6 +1,6 @@ import { CustomError } from '@/application/Common/CustomError'; import { NodeType } from './NodeType'; -import { NodeData } from './NodeData'; +import type { NodeData } from './NodeData'; export class NodeDataError extends CustomError { constructor(message: string, public readonly context: INodeDataErrorContext) { diff --git a/src/application/Parser/NodeValidation/NodeValidator.ts b/src/application/Parser/NodeValidation/NodeValidator.ts index 3d06932c..37860210 100644 --- a/src/application/Parser/NodeValidation/NodeValidator.ts +++ b/src/application/Parser/NodeValidation/NodeValidator.ts @@ -1,6 +1,6 @@ import { isString } from '@/TypeHelpers'; -import { INodeDataErrorContext, NodeDataError } from './NodeDataError'; -import { NodeData } from './NodeData'; +import { type INodeDataErrorContext, NodeDataError } from './NodeDataError'; +import type { NodeData } from './NodeData'; export class NodeValidator { constructor(private readonly context: INodeDataErrorContext) { diff --git a/src/application/Parser/ProjectDetailsParser.ts b/src/application/Parser/ProjectDetailsParser.ts index 5c67bbc1..7aa1fd55 100644 --- a/src/application/Parser/ProjectDetailsParser.ts +++ b/src/application/Parser/ProjectDetailsParser.ts @@ -1,9 +1,9 @@ import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { GitHubProjectDetails } from '@/domain/Project/GitHubProjectDetails'; -import { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; +import type { IAppMetadata } from '@/infrastructure/EnvironmentVariables/IAppMetadata'; import { Version } from '@/domain/Version'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; -import { ConstructorArguments } from '@/TypeHelpers'; +import type { ConstructorArguments } from '@/TypeHelpers'; export function parseProjectDetails( diff --git a/src/application/Parser/Script/CategoryCollectionParseContext.ts b/src/application/Parser/Script/CategoryCollectionParseContext.ts index 68245e56..a3d4c043 100644 --- a/src/application/Parser/Script/CategoryCollectionParseContext.ts +++ b/src/application/Parser/Script/CategoryCollectionParseContext.ts @@ -1,11 +1,11 @@ import type { FunctionData } from '@/application/collections/'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; -import { IScriptCompiler } from './Compiler/IScriptCompiler'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { ScriptCompiler } from './Compiler/ScriptCompiler'; -import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; import { SyntaxFactory } from './Validation/Syntax/SyntaxFactory'; -import { ISyntaxFactory } from './Validation/Syntax/ISyntaxFactory'; -import { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; +import type { IScriptCompiler } from './Compiler/IScriptCompiler'; +import type { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; +import type { ISyntaxFactory } from './Validation/Syntax/ISyntaxFactory'; export class CategoryCollectionParseContext implements ICategoryCollectionParseContext { public readonly compiler: IScriptCompiler; diff --git a/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts b/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts index 279f398d..6f89b260 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Expression/Expression.ts @@ -1,10 +1,10 @@ import { FunctionParameterCollection } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection'; -import { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; -import { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; import { FunctionCallArgumentCollection } from '../../Function/Call/Argument/FunctionCallArgumentCollection'; -import { IExpression } from './IExpression'; +import { ExpressionEvaluationContext, type IExpressionEvaluationContext } from './ExpressionEvaluationContext'; import { ExpressionPosition } from './ExpressionPosition'; -import { ExpressionEvaluationContext, IExpressionEvaluationContext } from './ExpressionEvaluationContext'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; +import type { IExpression } from './IExpression'; export type ExpressionEvaluator = (context: IExpressionEvaluationContext) => string; export class Expression implements IExpression { diff --git a/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts b/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts index 4685a49d..1efea82d 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext.ts @@ -1,6 +1,6 @@ -import { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; -import { IPipelineCompiler } from '../Pipes/IPipelineCompiler'; import { PipelineCompiler } from '../Pipes/PipelineCompiler'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IPipelineCompiler } from '../Pipes/IPipelineCompiler'; export interface IExpressionEvaluationContext { readonly args: IReadOnlyFunctionCallArgumentCollection; diff --git a/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts b/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts index 97d624fe..d61be5f4 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Expression/IExpression.ts @@ -1,6 +1,6 @@ -import { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; import { ExpressionPosition } from './ExpressionPosition'; -import { IExpressionEvaluationContext } from './ExpressionEvaluationContext'; +import type { IReadOnlyFunctionParameterCollection } from '../../Function/Parameter/IFunctionParameterCollection'; +import type { IExpressionEvaluationContext } from './ExpressionEvaluationContext'; export interface IExpression { readonly position: ExpressionPosition; diff --git a/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts b/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts index d2d6d444..30664af0 100644 --- a/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts +++ b/src/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler.ts @@ -1,9 +1,9 @@ -import { IExpressionEvaluationContext, ExpressionEvaluationContext } from '@/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext'; -import { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; -import { IExpressionsCompiler } from './IExpressionsCompiler'; -import { IExpression } from './Expression/IExpression'; -import { IExpressionParser } from './Parser/IExpressionParser'; +import { type IExpressionEvaluationContext, ExpressionEvaluationContext } from '@/application/Parser/Script/Compiler/Expressions/Expression/ExpressionEvaluationContext'; import { CompositeExpressionParser } from './Parser/CompositeExpressionParser'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IExpressionsCompiler } from './IExpressionsCompiler'; +import type { IExpression } from './Expression/IExpression'; +import type { IExpressionParser } from './Parser/IExpressionParser'; export class ExpressionsCompiler implements IExpressionsCompiler { public constructor( diff --git a/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts b/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts index 0c4e82a3..1faffdb5 100644 --- a/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts +++ b/src/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler.ts @@ -1,4 +1,4 @@ -import { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../Function/Call/Argument/IFunctionCallArgumentCollection'; export interface IExpressionsCompiler { compileExpressions( diff --git a/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts b/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts index d564f33d..16b8663d 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser.ts @@ -1,7 +1,7 @@ -import { IExpression } from '../Expression/IExpression'; import { ParameterSubstitutionParser } from '../SyntaxParsers/ParameterSubstitutionParser'; import { WithParser } from '../SyntaxParsers/WithParser'; -import { IExpressionParser } from './IExpressionParser'; +import type { IExpression } from '../Expression/IExpression'; +import type { IExpressionParser } from './IExpressionParser'; const Parsers = [ new ParameterSubstitutionParser(), diff --git a/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts b/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts index d836ebbb..c659ede7 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser.ts @@ -1,4 +1,4 @@ -import { IExpression } from '../Expression/IExpression'; +import type { IExpression } from '../Expression/IExpression'; export interface IExpressionParser { findExpressions(code: string): IExpression[]; diff --git a/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts b/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts index 8745c44c..8a88c860 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Parser/Regex/RegexParser.ts @@ -1,9 +1,9 @@ -import { IExpressionParser } from '../IExpressionParser'; -import { IExpression } from '../../Expression/IExpression'; -import { Expression, ExpressionEvaluator } from '../../Expression/Expression'; -import { IFunctionParameter } from '../../../Function/Parameter/IFunctionParameter'; +import { Expression, type ExpressionEvaluator } from '../../Expression/Expression'; import { FunctionParameterCollection } from '../../../Function/Parameter/FunctionParameterCollection'; import { createPositionFromRegexFullMatch } from '../../Expression/ExpressionPositionFactory'; +import type { IExpressionParser } from '../IExpressionParser'; +import type { IExpression } from '../../Expression/IExpression'; +import type { IFunctionParameter } from '../../../Function/Parameter/IFunctionParameter'; export abstract class RegexParser implements IExpressionParser { protected abstract readonly regex: RegExp; diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts index 16c83a33..4f4aebee 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/EscapeDoubleQuotes.ts @@ -1,4 +1,4 @@ -import { IPipe } from '../IPipe'; +import type { IPipe } from '../IPipe'; export class EscapeDoubleQuotes implements IPipe { public readonly name: string = 'escapeDoubleQuotes'; diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts index ebe28437..bf2ce83c 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeDefinitions/InlinePowerShell.ts @@ -1,4 +1,4 @@ -import { IPipe } from '../IPipe'; +import type { IPipe } from '../IPipe'; export class InlinePowerShell implements IPipe { public readonly name: string = 'inlinePowerShell'; diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts index a96e8cff..7db84133 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipeFactory.ts @@ -1,6 +1,6 @@ -import { IPipe } from './IPipe'; import { InlinePowerShell } from './PipeDefinitions/InlinePowerShell'; import { EscapeDoubleQuotes } from './PipeDefinitions/EscapeDoubleQuotes'; +import type { IPipe } from './IPipe'; const RegisteredPipes = [ new EscapeDoubleQuotes(), diff --git a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts index 421e04d6..70be858f 100644 --- a/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts +++ b/src/application/Parser/Script/Compiler/Expressions/Pipes/PipelineCompiler.ts @@ -1,5 +1,5 @@ -import { IPipeFactory, PipeFactory } from './PipeFactory'; -import { IPipelineCompiler } from './IPipelineCompiler'; +import { type IPipeFactory, PipeFactory } from './PipeFactory'; +import type { IPipelineCompiler } from './IPipelineCompiler'; export class PipelineCompiler implements IPipelineCompiler { constructor(private readonly factory: IPipeFactory = new PipeFactory()) { } diff --git a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts index 2001452a..35264750 100644 --- a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser.ts @@ -1,5 +1,5 @@ import { FunctionParameter } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter'; -import { RegexParser, IPrimitiveExpression } from '../Parser/Regex/RegexParser'; +import { RegexParser, type IPrimitiveExpression } from '../Parser/Regex/RegexParser'; import { ExpressionRegexBuilder } from '../Parser/Regex/ExpressionRegexBuilder'; export class ParameterSubstitutionParser extends RegexParser { diff --git a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts index e47151b9..be9490b4 100644 --- a/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts +++ b/src/application/Parser/Script/Compiler/Expressions/SyntaxParsers/WithParser.ts @@ -1,11 +1,11 @@ // eslint-disable-next-line max-classes-per-file -import { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser'; +import type { IExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/IExpressionParser'; import { FunctionParameterCollection } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection'; import { FunctionParameter } from '@/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter'; -import { IExpression } from '../Expression/IExpression'; import { ExpressionPosition } from '../Expression/ExpressionPosition'; import { ExpressionRegexBuilder } from '../Parser/Regex/ExpressionRegexBuilder'; import { createPositionFromRegexFullMatch } from '../Expression/ExpressionPositionFactory'; +import type { IExpression } from '../Expression/IExpression'; export class WithParser implements IExpressionParser { public findExpressions(code: string): IExpression[] { diff --git a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts index 5b37093b..cee4f790 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument.ts @@ -1,5 +1,5 @@ import { ensureValidParameterName } from '../../Shared/ParameterNameValidator'; -import { IFunctionCallArgument } from './IFunctionCallArgument'; +import type { IFunctionCallArgument } from './IFunctionCallArgument'; export class FunctionCallArgument implements IFunctionCallArgument { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts index 47e4fd10..e9fffd5a 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection.ts @@ -1,5 +1,5 @@ -import { IFunctionCallArgument } from './IFunctionCallArgument'; -import { IFunctionCallArgumentCollection } from './IFunctionCallArgumentCollection'; +import type { IFunctionCallArgument } from './IFunctionCallArgument'; +import type { IFunctionCallArgumentCollection } from './IFunctionCallArgumentCollection'; export class FunctionCallArgumentCollection implements IFunctionCallArgumentCollection { private readonly arguments = new Map(); diff --git a/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts b/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts index a5795b86..f3f76197 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection.ts @@ -1,4 +1,4 @@ -import { IFunctionCallArgument } from './IFunctionCallArgument'; +import type { IFunctionCallArgument } from './IFunctionCallArgument'; export interface IReadOnlyFunctionCallArgumentCollection { getArgument(parameterName: string): IFunctionCallArgument; diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts index 139277d1..80799423 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/CodeSegmentMerger.ts @@ -1,4 +1,4 @@ -import { CompiledCode } from '../CompiledCode'; +import type { CompiledCode } from '../CompiledCode'; export interface CodeSegmentMerger { mergeCodeParts(codeSegments: readonly CompiledCode[]): CompiledCode; diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts index 5f094978..74fa0b12 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/CodeSegmentJoin/NewlineCodeSegmentMerger.ts @@ -1,5 +1,5 @@ -import { CompiledCode } from '../CompiledCode'; -import { CodeSegmentMerger } from './CodeSegmentMerger'; +import type { CompiledCode } from '../CompiledCode'; +import type { CodeSegmentMerger } from './CodeSegmentMerger'; export class NewlineCodeSegmentMerger implements CodeSegmentMerger { public mergeCodeParts(codeSegments: readonly CompiledCode[]): CompiledCode { diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts index 02be45ba..be771431 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext.ts @@ -1,5 +1,5 @@ -import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; -import { FunctionCall } from '../FunctionCall'; +import type { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; +import type { FunctionCall } from '../FunctionCall'; import type { SingleCallCompiler } from './SingleCall/SingleCallCompiler'; export interface FunctionCallCompilationContext { diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts index 466a8f58..a0ba0969 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompiler.ts @@ -1,6 +1,6 @@ -import { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; -import { FunctionCall } from '../FunctionCall'; -import { CompiledCode } from './CompiledCode'; +import type { ISharedFunctionCollection } from '@/application/Parser/Script/Compiler/Function/ISharedFunctionCollection'; +import type { CompiledCode } from './CompiledCode'; +import type { FunctionCall } from '../FunctionCall'; export interface FunctionCallCompiler { compileFunctionCalls( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts index 12d0a8ec..25848a04 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallSequenceCompiler.ts @@ -1,12 +1,12 @@ -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { ISharedFunctionCollection } from '../../ISharedFunctionCollection'; -import { FunctionCallCompiler } from './FunctionCallCompiler'; -import { CompiledCode } from './CompiledCode'; -import { FunctionCallCompilationContext } from './FunctionCallCompilationContext'; -import { SingleCallCompiler } from './SingleCall/SingleCallCompiler'; -import { AdaptiveFunctionCallCompiler } from './SingleCall/AdaptiveFunctionCallCompiler'; -import { CodeSegmentMerger } from './CodeSegmentJoin/CodeSegmentMerger'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; import { NewlineCodeSegmentMerger } from './CodeSegmentJoin/NewlineCodeSegmentMerger'; +import { AdaptiveFunctionCallCompiler } from './SingleCall/AdaptiveFunctionCallCompiler'; +import type { ISharedFunctionCollection } from '../../ISharedFunctionCollection'; +import type { FunctionCallCompiler } from './FunctionCallCompiler'; +import type { CompiledCode } from './CompiledCode'; +import type { FunctionCallCompilationContext } from './FunctionCallCompilationContext'; +import type { SingleCallCompiler } from './SingleCall/SingleCallCompiler'; +import type { CodeSegmentMerger } from './CodeSegmentJoin/CodeSegmentMerger'; export class FunctionCallSequenceCompiler implements FunctionCallCompiler { public static readonly instance: FunctionCallCompiler = new FunctionCallSequenceCompiler(); diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts index 8e2a2c9a..e479001d 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/AdaptiveFunctionCallCompiler.ts @@ -1,12 +1,12 @@ -import { FunctionCall } from '../../FunctionCall'; -import { CompiledCode } from '../CompiledCode'; -import { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; -import { IReadOnlyFunctionCallArgumentCollection } from '../../Argument/IFunctionCallArgumentCollection'; -import { ISharedFunction } from '../../../ISharedFunction'; -import { SingleCallCompiler } from './SingleCallCompiler'; -import { SingleCallCompilerStrategy } from './SingleCallCompilerStrategy'; import { InlineFunctionCallCompiler } from './Strategies/InlineFunctionCallCompiler'; import { NestedFunctionCallCompiler } from './Strategies/NestedFunctionCallCompiler'; +import type { FunctionCall } from '../../FunctionCall'; +import type { CompiledCode } from '../CompiledCode'; +import type { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { IReadOnlyFunctionCallArgumentCollection } from '../../Argument/IFunctionCallArgumentCollection'; +import type { ISharedFunction } from '../../../ISharedFunction'; +import type { SingleCallCompiler } from './SingleCallCompiler'; +import type { SingleCallCompilerStrategy } from './SingleCallCompilerStrategy'; export class AdaptiveFunctionCallCompiler implements SingleCallCompiler { public constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts index 6b7727a9..4de474e7 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompiler.ts @@ -1,6 +1,6 @@ -import { FunctionCall } from '../../FunctionCall'; -import { CompiledCode } from '../CompiledCode'; -import { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { FunctionCall } from '../../FunctionCall'; +import type { CompiledCode } from '../CompiledCode'; export interface SingleCallCompiler { compileSingleCall( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts index 47127c24..5eab1dfa 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/SingleCallCompilerStrategy.ts @@ -1,7 +1,7 @@ -import { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { CompiledCode } from '../CompiledCode'; -import { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; +import type { ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { CompiledCode } from '../CompiledCode'; +import type { FunctionCallCompilationContext } from '../FunctionCallCompilationContext'; export interface SingleCallCompilerStrategy { canCompile(func: ISharedFunction): boolean; diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts index 4f309fb1..deafbd5f 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/ArgumentCompiler.ts @@ -1,5 +1,5 @@ -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; export interface ArgumentCompiler { createCompiledNestedCall( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts index 58882618..3a70dd49 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/Argument/NestedFunctionArgumentCompiler.ts @@ -1,12 +1,12 @@ -import { IReadOnlyFunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/IFunctionCallArgumentCollection'; import { FunctionCallArgument } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument'; import { FunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection'; import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; -import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; +import type { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; import { ParsedFunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall'; -import { ArgumentCompiler } from './ArgumentCompiler'; +import type { ArgumentCompiler } from './ArgumentCompiler'; export class NestedFunctionArgumentCompiler implements ArgumentCompiler { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts index 442833ca..051184f5 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/InlineFunctionCallCompiler.ts @@ -1,9 +1,9 @@ import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; -import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; -import { FunctionBodyType, ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; -import { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; +import type { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; +import { FunctionBodyType, type ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; +import type { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; export class InlineFunctionCallCompiler implements SingleCallCompilerStrategy { public constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts index c1042235..8680f9a0 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/Compiler/SingleCall/Strategies/NestedFunctionCallCompiler.ts @@ -1,10 +1,10 @@ -import { CallFunctionBody, FunctionBodyType, ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; -import { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; -import { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; -import { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; -import { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; -import { ArgumentCompiler } from './Argument/ArgumentCompiler'; +import { type CallFunctionBody, FunctionBodyType, type ISharedFunction } from '@/application/Parser/Script/Compiler/Function/ISharedFunction'; +import type { FunctionCall } from '@/application/Parser/Script/Compiler/Function/Call/FunctionCall'; +import type { FunctionCallCompilationContext } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/FunctionCallCompilationContext'; +import type { CompiledCode } from '@/application/Parser/Script/Compiler/Function/Call/Compiler/CompiledCode'; import { NestedFunctionArgumentCompiler } from './Argument/NestedFunctionArgumentCompiler'; +import type { SingleCallCompilerStrategy } from '../SingleCallCompilerStrategy'; +import type { ArgumentCompiler } from './Argument/ArgumentCompiler'; export class NestedFunctionCallCompiler implements SingleCallCompilerStrategy { public constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts b/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts index 0a81c52a..9a1ac232 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/FunctionCall.ts @@ -1,4 +1,4 @@ -import { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; +import type { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; export interface FunctionCall { readonly functionName: string; diff --git a/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts b/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts index 2e613041..fbd66585 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/FunctionCallParser.ts @@ -1,9 +1,9 @@ import type { FunctionCallData, FunctionCallsData, FunctionCallParametersData } from '@/application/collections/'; import { isArray, isPlainObject } from '@/TypeHelpers'; -import { FunctionCall } from './FunctionCall'; import { FunctionCallArgumentCollection } from './Argument/FunctionCallArgumentCollection'; import { FunctionCallArgument } from './Argument/FunctionCallArgument'; import { ParsedFunctionCall } from './ParsedFunctionCall'; +import type { FunctionCall } from './FunctionCall'; export function parseFunctionCalls(calls: FunctionCallsData): FunctionCall[] { const sequence = getCallSequence(calls); diff --git a/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts b/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts index e4c7a423..989b2bcf 100644 --- a/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts +++ b/src/application/Parser/Script/Compiler/Function/Call/ParsedFunctionCall.ts @@ -1,5 +1,5 @@ -import { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; -import { FunctionCall } from './FunctionCall'; +import type { FunctionCall } from './FunctionCall'; +import type { IReadOnlyFunctionCallArgumentCollection } from './Argument/IFunctionCallArgumentCollection'; export class ParsedFunctionCall implements FunctionCall { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts b/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts index 2d9d1536..0fdb7b92 100644 --- a/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts +++ b/src/application/Parser/Script/Compiler/Function/ISharedFunction.ts @@ -1,5 +1,5 @@ -import { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; -import { FunctionCall } from './Call/FunctionCall'; +import type { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; +import type { FunctionCall } from './Call/FunctionCall'; export interface ISharedFunction { readonly name: string; diff --git a/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts b/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts index d68ef504..dd2a19c4 100644 --- a/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/ISharedFunctionCollection.ts @@ -1,4 +1,4 @@ -import { ISharedFunction } from './ISharedFunction'; +import type { ISharedFunction } from './ISharedFunction'; export interface ISharedFunctionCollection { getFunctionByName(name: string): ISharedFunction; diff --git a/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts b/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts index 56a01b45..30e3ecc9 100644 --- a/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts +++ b/src/application/Parser/Script/Compiler/Function/ISharedFunctionsParser.ts @@ -1,6 +1,6 @@ import type { FunctionData } from '@/application/collections/'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; -import { ISharedFunctionCollection } from './ISharedFunctionCollection'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ISharedFunctionCollection } from './ISharedFunctionCollection'; export interface ISharedFunctionsParser { parseFunctions( diff --git a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts index c0230f5f..a2775c81 100644 --- a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts +++ b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameter.ts @@ -1,5 +1,5 @@ import { ensureValidParameterName } from '../Shared/ParameterNameValidator'; -import { IFunctionParameter } from './IFunctionParameter'; +import type { IFunctionParameter } from './IFunctionParameter'; export class FunctionParameter implements IFunctionParameter { constructor( diff --git a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts index d740d1af..ce3b9e5c 100644 --- a/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Parameter/FunctionParameterCollection.ts @@ -1,5 +1,5 @@ -import { IFunctionParameterCollection } from './IFunctionParameterCollection'; -import { IFunctionParameter } from './IFunctionParameter'; +import type { IFunctionParameterCollection } from './IFunctionParameterCollection'; +import type { IFunctionParameter } from './IFunctionParameter'; export class FunctionParameterCollection implements IFunctionParameterCollection { private parameters = new Array(); diff --git a/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts b/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts index bdd33ae4..c024d0ed 100644 --- a/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/Parameter/IFunctionParameterCollection.ts @@ -1,4 +1,4 @@ -import { IFunctionParameter } from './IFunctionParameter'; +import type { IFunctionParameter } from './IFunctionParameter'; export interface IReadOnlyFunctionParameterCollection { readonly all: readonly IFunctionParameter[]; diff --git a/src/application/Parser/Script/Compiler/Function/SharedFunction.ts b/src/application/Parser/Script/Compiler/Function/SharedFunction.ts index 753b5ab5..29261ab8 100644 --- a/src/application/Parser/Script/Compiler/Function/SharedFunction.ts +++ b/src/application/Parser/Script/Compiler/Function/SharedFunction.ts @@ -1,9 +1,8 @@ -import { FunctionCall } from './Call/FunctionCall'; - import { - FunctionBodyType, IFunctionCode, ISharedFunction, SharedFunctionBody, + FunctionBodyType, type IFunctionCode, type ISharedFunction, type SharedFunctionBody, } from './ISharedFunction'; -import { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; +import type { FunctionCall } from './Call/FunctionCall'; +import type { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; export function createCallerFunction( name: string, diff --git a/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts b/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts index 653e796e..c2f6d9b8 100644 --- a/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts +++ b/src/application/Parser/Script/Compiler/Function/SharedFunctionCollection.ts @@ -1,5 +1,5 @@ -import { ISharedFunction } from './ISharedFunction'; -import { ISharedFunctionCollection } from './ISharedFunctionCollection'; +import type { ISharedFunction } from './ISharedFunction'; +import type { ISharedFunctionCollection } from './ISharedFunctionCollection'; export class SharedFunctionCollection implements ISharedFunctionCollection { private readonly functionsByName = new Map(); diff --git a/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts b/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts index 4a9af7cc..60f8d425 100644 --- a/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts +++ b/src/application/Parser/Script/Compiler/Function/SharedFunctionsParser.ts @@ -1,21 +1,21 @@ import type { FunctionData, CodeInstruction, CodeFunctionData, CallFunctionData, CallInstruction, } from '@/application/collections/'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { CodeValidator } from '@/application/Parser/Script/Validation/CodeValidator'; import { NoEmptyLines } from '@/application/Parser/Script/Validation/Rules/NoEmptyLines'; import { NoDuplicatedLines } from '@/application/Parser/Script/Validation/Rules/NoDuplicatedLines'; -import { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; +import type { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; import { isArray, isNullOrUndefined, isPlainObject } from '@/TypeHelpers'; import { createFunctionWithInlineCode, createCallerFunction } from './SharedFunction'; import { SharedFunctionCollection } from './SharedFunctionCollection'; -import { ISharedFunctionCollection } from './ISharedFunctionCollection'; -import { ISharedFunctionsParser } from './ISharedFunctionsParser'; import { FunctionParameter } from './Parameter/FunctionParameter'; import { FunctionParameterCollection } from './Parameter/FunctionParameterCollection'; -import { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; -import { ISharedFunction } from './ISharedFunction'; import { parseFunctionCalls } from './Call/FunctionCallParser'; +import type { ISharedFunctionCollection } from './ISharedFunctionCollection'; +import type { ISharedFunctionsParser } from './ISharedFunctionsParser'; +import type { IReadOnlyFunctionParameterCollection } from './Parameter/IFunctionParameterCollection'; +import type { ISharedFunction } from './ISharedFunction'; export class SharedFunctionsParser implements ISharedFunctionsParser { public static readonly instance: ISharedFunctionsParser = new SharedFunctionsParser(); diff --git a/src/application/Parser/Script/Compiler/IScriptCompiler.ts b/src/application/Parser/Script/Compiler/IScriptCompiler.ts index e90a8801..9db2d593 100644 --- a/src/application/Parser/Script/Compiler/IScriptCompiler.ts +++ b/src/application/Parser/Script/Compiler/IScriptCompiler.ts @@ -1,5 +1,5 @@ import type { ScriptData } from '@/application/collections/'; -import { IScriptCode } from '@/domain/IScriptCode'; +import type { IScriptCode } from '@/domain/IScriptCode'; export interface IScriptCompiler { canCompile(script: ScriptData): boolean; diff --git a/src/application/Parser/Script/Compiler/ScriptCompiler.ts b/src/application/Parser/Script/Compiler/ScriptCompiler.ts index e333a72b..2e516118 100644 --- a/src/application/Parser/Script/Compiler/ScriptCompiler.ts +++ b/src/application/Parser/Script/Compiler/ScriptCompiler.ts @@ -1,18 +1,18 @@ import type { FunctionData, ScriptData, CallInstruction } from '@/application/collections/'; -import { IScriptCode } from '@/domain/IScriptCode'; +import type { IScriptCode } from '@/domain/IScriptCode'; import { ScriptCode } from '@/domain/ScriptCode'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { CodeValidator } from '@/application/Parser/Script/Validation/CodeValidator'; import { NoEmptyLines } from '@/application/Parser/Script/Validation/Rules/NoEmptyLines'; -import { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; -import { IScriptCompiler } from './IScriptCompiler'; -import { ISharedFunctionCollection } from './Function/ISharedFunctionCollection'; -import { FunctionCallSequenceCompiler } from './Function/Call/Compiler/FunctionCallSequenceCompiler'; -import { FunctionCallCompiler } from './Function/Call/Compiler/FunctionCallCompiler'; -import { ISharedFunctionsParser } from './Function/ISharedFunctionsParser'; +import type { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; import { SharedFunctionsParser } from './Function/SharedFunctionsParser'; +import { FunctionCallSequenceCompiler } from './Function/Call/Compiler/FunctionCallSequenceCompiler'; import { parseFunctionCalls } from './Function/Call/FunctionCallParser'; -import { CompiledCode } from './Function/Call/Compiler/CompiledCode'; +import type { CompiledCode } from './Function/Call/Compiler/CompiledCode'; +import type { IScriptCompiler } from './IScriptCompiler'; +import type { ISharedFunctionCollection } from './Function/ISharedFunctionCollection'; +import type { FunctionCallCompiler } from './Function/Call/Compiler/FunctionCallCompiler'; +import type { ISharedFunctionsParser } from './Function/ISharedFunctionsParser'; export class ScriptCompiler implements IScriptCompiler { private readonly functions: ISharedFunctionCollection; diff --git a/src/application/Parser/Script/ICategoryCollectionParseContext.ts b/src/application/Parser/Script/ICategoryCollectionParseContext.ts index 0bac0f65..d841ce76 100644 --- a/src/application/Parser/Script/ICategoryCollectionParseContext.ts +++ b/src/application/Parser/Script/ICategoryCollectionParseContext.ts @@ -1,5 +1,5 @@ -import { IScriptCompiler } from './Compiler/IScriptCompiler'; -import { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; +import type { IScriptCompiler } from './Compiler/IScriptCompiler'; +import type { ILanguageSyntax } from './Validation/Syntax/ILanguageSyntax'; export interface ICategoryCollectionParseContext { readonly compiler: IScriptCompiler; diff --git a/src/application/Parser/Script/ScriptParser.ts b/src/application/Parser/Script/ScriptParser.ts index adb3d20f..9db5c64b 100644 --- a/src/application/Parser/Script/ScriptParser.ts +++ b/src/application/Parser/Script/ScriptParser.ts @@ -1,18 +1,18 @@ import type { ScriptData, CodeScriptData, CallScriptData } from '@/application/collections/'; import { NoEmptyLines } from '@/application/Parser/Script/Validation/Rules/NoEmptyLines'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { Script } from '@/domain/Script'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; -import { IScriptCode } from '@/domain/IScriptCode'; +import type { IScriptCode } from '@/domain/IScriptCode'; import { ScriptCode } from '@/domain/ScriptCode'; -import { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; +import type { ICodeValidator } from '@/application/Parser/Script/Validation/ICodeValidator'; import { parseDocs } from '../DocumentationParser'; -import { createEnumParser, IEnumParser } from '../../Common/Enum'; +import { createEnumParser, type IEnumParser } from '../../Common/Enum'; import { NodeType } from '../NodeValidation/NodeType'; import { NodeValidator } from '../NodeValidation/NodeValidator'; -import { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; import { CodeValidator } from './Validation/CodeValidator'; import { NoDuplicatedLines } from './Validation/Rules/NoDuplicatedLines'; +import type { ICategoryCollectionParseContext } from './ICategoryCollectionParseContext'; export function parseScript( data: ScriptData, diff --git a/src/application/Parser/Script/Validation/CodeValidator.ts b/src/application/Parser/Script/Validation/CodeValidator.ts index 42f3e22d..f3778ab3 100644 --- a/src/application/Parser/Script/Validation/CodeValidator.ts +++ b/src/application/Parser/Script/Validation/CodeValidator.ts @@ -1,6 +1,6 @@ -import { ICodeValidationRule, IInvalidCodeLine } from './ICodeValidationRule'; -import { ICodeValidator } from './ICodeValidator'; -import { ICodeLine } from './ICodeLine'; +import type { ICodeLine } from './ICodeLine'; +import type { ICodeValidationRule, IInvalidCodeLine } from './ICodeValidationRule'; +import type { ICodeValidator } from './ICodeValidator'; export class CodeValidator implements ICodeValidator { public static readonly instance: ICodeValidator = new CodeValidator(); diff --git a/src/application/Parser/Script/Validation/ICodeValidationRule.ts b/src/application/Parser/Script/Validation/ICodeValidationRule.ts index 97843afe..02d3658f 100644 --- a/src/application/Parser/Script/Validation/ICodeValidationRule.ts +++ b/src/application/Parser/Script/Validation/ICodeValidationRule.ts @@ -1,4 +1,4 @@ -import { ICodeLine } from './ICodeLine'; +import type { ICodeLine } from './ICodeLine'; export interface IInvalidCodeLine { readonly index: number; diff --git a/src/application/Parser/Script/Validation/ICodeValidator.ts b/src/application/Parser/Script/Validation/ICodeValidator.ts index 95996739..296f2c30 100644 --- a/src/application/Parser/Script/Validation/ICodeValidator.ts +++ b/src/application/Parser/Script/Validation/ICodeValidator.ts @@ -1,4 +1,4 @@ -import { ICodeValidationRule } from './ICodeValidationRule'; +import type { ICodeValidationRule } from './ICodeValidationRule'; export interface ICodeValidator { throwIfInvalid( diff --git a/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts b/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts index 0d0ce03d..2fa9b06e 100644 --- a/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts +++ b/src/application/Parser/Script/Validation/Rules/NoDuplicatedLines.ts @@ -1,6 +1,6 @@ -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; -import { ICodeLine } from '../ICodeLine'; -import { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ICodeLine } from '../ICodeLine'; +import type { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; export class NoDuplicatedLines implements ICodeValidationRule { constructor(private readonly syntax: ILanguageSyntax) { } diff --git a/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts b/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts index 9d823a1f..4b0861ad 100644 --- a/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts +++ b/src/application/Parser/Script/Validation/Rules/NoEmptyLines.ts @@ -1,5 +1,5 @@ -import { ICodeLine } from '../ICodeLine'; -import { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; +import type { ICodeValidationRule, IInvalidCodeLine } from '../ICodeValidationRule'; +import type { ICodeLine } from '../ICodeLine'; export class NoEmptyLines implements ICodeValidationRule { public analyze(lines: readonly ICodeLine[]): IInvalidCodeLine[] { diff --git a/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts b/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts index e4c9e7f4..f7913efc 100644 --- a/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts +++ b/src/application/Parser/Script/Validation/Syntax/BatchFileSyntax.ts @@ -1,4 +1,4 @@ -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; const BatchFileCommonCodeParts = ['(', ')', 'else', '||']; const PowerShellCommonCodeParts = ['{', '}']; diff --git a/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts b/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts index 292b980d..e3c6bda0 100644 --- a/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts +++ b/src/application/Parser/Script/Validation/Syntax/ISyntaxFactory.ts @@ -1,4 +1,4 @@ -import { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; -import { ILanguageSyntax } from './ILanguageSyntax'; +import type { IScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/IScriptingLanguageFactory'; +import type { ILanguageSyntax } from './ILanguageSyntax'; export type ISyntaxFactory = IScriptingLanguageFactory; diff --git a/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts b/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts index 7fa82968..892ffb31 100644 --- a/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts +++ b/src/application/Parser/Script/Validation/Syntax/ShellScriptSyntax.ts @@ -1,4 +1,4 @@ -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; export class ShellScriptSyntax implements ILanguageSyntax { public readonly commentDelimiters = ['#']; diff --git a/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts b/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts index bf1f37d8..5d981251 100644 --- a/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts +++ b/src/application/Parser/Script/Validation/Syntax/SyntaxFactory.ts @@ -1,9 +1,9 @@ import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import { ScriptingLanguageFactory } from '@/application/Common/ScriptingLanguage/ScriptingLanguageFactory'; -import { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; +import type { ILanguageSyntax } from '@/application/Parser/Script/Validation/Syntax/ILanguageSyntax'; import { BatchFileSyntax } from './BatchFileSyntax'; import { ShellScriptSyntax } from './ShellScriptSyntax'; -import { ISyntaxFactory } from './ISyntaxFactory'; +import type { ISyntaxFactory } from './ISyntaxFactory'; export class SyntaxFactory extends ScriptingLanguageFactory diff --git a/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts b/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts index 518202c1..82ef3010 100644 --- a/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts +++ b/src/application/Parser/ScriptingDefinition/CodeSubstituter.ts @@ -1,11 +1,11 @@ -import { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; +import type { IExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/IExpressionsCompiler'; import { ParameterSubstitutionParser } from '@/application/Parser/Script/Compiler/Expressions/SyntaxParsers/ParameterSubstitutionParser'; import { CompositeExpressionParser } from '@/application/Parser/Script/Compiler/Expressions/Parser/CompositeExpressionParser'; import { ExpressionsCompiler } from '@/application/Parser/Script/Compiler/Expressions/ExpressionsCompiler'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { FunctionCallArgumentCollection } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgumentCollection'; import { FunctionCallArgument } from '@/application/Parser/Script/Compiler/Function/Call/Argument/FunctionCallArgument'; -import { ICodeSubstituter } from './ICodeSubstituter'; +import type { ICodeSubstituter } from './ICodeSubstituter'; export class CodeSubstituter implements ICodeSubstituter { constructor( diff --git a/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts b/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts index 6a9c2bb5..e8fb465b 100644 --- a/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts +++ b/src/application/Parser/ScriptingDefinition/ScriptingDefinitionParser.ts @@ -1,11 +1,11 @@ import type { ScriptingDefinitionData } from '@/application/collections/'; -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { ScriptingDefinition } from '@/domain/ScriptingDefinition'; import { ScriptingLanguage } from '@/domain/ScriptingLanguage'; import type { ProjectDetails } from '@/domain/Project/ProjectDetails'; import { createEnumParser } from '../../Common/Enum'; -import { ICodeSubstituter } from './ICodeSubstituter'; import { CodeSubstituter } from './CodeSubstituter'; +import type { ICodeSubstituter } from './ICodeSubstituter'; export class ScriptingDefinitionParser { constructor( diff --git a/src/application/Repository/Repository.ts b/src/application/Repository/Repository.ts index dd364978..6232598a 100644 --- a/src/application/Repository/Repository.ts +++ b/src/application/Repository/Repository.ts @@ -1,4 +1,4 @@ -import { IEntity } from '@/infrastructure/Entity/IEntity'; +import type { IEntity } from '@/infrastructure/Entity/IEntity'; export interface ReadonlyRepository> { readonly length: number; diff --git a/src/domain/Application.ts b/src/domain/Application.ts index e6171523..2fc1230d 100644 --- a/src/domain/Application.ts +++ b/src/domain/Application.ts @@ -1,7 +1,7 @@ -import { IApplication } from './IApplication'; -import { ICategoryCollection } from './ICategoryCollection'; -import { ProjectDetails } from './Project/ProjectDetails'; import { OperatingSystem } from './OperatingSystem'; +import type { IApplication } from './IApplication'; +import type { ICategoryCollection } from './ICategoryCollection'; +import type { ProjectDetails } from './Project/ProjectDetails'; export class Application implements IApplication { constructor( diff --git a/src/domain/Category.ts b/src/domain/Category.ts index 2ce6c9d7..38e68b1f 100644 --- a/src/domain/Category.ts +++ b/src/domain/Category.ts @@ -1,6 +1,6 @@ import { BaseEntity } from '../infrastructure/Entity/BaseEntity'; -import { IScript } from './IScript'; -import { ICategory } from './ICategory'; +import type { ICategory } from './ICategory'; +import type { IScript } from './IScript'; export class Category extends BaseEntity implements ICategory { private allSubScripts?: ReadonlyArray = undefined; diff --git a/src/domain/CategoryCollection.ts b/src/domain/CategoryCollection.ts index 83f3b362..ff50d139 100644 --- a/src/domain/CategoryCollection.ts +++ b/src/domain/CategoryCollection.ts @@ -1,11 +1,11 @@ import { getEnumValues, assertInRange } from '@/application/Common/Enum'; -import { IEntity } from '../infrastructure/Entity/IEntity'; -import { ICategory } from './ICategory'; -import { IScript } from './IScript'; import { RecommendationLevel } from './RecommendationLevel'; import { OperatingSystem } from './OperatingSystem'; -import { IScriptingDefinition } from './IScriptingDefinition'; -import { ICategoryCollection } from './ICategoryCollection'; +import type { IEntity } from '../infrastructure/Entity/IEntity'; +import type { ICategory } from './ICategory'; +import type { IScript } from './IScript'; +import type { IScriptingDefinition } from './IScriptingDefinition'; +import type { ICategoryCollection } from './ICategoryCollection'; export class CategoryCollection implements ICategoryCollection { public get totalScripts(): number { return this.queryable.allScripts.length; } diff --git a/src/domain/IApplication.ts b/src/domain/IApplication.ts index 308f9278..0cdf6503 100644 --- a/src/domain/IApplication.ts +++ b/src/domain/IApplication.ts @@ -1,6 +1,6 @@ -import { ICategoryCollection } from './ICategoryCollection'; -import { ProjectDetails } from './Project/ProjectDetails'; -import { OperatingSystem } from './OperatingSystem'; +import type { ICategoryCollection } from './ICategoryCollection'; +import type { ProjectDetails } from './Project/ProjectDetails'; +import type { OperatingSystem } from './OperatingSystem'; export interface IApplication { readonly projectDetails: ProjectDetails; diff --git a/src/domain/ICategory.ts b/src/domain/ICategory.ts index 2413cd09..4cfefe9d 100644 --- a/src/domain/ICategory.ts +++ b/src/domain/ICategory.ts @@ -1,6 +1,6 @@ -import { IEntity } from '../infrastructure/Entity/IEntity'; -import { IScript } from './IScript'; -import { IDocumentable } from './IDocumentable'; +import type { IEntity } from '../infrastructure/Entity/IEntity'; +import type { IScript } from './IScript'; +import type { IDocumentable } from './IDocumentable'; export interface ICategory extends IEntity, IDocumentable { readonly id: number; @@ -11,5 +11,5 @@ export interface ICategory extends IEntity, IDocumentable { getAllScriptsRecursively(): ReadonlyArray; } -export { IEntity } from '../infrastructure/Entity/IEntity'; -export { IScript } from './IScript'; +export type { IEntity } from '../infrastructure/Entity/IEntity'; +export type { IScript } from './IScript'; diff --git a/src/domain/ICategoryCollection.ts b/src/domain/ICategoryCollection.ts index 913d8b00..dd05ebb8 100644 --- a/src/domain/ICategoryCollection.ts +++ b/src/domain/ICategoryCollection.ts @@ -1,8 +1,8 @@ -import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; +import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; -import { IScript } from '@/domain/IScript'; -import { ICategory } from '@/domain/ICategory'; +import type { IScript } from '@/domain/IScript'; +import type { ICategory } from '@/domain/ICategory'; export interface ICategoryCollection { readonly scripting: IScriptingDefinition; diff --git a/src/domain/IScript.ts b/src/domain/IScript.ts index a02fcc06..5ee1634c 100644 --- a/src/domain/IScript.ts +++ b/src/domain/IScript.ts @@ -1,7 +1,7 @@ -import { IEntity } from '../infrastructure/Entity/IEntity'; -import { IDocumentable } from './IDocumentable'; import { RecommendationLevel } from './RecommendationLevel'; -import { IScriptCode } from './IScriptCode'; +import type { IEntity } from '../infrastructure/Entity/IEntity'; +import type { IDocumentable } from './IDocumentable'; +import type { IScriptCode } from './IScriptCode'; export interface IScript extends IEntity, IDocumentable { readonly name: string; diff --git a/src/domain/Script.ts b/src/domain/Script.ts index a852effc..79ba3cfb 100644 --- a/src/domain/Script.ts +++ b/src/domain/Script.ts @@ -1,7 +1,7 @@ import { BaseEntity } from '@/infrastructure/Entity/BaseEntity'; -import { IScript } from './IScript'; import { RecommendationLevel } from './RecommendationLevel'; -import { IScriptCode } from './IScriptCode'; +import type { IScript } from './IScript'; +import type { IScriptCode } from './IScriptCode'; export class Script extends BaseEntity implements IScript { constructor( diff --git a/src/domain/ScriptCode.ts b/src/domain/ScriptCode.ts index 51eb56bd..08924eb8 100644 --- a/src/domain/ScriptCode.ts +++ b/src/domain/ScriptCode.ts @@ -1,4 +1,4 @@ -import { IScriptCode } from './IScriptCode'; +import type { IScriptCode } from './IScriptCode'; export class ScriptCode implements IScriptCode { constructor( diff --git a/src/domain/ScriptingDefinition.ts b/src/domain/ScriptingDefinition.ts index fe425c25..47a996fb 100644 --- a/src/domain/ScriptingDefinition.ts +++ b/src/domain/ScriptingDefinition.ts @@ -1,5 +1,5 @@ import { ScriptingLanguage } from './ScriptingLanguage'; -import { IScriptingDefinition } from './IScriptingDefinition'; +import type { IScriptingDefinition } from './IScriptingDefinition'; export class ScriptingDefinition implements IScriptingDefinition { public readonly fileExtension: string; diff --git a/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts b/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts index 023015c8..8b2b1e44 100644 --- a/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts +++ b/src/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider.ts @@ -1,9 +1,9 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; -import { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; -import { SystemOperations } from '../../System/SystemOperations'; +import type { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; import { NodeElectronSystemOperations } from '../../System/NodeElectronSystemOperations'; -import { ScriptDirectoryOutcome, ScriptDirectoryProvider } from './ScriptDirectoryProvider'; +import type { SystemOperations } from '../../System/SystemOperations'; +import type { ScriptDirectoryOutcome, ScriptDirectoryProvider } from './ScriptDirectoryProvider'; export const ExecutionSubdirectory = 'runs'; diff --git a/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts b/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts index 5a09f305..c15980ea 100644 --- a/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts +++ b/src/infrastructure/CodeRunner/Creation/Directory/ScriptDirectoryProvider.ts @@ -1,4 +1,4 @@ -import { CodeRunError } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunError } from '@/application/CodeRunner/CodeRunner'; export interface ScriptDirectoryProvider { provideScriptDirectory(): Promise; diff --git a/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts b/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts index b03f173c..f95202f1 100644 --- a/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts +++ b/src/infrastructure/CodeRunner/Creation/Filename/FilenameGenerator.ts @@ -1,4 +1,4 @@ -import { ScriptFilenameParts } from '../ScriptFileCreator'; +import type { ScriptFilenameParts } from '../ScriptFileCreator'; export interface FilenameGenerator { generateFilename(scriptFilenameParts: ScriptFilenameParts): string; diff --git a/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts b/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts index c7626c31..b876424f 100644 --- a/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts +++ b/src/infrastructure/CodeRunner/Creation/Filename/TimestampedFilenameGenerator.ts @@ -1,5 +1,5 @@ -import { ScriptFilenameParts } from '../ScriptFileCreator'; -import { FilenameGenerator } from './FilenameGenerator'; +import type { FilenameGenerator } from './FilenameGenerator'; +import type { ScriptFilenameParts } from '../ScriptFileCreator'; export class TimestampedFilenameGenerator implements FilenameGenerator { public generateFilename( diff --git a/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts b/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts index abad6da6..d2bd469c 100644 --- a/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts +++ b/src/infrastructure/CodeRunner/Creation/ScriptFileCreationOrchestrator.ts @@ -1,15 +1,15 @@ import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; -import { Logger } from '@/application/Common/Log/Logger'; -import { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; -import { FileReadbackVerificationErrors, ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { CodeRunError, CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; +import { FileReadbackVerificationErrors, type ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; import { NodeReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter'; -import { SystemOperations } from '../System/SystemOperations'; import { NodeElectronSystemOperations } from '../System/NodeElectronSystemOperations'; -import { FilenameGenerator } from './Filename/FilenameGenerator'; -import { ScriptFilenameParts, ScriptFileCreator, ScriptFileCreationOutcome } from './ScriptFileCreator'; import { TimestampedFilenameGenerator } from './Filename/TimestampedFilenameGenerator'; -import { ScriptDirectoryProvider } from './Directory/ScriptDirectoryProvider'; import { PersistentDirectoryProvider } from './Directory/PersistentDirectoryProvider'; +import type { SystemOperations } from '../System/SystemOperations'; +import type { FilenameGenerator } from './Filename/FilenameGenerator'; +import type { ScriptFilenameParts, ScriptFileCreator, ScriptFileCreationOutcome } from './ScriptFileCreator'; +import type { ScriptDirectoryProvider } from './Directory/ScriptDirectoryProvider'; export class ScriptFileCreationOrchestrator implements ScriptFileCreator { constructor( diff --git a/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts b/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts index 3ab60422..5d5af30f 100644 --- a/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts +++ b/src/infrastructure/CodeRunner/Creation/ScriptFileCreator.ts @@ -1,4 +1,4 @@ -import { CodeRunError } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunError } from '@/application/CodeRunner/CodeRunner'; export interface ScriptFileCreator { createScriptFile( diff --git a/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts b/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts index b2de5f01..e44019a2 100644 --- a/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts +++ b/src/infrastructure/CodeRunner/Execution/ScriptFileExecutor.ts @@ -1,4 +1,4 @@ -import { CodeRunError } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunError } from '@/application/CodeRunner/CodeRunner'; export interface ScriptFileExecutor { executeScriptFile(filePath: string): Promise; diff --git a/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts b/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts index 882bbe90..2289ec6c 100644 --- a/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts +++ b/src/infrastructure/CodeRunner/Execution/VisibleTerminalScriptFileExecutor.ts @@ -1,13 +1,13 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { CommandOps, SystemOperations } from '@/infrastructure/CodeRunner/System/SystemOperations'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { CommandOps, SystemOperations } from '@/infrastructure/CodeRunner/System/SystemOperations'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; -import { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; +import type { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; import { NodeElectronSystemOperations } from '@/infrastructure/CodeRunner/System/NodeElectronSystemOperations'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; -import { CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; +import type { CodeRunErrorType } from '@/application/CodeRunner/CodeRunner'; import { isString } from '@/TypeHelpers'; -import { FailedScriptFileExecution, ScriptFileExecutionOutcome, ScriptFileExecutor } from './ScriptFileExecutor'; +import type { FailedScriptFileExecution, ScriptFileExecutionOutcome, ScriptFileExecutor } from './ScriptFileExecutor'; export class VisibleTerminalScriptExecutor implements ScriptFileExecutor { constructor( diff --git a/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts b/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts index f330d29d..20965bbc 100644 --- a/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts +++ b/src/infrastructure/CodeRunner/ScriptFileCodeRunner.ts @@ -1,13 +1,13 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ScriptFilename } from '@/application/CodeRunner/ScriptFilename'; -import { +import type { CodeRunError, CodeRunOutcome, CodeRunner, FailedCodeRun, } from '@/application/CodeRunner/CodeRunner'; import { ElectronLogger } from '../Log/ElectronLogger'; -import { ScriptFileExecutor } from './Execution/ScriptFileExecutor'; -import { ScriptFileCreator } from './Creation/ScriptFileCreator'; -import { ScriptFileCreationOrchestrator } from './Creation/ScriptFileCreationOrchestrator'; import { VisibleTerminalScriptExecutor } from './Execution/VisibleTerminalScriptFileExecutor'; +import { ScriptFileCreationOrchestrator } from './Creation/ScriptFileCreationOrchestrator'; +import type { ScriptFileExecutor } from './Execution/ScriptFileExecutor'; +import type { ScriptFileCreator } from './Creation/ScriptFileCreator'; export class ScriptFileCodeRunner implements CodeRunner { constructor( diff --git a/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts b/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts index e3eea4c3..6892c1ed 100644 --- a/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts +++ b/src/infrastructure/CodeRunner/System/NodeElectronSystemOperations.ts @@ -2,7 +2,7 @@ import { join } from 'node:path'; import { chmod, mkdir } from 'node:fs/promises'; import { exec } from 'node:child_process'; import { app } from 'electron/main'; -import { +import type { CommandOps, FileSystemOps, LocationOps, OperatingSystemOps, SystemOperations, } from './SystemOperations'; diff --git a/src/infrastructure/Dialog/Browser/BrowserDialog.ts b/src/infrastructure/Dialog/Browser/BrowserDialog.ts index d08de04d..bbb2dcc7 100644 --- a/src/infrastructure/Dialog/Browser/BrowserDialog.ts +++ b/src/infrastructure/Dialog/Browser/BrowserDialog.ts @@ -1,6 +1,6 @@ -import { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; import { FileSaverDialog } from './FileSaverDialog'; -import { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; +import type { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; export class BrowserDialog implements Dialog { constructor( diff --git a/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts b/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts index c32d9dbb..c899f323 100644 --- a/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Browser/BrowserSaveFileDialog.ts @@ -1,4 +1,4 @@ -import { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; export interface BrowserSaveFileDialog { saveFile( diff --git a/src/infrastructure/Dialog/Browser/FileSaverDialog.ts b/src/infrastructure/Dialog/Browser/FileSaverDialog.ts index 6c4078dd..b29e565d 100644 --- a/src/infrastructure/Dialog/Browser/FileSaverDialog.ts +++ b/src/infrastructure/Dialog/Browser/FileSaverDialog.ts @@ -1,6 +1,6 @@ import fileSaver from 'file-saver'; -import { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; -import { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; +import { FileType, type SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { BrowserSaveFileDialog } from './BrowserSaveFileDialog'; export type SaveAsFunction = (data: Blob, filename?: string) => void; diff --git a/src/infrastructure/Dialog/Electron/ElectronDialog.ts b/src/infrastructure/Dialog/Electron/ElectronDialog.ts index c5922f8e..08d7b2b5 100644 --- a/src/infrastructure/Dialog/Electron/ElectronDialog.ts +++ b/src/infrastructure/Dialog/Electron/ElectronDialog.ts @@ -1,7 +1,7 @@ import { dialog } from 'electron/main'; -import { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { Dialog, FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; import { NodeElectronSaveFileDialog } from './NodeElectronSaveFileDialog'; -import { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; +import type { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; export class ElectronDialog implements Dialog { constructor( diff --git a/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts b/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts index 905b84f1..fb81c272 100644 --- a/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Electron/ElectronSaveFileDialog.ts @@ -1,4 +1,4 @@ -import { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; +import type { FileType, SaveFileOutcome } from '@/presentation/common/Dialog'; export interface ElectronSaveFileDialog { saveFile( diff --git a/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts b/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts index 9ff98087..5cb91799 100644 --- a/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts +++ b/src/infrastructure/Dialog/Electron/NodeElectronSaveFileDialog.ts @@ -1,13 +1,13 @@ import { join } from 'node:path'; import { app, dialog } from 'electron/main'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '@/infrastructure/Log/ElectronLogger'; import { - FileType, SaveFileError, SaveFileErrorType, SaveFileOutcome, + FileType, type SaveFileError, type SaveFileErrorType, type SaveFileOutcome, } from '@/presentation/common/Dialog'; -import { FileReadbackVerificationErrors, ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; +import { FileReadbackVerificationErrors, type ReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/ReadbackFileWriter'; import { NodeReadbackFileWriter } from '@/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter'; -import { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; +import type { ElectronSaveFileDialog } from './ElectronSaveFileDialog'; export class NodeElectronSaveFileDialog implements ElectronSaveFileDialog { constructor( @@ -16,7 +16,7 @@ export class NodeElectronSaveFileDialog implements ElectronSaveFileDialog { getUserDownloadsPath: () => app.getPath('downloads'), showSaveDialog: dialog.showSaveDialog.bind(dialog), }, - private readonly node: NodeFileOperations = { join }, + private readonly node: NodePathOperations = { join }, private readonly fileWriter: ReadbackFileWriter = new NodeReadbackFileWriter(), ) { } @@ -136,7 +136,7 @@ export interface ElectronFileDialogOperations { showSaveDialog(options: Electron.SaveDialogOptions): Promise; } -export interface NodeFileOperations { +export interface NodePathOperations { readonly join: typeof join; } diff --git a/src/infrastructure/Dialog/LoggingDialogDecorator.ts b/src/infrastructure/Dialog/LoggingDialogDecorator.ts index 580be3ca..66ec5d4a 100644 --- a/src/infrastructure/Dialog/LoggingDialogDecorator.ts +++ b/src/infrastructure/Dialog/LoggingDialogDecorator.ts @@ -1,5 +1,5 @@ -import { Logger } from '@/application/Common/Log/Logger'; -import { Dialog, FileType } from '@/presentation/common/Dialog'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { Dialog, FileType } from '@/presentation/common/Dialog'; export function decorateWithLogging( dialog: Dialog, diff --git a/src/infrastructure/Entity/BaseEntity.ts b/src/infrastructure/Entity/BaseEntity.ts index 5c3958cf..caa212aa 100644 --- a/src/infrastructure/Entity/BaseEntity.ts +++ b/src/infrastructure/Entity/BaseEntity.ts @@ -1,5 +1,5 @@ import { isNumber } from '@/TypeHelpers'; -import { IEntity } from './IEntity'; +import type { IEntity } from './IEntity'; export abstract class BaseEntity implements IEntity { protected constructor(public id: TId) { diff --git a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts index 9d333623..2579f897 100644 --- a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts +++ b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory.ts @@ -1,7 +1,7 @@ -import { IEnvironmentVariablesFactory } from './IEnvironmentVariablesFactory'; import { validateEnvironmentVariables } from './EnvironmentVariablesValidator'; import { ViteEnvironmentVariables } from './Vite/ViteEnvironmentVariables'; -import { IEnvironmentVariables } from './IEnvironmentVariables'; +import type { IEnvironmentVariablesFactory } from './IEnvironmentVariablesFactory'; +import type { IEnvironmentVariables } from './IEnvironmentVariables'; export class EnvironmentVariablesFactory implements IEnvironmentVariablesFactory { public static readonly Current = new EnvironmentVariablesFactory(); diff --git a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts index 4b20ae17..9e03ca87 100644 --- a/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts +++ b/src/infrastructure/EnvironmentVariables/EnvironmentVariablesValidator.ts @@ -1,5 +1,5 @@ import { isBoolean, isFunction } from '@/TypeHelpers'; -import { IEnvironmentVariables } from './IEnvironmentVariables'; +import type { IEnvironmentVariables } from './IEnvironmentVariables'; /* Validation is externalized to keep the environment objects simple */ export function validateEnvironmentVariables(environment: IEnvironmentVariables): void { diff --git a/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts b/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts index 0255655f..139abf9c 100644 --- a/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts +++ b/src/infrastructure/EnvironmentVariables/IEnvironmentVariables.ts @@ -1,4 +1,4 @@ -import { IAppMetadata } from './IAppMetadata'; +import type { IAppMetadata } from './IAppMetadata'; /** * Designed to decouple the process of retrieving environment variables diff --git a/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts b/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts index 26d1e569..058ab07e 100644 --- a/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts +++ b/src/infrastructure/EnvironmentVariables/IEnvironmentVariablesFactory.ts @@ -1,4 +1,4 @@ -import { IEnvironmentVariables } from './IEnvironmentVariables'; +import type { IEnvironmentVariables } from './IEnvironmentVariables'; export interface IEnvironmentVariablesFactory { readonly instance: IEnvironmentVariables; diff --git a/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts b/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts index 2d3f5b70..686b35b4 100644 --- a/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts +++ b/src/infrastructure/EnvironmentVariables/Vite/ViteEnvironmentVariables.ts @@ -1,4 +1,4 @@ -import { IEnvironmentVariables } from '../IEnvironmentVariables'; +import type { IEnvironmentVariables } from '../IEnvironmentVariables'; /** * Provides the application's environment variables. diff --git a/src/infrastructure/Events/EventSource.ts b/src/infrastructure/Events/EventSource.ts index b302d784..0c23b1bf 100644 --- a/src/infrastructure/Events/EventSource.ts +++ b/src/infrastructure/Events/EventSource.ts @@ -1,4 +1,4 @@ -import { EventHandler, IEventSource, IEventSubscription } from './IEventSource'; +import type { EventHandler, IEventSource, IEventSubscription } from './IEventSource'; export class EventSource implements IEventSource { private handlers = new Map>(); diff --git a/src/infrastructure/Events/EventSubscriptionCollection.ts b/src/infrastructure/Events/EventSubscriptionCollection.ts index 0d299f08..35e49ce4 100644 --- a/src/infrastructure/Events/EventSubscriptionCollection.ts +++ b/src/infrastructure/Events/EventSubscriptionCollection.ts @@ -1,5 +1,5 @@ -import { IEventSubscriptionCollection } from './IEventSubscriptionCollection'; -import { IEventSubscription } from './IEventSource'; +import type { IEventSubscriptionCollection } from './IEventSubscriptionCollection'; +import type { IEventSubscription } from './IEventSource'; export class EventSubscriptionCollection implements IEventSubscriptionCollection { private readonly subscriptions = new Array(); diff --git a/src/infrastructure/Events/IEventSubscriptionCollection.ts b/src/infrastructure/Events/IEventSubscriptionCollection.ts index 1836cc4e..4fa0a2af 100644 --- a/src/infrastructure/Events/IEventSubscriptionCollection.ts +++ b/src/infrastructure/Events/IEventSubscriptionCollection.ts @@ -1,4 +1,4 @@ -import { IEventSubscription } from '@/infrastructure/Events/IEventSource'; +import type { IEventSubscription } from '@/infrastructure/Events/IEventSource'; export interface IEventSubscriptionCollection { readonly subscriptionCount: number; diff --git a/src/infrastructure/Log/ConsoleLogger.ts b/src/infrastructure/Log/ConsoleLogger.ts index 3a417671..2dc20497 100644 --- a/src/infrastructure/Log/ConsoleLogger.ts +++ b/src/infrastructure/Log/ConsoleLogger.ts @@ -1,4 +1,4 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; export class ConsoleLogger implements Logger { constructor(private readonly consoleProxy: ConsoleLogFunctions = globalThis.console) { diff --git a/src/infrastructure/Log/ElectronLogger.ts b/src/infrastructure/Log/ElectronLogger.ts index c25f68e9..4b1e10f3 100644 --- a/src/infrastructure/Log/ElectronLogger.ts +++ b/src/infrastructure/Log/ElectronLogger.ts @@ -1,5 +1,5 @@ import log from 'electron-log/main'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import type { LogFunctions } from 'electron-log'; export function createElectronLogger(logger: LogFunctions = log): Logger { diff --git a/src/infrastructure/Log/NoopLogger.ts b/src/infrastructure/Log/NoopLogger.ts index e9c6e858..8954de9b 100644 --- a/src/infrastructure/Log/NoopLogger.ts +++ b/src/infrastructure/Log/NoopLogger.ts @@ -1,4 +1,4 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; export class NoopLogger implements Logger { public info(): void { /* NOOP */ } diff --git a/src/infrastructure/Log/WindowInjectedLogger.ts b/src/infrastructure/Log/WindowInjectedLogger.ts index cf4e172a..64b90743 100644 --- a/src/infrastructure/Log/WindowInjectedLogger.ts +++ b/src/infrastructure/Log/WindowInjectedLogger.ts @@ -1,5 +1,5 @@ -import { Logger } from '@/application/Common/Log/Logger'; -import { WindowVariables } from '../WindowVariables/WindowVariables'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { WindowVariables } from '../WindowVariables/WindowVariables'; export class WindowInjectedLogger implements Logger { private readonly logger: Logger; diff --git a/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts b/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts index ea5042ed..36ca12b6 100644 --- a/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts +++ b/src/infrastructure/ReadbackFileWriter/NodeReadbackFileWriter.ts @@ -1,8 +1,8 @@ import { writeFile, access, readFile } from 'node:fs/promises'; import { constants } from 'node:fs'; -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ElectronLogger } from '../Log/ElectronLogger'; -import { +import type { FailedFileWrite, ReadbackFileWriter, FileWriteErrorType, FileWriteOutcome, SuccessfulFileWrite, } from './ReadbackFileWriter'; diff --git a/src/infrastructure/Repository/InMemoryRepository.ts b/src/infrastructure/Repository/InMemoryRepository.ts index 597fadb8..b0051673 100644 --- a/src/infrastructure/Repository/InMemoryRepository.ts +++ b/src/infrastructure/Repository/InMemoryRepository.ts @@ -1,5 +1,5 @@ -import { IEntity } from '../Entity/IEntity'; -import { Repository } from '../../application/Repository/Repository'; +import type { Repository } from '../../application/Repository/Repository'; +import type { IEntity } from '../Entity/IEntity'; export class InMemoryRepository> implements Repository { diff --git a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts index 68276b72..d6adb56f 100644 --- a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts +++ b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/BrowserConditions.ts @@ -1,5 +1,5 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; +import { type BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; // They include "Android", "iPhone" in their user agents. const WindowsMobileIdentifiers: readonly string[] = [ diff --git a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts index f7f28261..102c1fa8 100644 --- a/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts +++ b/src/infrastructure/RuntimeEnvironment/Browser/BrowserOs/ConditionBasedOsDetector.ts @@ -1,8 +1,8 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; import { assertInRange } from '@/application/Common/Enum'; -import { BrowserEnvironment, BrowserOsDetector } from './BrowserOsDetector'; -import { BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; +import { type BrowserCondition, TouchSupportExpectation } from './BrowserCondition'; import { BrowserConditions } from './BrowserConditions'; +import type { BrowserEnvironment, BrowserOsDetector } from './BrowserOsDetector'; export class ConditionBasedOsDetector implements BrowserOsDetector { constructor(private readonly conditions: readonly BrowserCondition[] = BrowserConditions) { diff --git a/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts b/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts index ba8c28f9..b954dc7f 100644 --- a/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts +++ b/src/infrastructure/RuntimeEnvironment/Browser/BrowserRuntimeEnvironment.ts @@ -1,10 +1,10 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; +import type { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; -import { RuntimeEnvironment } from '../RuntimeEnvironment'; import { ConditionBasedOsDetector } from './BrowserOs/ConditionBasedOsDetector'; -import { BrowserEnvironment, BrowserOsDetector } from './BrowserOs/BrowserOsDetector'; import { isTouchEnabledDevice } from './TouchSupportDetection'; +import type { RuntimeEnvironment } from '../RuntimeEnvironment'; +import type { BrowserEnvironment, BrowserOsDetector } from './BrowserOs/BrowserOsDetector'; export class BrowserRuntimeEnvironment implements RuntimeEnvironment { public readonly isRunningAsDesktopApplication: boolean; diff --git a/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts b/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts index 8566573b..408a105c 100644 --- a/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts +++ b/src/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector.ts @@ -1,4 +1,4 @@ -import { ElectronEnvironmentDetector, ElectronProcessType } from './ElectronEnvironmentDetector'; +import type { ElectronEnvironmentDetector, ElectronProcessType } from './ElectronEnvironmentDetector'; export class ContextIsolatedElectronDetector implements ElectronEnvironmentDetector { constructor( diff --git a/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts b/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts index fc7742b2..f2df038b 100644 --- a/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts +++ b/src/infrastructure/RuntimeEnvironment/Node/NodeRuntimeEnvironment.ts @@ -1,6 +1,6 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { RuntimeEnvironment } from '../RuntimeEnvironment'; import { convertPlatformToOs } from './NodeOsMapper'; +import type { RuntimeEnvironment } from '../RuntimeEnvironment'; export class NodeRuntimeEnvironment implements RuntimeEnvironment { public readonly isRunningAsDesktopApplication: boolean; diff --git a/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts b/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts index c27d96c7..4e8434ee 100644 --- a/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts +++ b/src/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory.ts @@ -1,8 +1,8 @@ -import { ElectronEnvironmentDetector } from './Electron/ElectronEnvironmentDetector'; import { BrowserRuntimeEnvironment } from './Browser/BrowserRuntimeEnvironment'; import { NodeRuntimeEnvironment } from './Node/NodeRuntimeEnvironment'; -import { RuntimeEnvironment } from './RuntimeEnvironment'; import { ContextIsolatedElectronDetector } from './Electron/ContextIsolatedElectronDetector'; +import type { RuntimeEnvironment } from './RuntimeEnvironment'; +import type { ElectronEnvironmentDetector } from './Electron/ElectronEnvironmentDetector'; export const CurrentEnvironment = determineAndCreateRuntimeEnvironment(globalThis.window); diff --git a/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts b/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts index 1372e81a..8207d3b1 100644 --- a/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts +++ b/src/infrastructure/RuntimeSanity/Common/FactoryValidator.ts @@ -1,5 +1,5 @@ -import { ISanityCheckOptions } from './ISanityCheckOptions'; -import { ISanityValidator } from './ISanityValidator'; +import type { ISanityValidator } from './ISanityValidator'; +import type { ISanityCheckOptions } from './ISanityCheckOptions'; export type FactoryFunction = () => T; diff --git a/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts b/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts index d5fa7bac..6de0c05b 100644 --- a/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts +++ b/src/infrastructure/RuntimeSanity/Common/ISanityValidator.ts @@ -1,4 +1,4 @@ -import { ISanityCheckOptions } from './ISanityCheckOptions'; +import type { ISanityCheckOptions } from './ISanityCheckOptions'; export interface ISanityValidator { readonly name: string; diff --git a/src/infrastructure/RuntimeSanity/SanityChecks.ts b/src/infrastructure/RuntimeSanity/SanityChecks.ts index 9019ae15..cc46ec2d 100644 --- a/src/infrastructure/RuntimeSanity/SanityChecks.ts +++ b/src/infrastructure/RuntimeSanity/SanityChecks.ts @@ -1,6 +1,6 @@ -import { ISanityCheckOptions } from './Common/ISanityCheckOptions'; -import { ISanityValidator } from './Common/ISanityValidator'; import { EnvironmentVariablesValidator } from './Validators/EnvironmentVariablesValidator'; +import type { ISanityCheckOptions } from './Common/ISanityCheckOptions'; +import type { ISanityValidator } from './Common/ISanityValidator'; const DefaultSanityValidators: ISanityValidator[] = [ new EnvironmentVariablesValidator(), diff --git a/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts b/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts index 072324ae..8c61d267 100644 --- a/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts +++ b/src/infrastructure/RuntimeSanity/Validators/EnvironmentVariablesValidator.ts @@ -1,7 +1,7 @@ -import { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; +import type { IEnvironmentVariables } from '@/infrastructure/EnvironmentVariables/IEnvironmentVariables'; import { EnvironmentVariablesFactory } from '@/infrastructure/EnvironmentVariables/EnvironmentVariablesFactory'; -import { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; -import { FactoryValidator, FactoryFunction } from '../Common/FactoryValidator'; +import { FactoryValidator, type FactoryFunction } from '../Common/FactoryValidator'; +import type { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; export class EnvironmentVariablesValidator extends FactoryValidator { constructor( diff --git a/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts b/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts index 553cbddb..3de64bf0 100644 --- a/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts +++ b/src/infrastructure/RuntimeSanity/Validators/WindowVariablesValidator.ts @@ -1,6 +1,6 @@ -import { WindowVariables } from '@/infrastructure/WindowVariables/WindowVariables'; -import { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; -import { FactoryValidator, FactoryFunction } from '../Common/FactoryValidator'; +import type { WindowVariables } from '@/infrastructure/WindowVariables/WindowVariables'; +import { FactoryValidator, type FactoryFunction } from '../Common/FactoryValidator'; +import type { ISanityCheckOptions } from '../Common/ISanityCheckOptions'; export class WindowVariablesValidator extends FactoryValidator { constructor(factory: FactoryFunction = () => window) { diff --git a/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts b/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts index 1436cc1d..d77cec7b 100644 --- a/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts +++ b/src/infrastructure/ScriptDiagnostics/ScriptEnvironmentDiagnosticsCollector.ts @@ -1,8 +1,8 @@ -import { ScriptDiagnosticData, ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; -import { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; +import type { ScriptDiagnosticData, ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; +import type { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; import { PersistentDirectoryProvider } from '@/infrastructure/CodeRunner/Creation/Directory/PersistentDirectoryProvider'; -import { ScriptDirectoryProvider } from '../CodeRunner/Creation/Directory/ScriptDirectoryProvider'; +import type { ScriptDirectoryProvider } from '../CodeRunner/Creation/Directory/ScriptDirectoryProvider'; export class ScriptEnvironmentDiagnosticsCollector implements ScriptDiagnosticsCollector { constructor( diff --git a/src/infrastructure/WindowVariables/WindowVariables.ts b/src/infrastructure/WindowVariables/WindowVariables.ts index dde89a68..7b6e2a17 100644 --- a/src/infrastructure/WindowVariables/WindowVariables.ts +++ b/src/infrastructure/WindowVariables/WindowVariables.ts @@ -1,8 +1,8 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { Logger } from '@/application/Common/Log/Logger'; -import { CodeRunner } from '@/application/CodeRunner/CodeRunner'; -import { Dialog } from '@/presentation/common/Dialog'; -import { ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; +import type { Logger } from '@/application/Common/Log/Logger'; +import type { CodeRunner } from '@/application/CodeRunner/CodeRunner'; +import type { Dialog } from '@/presentation/common/Dialog'; +import type { ScriptDiagnosticsCollector } from '@/application/ScriptDiagnostics/ScriptDiagnosticsCollector'; /* Primary entry point for platform-specific injections */ export interface WindowVariables { diff --git a/src/infrastructure/WindowVariables/WindowVariablesValidator.ts b/src/infrastructure/WindowVariables/WindowVariablesValidator.ts index f8d3584a..8f7cb12d 100644 --- a/src/infrastructure/WindowVariables/WindowVariablesValidator.ts +++ b/src/infrastructure/WindowVariables/WindowVariablesValidator.ts @@ -1,10 +1,10 @@ import { ContextIsolatedElectronDetector } from '@/infrastructure/RuntimeEnvironment/Electron/ContextIsolatedElectronDetector'; -import { ElectronEnvironmentDetector } from '@/infrastructure/RuntimeEnvironment/Electron/ElectronEnvironmentDetector'; +import type { ElectronEnvironmentDetector } from '@/infrastructure/RuntimeEnvironment/Electron/ElectronEnvironmentDetector'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { - PropertyKeys, isBoolean, isFunction, isNumber, isPlainObject, + type PropertyKeys, isBoolean, isFunction, isNumber, isPlainObject, } from '@/TypeHelpers'; -import { WindowVariables } from './WindowVariables'; +import type { WindowVariables } from './WindowVariables'; /** * Checks for consistency in runtime environment properties injected by Electron preloader. diff --git a/src/presentation/bootstrapping/ApplicationBootstrapper.ts b/src/presentation/bootstrapping/ApplicationBootstrapper.ts index e08c2ffa..90447a81 100644 --- a/src/presentation/bootstrapping/ApplicationBootstrapper.ts +++ b/src/presentation/bootstrapping/ApplicationBootstrapper.ts @@ -1,8 +1,8 @@ -import { Bootstrapper } from './Bootstrapper'; import { RuntimeSanityValidator } from './Modules/RuntimeSanityValidator'; import { AppInitializationLogger } from './Modules/AppInitializationLogger'; import { DependencyBootstrapper } from './Modules/DependencyBootstrapper'; import { MobileSafariActivePseudoClassEnabler } from './Modules/MobileSafariActivePseudoClassEnabler'; +import type { Bootstrapper } from './Bootstrapper'; import type { App } from 'vue'; export class ApplicationBootstrapper implements Bootstrapper { diff --git a/src/presentation/bootstrapping/DependencyProvider.ts b/src/presentation/bootstrapping/DependencyProvider.ts index c474e240..1231e6c3 100644 --- a/src/presentation/bootstrapping/DependencyProvider.ts +++ b/src/presentation/bootstrapping/DependencyProvider.ts @@ -1,15 +1,15 @@ -import { InjectionKey, provide, inject } from 'vue'; +import { type InjectionKey, provide, inject } from 'vue'; import { useCollectionState } from '@/presentation/components/Shared/Hooks/UseCollectionState'; import { useApplication } from '@/presentation/components/Shared/Hooks/UseApplication'; import { useAutoUnsubscribedEvents } from '@/presentation/components/Shared/Hooks/UseAutoUnsubscribedEvents'; import { useClipboard } from '@/presentation/components/Shared/Hooks/Clipboard/UseClipboard'; import { useCurrentCode } from '@/presentation/components/Shared/Hooks/UseCurrentCode'; -import { IApplicationContext } from '@/application/Context/IApplicationContext'; +import type { IApplicationContext } from '@/application/Context/IApplicationContext'; import { - AnyLifetimeInjectionKey, InjectionKeySelector, InjectionKeys, SingletonKey, - TransientKey, injectKey, + type AnyLifetimeInjectionKey, type InjectionKeySelector, InjectionKeys, type SingletonKey, + type TransientKey, injectKey, } from '@/presentation/injectionSymbols'; -import { PropertyKeys } from '@/TypeHelpers'; +import type { PropertyKeys } from '@/TypeHelpers'; import { useUserSelectionState } from '@/presentation/components/Shared/Hooks/UseUserSelectionState'; import { useLogger } from '@/presentation/components/Shared/Hooks/Log/UseLogger'; import { useCodeRunner } from '@/presentation/components/Shared/Hooks/UseCodeRunner'; diff --git a/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts b/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts index b58debb0..4ec091bb 100644 --- a/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts +++ b/src/presentation/bootstrapping/Modules/AppInitializationLogger.ts @@ -1,6 +1,6 @@ -import { Logger } from '@/application/Common/Log/Logger'; +import type { Logger } from '@/application/Common/Log/Logger'; import { ClientLoggerFactory } from '@/presentation/components/Shared/Hooks/Log/ClientLoggerFactory'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class AppInitializationLogger implements Bootstrapper { constructor( diff --git a/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts b/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts index 79e38693..1da0a95a 100644 --- a/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts +++ b/src/presentation/bootstrapping/Modules/DependencyBootstrapper.ts @@ -1,7 +1,7 @@ import { inject, type App } from 'vue'; import { buildContext } from '@/application/Context/ApplicationContextFactory'; import { provideDependencies } from '@/presentation/bootstrapping/DependencyProvider'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class DependencyBootstrapper implements Bootstrapper { constructor( diff --git a/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts b/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts index c2ce4768..84f9a33b 100644 --- a/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts +++ b/src/presentation/bootstrapping/Modules/MobileSafariActivePseudoClassEnabler.ts @@ -1,7 +1,7 @@ import { OperatingSystem } from '@/domain/OperatingSystem'; -import { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; +import type { RuntimeEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironment'; import { CurrentEnvironment } from '@/infrastructure/RuntimeEnvironment/RuntimeEnvironmentFactory'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class MobileSafariActivePseudoClassEnabler implements Bootstrapper { constructor( diff --git a/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts b/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts index dc9d26aa..3a6adde6 100644 --- a/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts +++ b/src/presentation/bootstrapping/Modules/RuntimeSanityValidator.ts @@ -1,5 +1,5 @@ import { validateRuntimeSanity } from '@/infrastructure/RuntimeSanity/SanityChecks'; -import { Bootstrapper } from '../Bootstrapper'; +import type { Bootstrapper } from '../Bootstrapper'; export class RuntimeSanityValidator implements Bootstrapper { constructor(private readonly validator = validateRuntimeSanity) { diff --git a/src/presentation/components/App.vue b/src/presentation/components/App.vue index 5371b458..93e3b97c 100644 --- a/src/presentation/components/App.vue +++ b/src/presentation/components/App.vue @@ -15,7 +15,7 @@