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.
28 lines
912 B
TypeScript
28 lines
912 B
TypeScript
import type { ScriptFileCreationOutcome, ScriptFileCreator, ScriptFilenameParts } from '@/infrastructure/CodeRunner/Creation/ScriptFileCreator';
|
|
import { StubWithObservableMethodCalls } from './StubWithObservableMethodCalls';
|
|
|
|
export class ScriptFileCreatorStub
|
|
extends StubWithObservableMethodCalls<ScriptFileCreator>
|
|
implements ScriptFileCreator {
|
|
private createdFilePath = `[${ScriptFileCreatorStub.name}]scriptFilePath`;
|
|
|
|
public withCreatedFilePath(path: string): this {
|
|
this.createdFilePath = path;
|
|
return this;
|
|
}
|
|
|
|
public createScriptFile(
|
|
contents: string,
|
|
scriptFileNameParts: ScriptFilenameParts,
|
|
): Promise<ScriptFileCreationOutcome> {
|
|
this.registerMethodCall({
|
|
methodName: 'createScriptFile',
|
|
args: [contents, scriptFileNameParts],
|
|
});
|
|
return Promise.resolve({
|
|
success: true,
|
|
scriptFileAbsolutePath: this.createdFilePath,
|
|
});
|
|
}
|
|
}
|