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.
This commit is contained in:
undergroundwires
2024-02-27 04:20:22 +01:00
parent 98845e6cae
commit a721e82a4f
541 changed files with 1187 additions and 1184 deletions

View File

@@ -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(

View File

@@ -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<number> implements ICategory {
private allSubScripts?: ReadonlyArray<IScript> = undefined;

View File

@@ -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; }

View File

@@ -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;

View File

@@ -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<number>, IDocumentable {
readonly id: number;
@@ -11,5 +11,5 @@ export interface ICategory extends IEntity<number>, IDocumentable {
getAllScriptsRecursively(): ReadonlyArray<IScript>;
}
export { IEntity } from '../infrastructure/Entity/IEntity';
export { IScript } from './IScript';
export type { IEntity } from '../infrastructure/Entity/IEntity';
export type { IScript } from './IScript';

View File

@@ -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;

View File

@@ -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<string>, IDocumentable {
readonly name: string;

View File

@@ -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<string> implements IScript {
constructor(

View File

@@ -1,4 +1,4 @@
import { IScriptCode } from './IScriptCode';
import type { IScriptCode } from './IScriptCode';
export class ScriptCode implements IScriptCode {
constructor(

View File

@@ -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;