diff --git a/packages/angular_devkit/architect/builders/all-of.ts b/packages/angular_devkit/architect/builders/all-of.ts index 357d4d4882c5..aebe3a2d58cc 100644 --- a/packages/angular_devkit/architect/builders/all-of.ts +++ b/packages/angular_devkit/architect/builders/all-of.ts @@ -6,12 +6,11 @@ * found in the LICENSE file at https://angular.dev/license */ -import { json } from '@angular-devkit/core'; import { EMPTY, from, map, mergeMap, of } from 'rxjs'; -import { BuilderOutput, BuilderRun, createBuilder } from '../src'; +import { Builder, BuilderOutput, BuilderRun, createBuilder } from '../src'; import { Schema as OperatorSchema } from './operator-schema'; -export default createBuilder((options, context) => { +const builder: Builder = createBuilder((options, context) => { const allRuns: Promise<[number, BuilderRun]>[] = []; context.reportProgress( @@ -66,3 +65,5 @@ export default createBuilder((options, context }), ); }); + +export default builder; diff --git a/packages/angular_devkit/architect/builders/concat.ts b/packages/angular_devkit/architect/builders/concat.ts index c07d9f3ef74a..00bf17871f4e 100644 --- a/packages/angular_devkit/architect/builders/concat.ts +++ b/packages/angular_devkit/architect/builders/concat.ts @@ -6,12 +6,11 @@ * found in the LICENSE file at https://angular.dev/license */ -import { json } from '@angular-devkit/core'; import { concatMap, first, from, last, map, of, switchMap } from 'rxjs'; -import { BuilderOutput, BuilderRun, createBuilder } from '../src'; +import { Builder, BuilderOutput, BuilderRun, createBuilder } from '../src'; import { Schema as OperatorSchema } from './operator-schema'; -export default createBuilder((options, context) => { +const builder: Builder = createBuilder((options, context) => { const allRuns: (() => Promise)[] = []; context.reportProgress( @@ -61,3 +60,5 @@ export default createBuilder((options, context last(), ); }); + +export default builder; diff --git a/packages/angular_devkit/architect/builders/false.ts b/packages/angular_devkit/architect/builders/false.ts index 59fd3317d00a..3a3b8e4c470f 100644 --- a/packages/angular_devkit/architect/builders/false.ts +++ b/packages/angular_devkit/architect/builders/false.ts @@ -6,9 +6,11 @@ * found in the LICENSE file at https://angular.dev/license */ -import { createBuilder } from '../src'; +import { type Builder, createBuilder } from '../src'; -export default createBuilder(() => ({ +const builder: Builder<{}> = createBuilder(() => ({ success: false, error: 'False builder always errors.', })); + +export default builder; diff --git a/packages/angular_devkit/architect/builders/true.ts b/packages/angular_devkit/architect/builders/true.ts index 83f477c86d92..52f1d0f0c857 100644 --- a/packages/angular_devkit/architect/builders/true.ts +++ b/packages/angular_devkit/architect/builders/true.ts @@ -6,6 +6,8 @@ * found in the LICENSE file at https://angular.dev/license */ -import { createBuilder } from '../src'; +import { type Builder, createBuilder } from '../src'; -export default createBuilder(() => ({ success: true })); +const builder: Builder<{}> = createBuilder(() => ({ success: true })); + +export default builder; diff --git a/packages/angular_devkit/architect/node/node-modules-architect-host.ts b/packages/angular_devkit/architect/node/node-modules-architect-host.ts index 6319ab638360..554f85be14ad 100644 --- a/packages/angular_devkit/architect/node/node-modules-architect-host.ts +++ b/packages/angular_devkit/architect/node/node-modules-architect-host.ts @@ -121,7 +121,7 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost { return this.workspaceHost.getBuilderName(target.project, target.target); } @@ -134,7 +134,7 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost, ): Promise { if (seenBuilders?.has(builderStr)) { @@ -228,11 +228,11 @@ export class WorkspaceNodeModulesArchitectHost implements ArchitectHost { return process.cwd(); } - async getWorkspaceRoot() { + async getWorkspaceRoot(): Promise { return this._root; } diff --git a/packages/angular_devkit/architect/src/architect.ts b/packages/angular_devkit/architect/src/architect.ts index 6dbf97cb5179..89c318b30a06 100644 --- a/packages/angular_devkit/architect/src/architect.ts +++ b/packages/angular_devkit/architect/src/architect.ts @@ -364,7 +364,7 @@ export class Architect { this._scheduler = new SimpleScheduler(jobRegistry, registry); } - has(name: JobName) { + has(name: JobName): Observable { return this._scheduler.has(name); } diff --git a/packages/angular_devkit/architect/src/internal.ts b/packages/angular_devkit/architect/src/internal.ts index 8f8154a0bc4d..3007d8867a28 100644 --- a/packages/angular_devkit/architect/src/internal.ts +++ b/packages/angular_devkit/architect/src/internal.ts @@ -19,7 +19,7 @@ import { JobDescription, JobHandler } from './jobs'; * Using Symbol.for() as it's a global registry that's the same for all installations of * Architect (if some libraries depends directly on architect instead of sharing the files). */ -export const BuilderSymbol = Symbol.for('@angular-devkit/architect:builder'); +export const BuilderSymbol: unique symbol = Symbol.for('@angular-devkit/architect:builder'); /** * BuilderVersionSymbol used for knowing which version of the library createBuilder() came from. @@ -27,7 +27,7 @@ export const BuilderSymbol = Symbol.for('@angular-devkit/architect:builder'); * Using Symbol.for() as it's a global registry that's the same for all installations of * Architect (if some libraries depends directly on architect instead of sharing the files). */ -export const BuilderVersionSymbol = Symbol.for('@angular-devkit/architect:version'); +export const BuilderVersionSymbol: unique symbol = Symbol.for('@angular-devkit/architect:version'); /** * A Specialization of the JobHandler type. This exposes BuilderDescription as the job description diff --git a/packages/angular_devkit/architect/src/jobs/fallback-registry.ts b/packages/angular_devkit/architect/src/jobs/fallback-registry.ts index e3a0ee0ac57a..c4d5dfb5cfe0 100644 --- a/packages/angular_devkit/architect/src/jobs/fallback-registry.ts +++ b/packages/angular_devkit/architect/src/jobs/fallback-registry.ts @@ -27,7 +27,7 @@ export class FallbackRegistry< >[] = [], ) {} - addFallback(registry: Registry) { + addFallback(registry: Registry): void { this._fallbacks.push(registry); } diff --git a/packages/angular_devkit/architect/src/jobs/simple-scheduler.ts b/packages/angular_devkit/architect/src/jobs/simple-scheduler.ts index 8dacbbe687f8..f5ec59b4f364 100644 --- a/packages/angular_devkit/architect/src/jobs/simple-scheduler.ts +++ b/packages/angular_devkit/architect/src/jobs/simple-scheduler.ts @@ -185,7 +185,7 @@ export class SimpleScheduler< * @param name The name of the job. * @returns A description, or null if the job is not registered. */ - getDescription(name: JobName) { + getDescription(name: JobName): Observable { return concat( this._getInternalDescription(name).pipe(map((x) => x && x.jobDescription)), of(null), @@ -197,7 +197,7 @@ export class SimpleScheduler< * @param name The name of the job. * @returns True if the job exists, false otherwise. */ - has(name: JobName) { + has(name: JobName): Observable { return this.getDescription(name).pipe(map((x) => x !== null)); } @@ -209,7 +209,7 @@ export class SimpleScheduler< * * Jobs already running are NOT paused. This is pausing the scheduler only. */ - pause() { + pause(): () => void { let called = false; this._pauseCounter++; diff --git a/packages/angular_devkit/architect/testing/test-project-host.ts b/packages/angular_devkit/architect/testing/test-project-host.ts index ca7aa4fc84be..4af99462db08 100644 --- a/packages/angular_devkit/architect/testing/test-project-host.ts +++ b/packages/angular_devkit/architect/testing/test-project-host.ts @@ -126,7 +126,7 @@ export class TestProjectHost extends NodeJsSyncHost { }); } - replaceInFile(path: string, match: RegExp | string, replacement: string) { + replaceInFile(path: string, match: RegExp | string, replacement: string): void { const content = virtualFs.fileBufferToString(this.scopedSync().read(normalize(path))); this.scopedSync().write( normalize(path), @@ -134,7 +134,7 @@ export class TestProjectHost extends NodeJsSyncHost { ); } - appendToFile(path: string, str: string) { + appendToFile(path: string, str: string): void { const content = virtualFs.fileBufferToString(this.scopedSync().read(normalize(path))); this.scopedSync().write(normalize(path), virtualFs.stringToFileBuffer(content.concat(str))); } @@ -147,7 +147,7 @@ export class TestProjectHost extends NodeJsSyncHost { return fileName || undefined; } - copyFile(from: string, to: string) { + copyFile(from: string, to: string): void { const content = this.scopedSync().read(normalize(from)); this.scopedSync().write(normalize(to), content); } diff --git a/packages/angular_devkit/architect/testing/testing-architect-host.ts b/packages/angular_devkit/architect/testing/testing-architect-host.ts index 0b3eeb36ba77..2f61d8f69d9d 100644 --- a/packages/angular_devkit/architect/testing/testing-architect-host.ts +++ b/packages/angular_devkit/architect/testing/testing-architect-host.ts @@ -23,7 +23,7 @@ export class TestingArchitectHost implements ArchitectHost { */ constructor( public workspaceRoot = '', - public currentDirectory = workspaceRoot, + public currentDirectory: string = workspaceRoot, private _backendHost: ArchitectHost | null = null, ) {} @@ -32,11 +32,11 @@ export class TestingArchitectHost implements ArchitectHost { builder: Builder, description = 'Testing only builder.', optionSchema: json.schema.JsonSchema = { type: 'object' }, - ) { + ): void { this._builderImportMap.set(builderName, builder); this._builderMap.set(builderName, { builderName, description, optionSchema }); } - async addBuilderFromPackage(packageName: string) { + async addBuilderFromPackage(packageName: string): Promise { const packageJson = await import(packageName + '/package.json'); if (!('builders' in packageJson)) { throw new Error('Invalid package.json, builders key not found.'); @@ -64,7 +64,7 @@ export class TestingArchitectHost implements ArchitectHost { this.addBuilder(`${packageJson.name}:${builderName}`, handler, b.description, optionsSchema); } } - addTarget(target: Target, builderName: string, options: json.JsonObject = {}) { + addTarget(target: Target, builderName: string, options: json.JsonObject = {}): void { this._targetMap.set(targetStringFromTarget(target), { builderName, options }); }