From 9cccb88714283edad05f7aaef7253811fcf96c5c Mon Sep 17 00:00:00 2001 From: Charles Lyding <19598772+clydin@users.noreply.github.com> Date: Mon, 13 Jan 2025 18:48:06 -0500 Subject: [PATCH] refactor(@ngtools/webpack): add return types to functions Functions that are exported from files within the `@ngtools/webpack` package now contain return types. This improves code readability as well as being a requirement for eventual isolated declarations usage. --- packages/ngtools/webpack/src/benchmark.ts | 4 ++-- packages/ngtools/webpack/src/ivy/host.ts | 2 +- packages/ngtools/webpack/src/ivy/loader.ts | 6 +++++- .../ngtools/webpack/src/loaders/inline-resource.ts | 2 +- packages/ngtools/webpack/src/resource_loader.ts | 12 ++++++------ .../ngtools/webpack/src/transformers/spec_helpers.ts | 9 ++++++--- 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/packages/ngtools/webpack/src/benchmark.ts b/packages/ngtools/webpack/src/benchmark.ts index ae63a129531d..ca2bb7798c74 100644 --- a/packages/ngtools/webpack/src/benchmark.ts +++ b/packages/ngtools/webpack/src/benchmark.ts @@ -11,13 +11,13 @@ // This should be false for commited code. const _benchmark = false; /* eslint-disable no-console */ -export function time(label: string) { +export function time(label: string): void { if (_benchmark) { console.time(label); } } -export function timeEnd(label: string) { +export function timeEnd(label: string): void { if (_benchmark) { console.timeEnd(label); } diff --git a/packages/ngtools/webpack/src/ivy/host.ts b/packages/ngtools/webpack/src/ivy/host.ts index 32ce28fab565..a5196be1f535 100644 --- a/packages/ngtools/webpack/src/ivy/host.ts +++ b/packages/ngtools/webpack/src/ivy/host.ts @@ -21,7 +21,7 @@ export function augmentHostWithResources( directTemplateLoading?: boolean; inlineStyleFileExtension?: string; } = {}, -) { +): void { const resourceHost = host as CompilerHost; resourceHost.readResource = function (fileName: string) { diff --git a/packages/ngtools/webpack/src/ivy/loader.ts b/packages/ngtools/webpack/src/ivy/loader.ts index 6c88a5babb5c..085c8d4ba3a9 100644 --- a/packages/ngtools/webpack/src/ivy/loader.ts +++ b/packages/ngtools/webpack/src/ivy/loader.ts @@ -12,7 +12,11 @@ import { AngularPluginSymbol, FileEmitterCollection } from './symbol'; const JS_FILE_REGEXP = /\.[cm]?js$/; -export function angularWebpackLoader(this: LoaderContext, content: string, map: string) { +export function angularWebpackLoader( + this: LoaderContext, + content: string, + map: string, +): void { const callback = this.async(); if (!callback) { throw new Error('Invalid webpack version'); diff --git a/packages/ngtools/webpack/src/loaders/inline-resource.ts b/packages/ngtools/webpack/src/loaders/inline-resource.ts index c8e475437b8c..b061f8e4156f 100644 --- a/packages/ngtools/webpack/src/loaders/inline-resource.ts +++ b/packages/ngtools/webpack/src/loaders/inline-resource.ts @@ -16,7 +16,7 @@ export interface CompilationWithInlineAngularResource extends Compilation { [InlineAngularResourceSymbol]: string; } -export default function (this: LoaderContext<{ data?: string }>) { +export default function (this: LoaderContext<{ data?: string }>): void { const callback = this.async(); const { data } = this.getOptions(); diff --git a/packages/ngtools/webpack/src/resource_loader.ts b/packages/ngtools/webpack/src/resource_loader.ts index ea2c3d49bccf..07b4cdae5df7 100644 --- a/packages/ngtools/webpack/src/resource_loader.ts +++ b/packages/ngtools/webpack/src/resource_loader.ts @@ -46,7 +46,7 @@ export class WebpackResourceLoader { } } - update(parentCompilation: Compilation, changedFiles?: Iterable) { + update(parentCompilation: Compilation, changedFiles?: Iterable): void { this._parentCompilation = parentCompilation; // Update resource cache and modified resources @@ -82,23 +82,23 @@ export class WebpackResourceLoader { } } - clearParentCompilation() { + clearParentCompilation(): void { this._parentCompilation = undefined; } - getModifiedResourceFiles() { + getModifiedResourceFiles(): Set { return this.modifiedResources; } - getResourceDependencies(filePath: string) { + getResourceDependencies(filePath: string): Iterable { return this._fileDependencies.get(filePath) || []; } - getAffectedResources(file: string) { + getAffectedResources(file: string): Iterable { return this._reverseDependencies.get(file) || []; } - setAffectedResources(file: string, resources: Iterable) { + setAffectedResources(file: string, resources: Iterable): void { this._reverseDependencies.set(file, new Set(resources)); } diff --git a/packages/ngtools/webpack/src/transformers/spec_helpers.ts b/packages/ngtools/webpack/src/transformers/spec_helpers.ts index 6b2bbc3b4aad..2b059d02f4e3 100644 --- a/packages/ngtools/webpack/src/transformers/spec_helpers.ts +++ b/packages/ngtools/webpack/src/transformers/spec_helpers.ts @@ -6,8 +6,8 @@ * found in the LICENSE file at https://angular.dev/license */ -import { basename } from 'path'; -import * as ts from 'typescript'; +import { basename } from 'node:path'; +import ts from 'typescript'; // Test transform helpers. const basefileName = 'test-file.ts'; @@ -18,7 +18,10 @@ export function createTypescriptContext( useLibs = false, extraCompilerOptions: ts.CompilerOptions = {}, jsxFile = false, -) { +): { + compilerHost: ts.CompilerHost; + program: ts.Program; +} { const fileName = basefileName + (jsxFile ? 'x' : ''); // Set compiler options. const compilerOptions: ts.CompilerOptions = {