From fdab6422ae238b04beb2e92ac38153e35e5800ac Mon Sep 17 00:00:00 2001 From: Ali Sabzevari Date: Wed, 10 Nov 2021 20:02:30 +0100 Subject: [PATCH] chore: Fix lint warnings in instrumentation package (#2404) --- .../opentelemetry-instrumentation/src/autoLoaderUtils.ts | 5 +++-- .../opentelemetry-instrumentation/src/instrumentation.ts | 8 ++++---- .../src/platform/node/instrumentation.ts | 8 ++++---- .../src/platform/node/types.ts | 1 + .../packages/opentelemetry-instrumentation/src/types.ts | 4 +++- .../packages/opentelemetry-instrumentation/src/utils.ts | 2 +- .../test/common/autoLoader.test.ts | 1 + 7 files changed, 17 insertions(+), 12 deletions(-) diff --git a/experimental/packages/opentelemetry-instrumentation/src/autoLoaderUtils.ts b/experimental/packages/opentelemetry-instrumentation/src/autoLoaderUtils.ts index 6463f6cf27..962c6de128 100644 --- a/experimental/packages/opentelemetry-instrumentation/src/autoLoaderUtils.ts +++ b/experimental/packages/opentelemetry-instrumentation/src/autoLoaderUtils.ts @@ -29,6 +29,7 @@ export function parseInstrumentationOptions( ): AutoLoaderResult { let instrumentations: Instrumentation[] = []; for (let i = 0, j = options.length; i < j; i++) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const option = options[i] as any; if (Array.isArray(option)) { const results = parseInstrumentationOptions(option); @@ -53,7 +54,7 @@ export function enableInstrumentations( instrumentations: Instrumentation[], tracerProvider?: TracerProvider, meterProvider?: MeterProvider -) { +): void { for (let i = 0, j = instrumentations.length; i < j; i++) { const instrumentation = instrumentations[i]; if (tracerProvider) { @@ -76,6 +77,6 @@ export function enableInstrumentations( * Disable instrumentations * @param instrumentations */ -export function disableInstrumentations(instrumentations: Instrumentation[]) { +export function disableInstrumentations(instrumentations: Instrumentation[]): void { instrumentations.forEach(instrumentation => instrumentation.disable()); } diff --git a/experimental/packages/opentelemetry-instrumentation/src/instrumentation.ts b/experimental/packages/opentelemetry-instrumentation/src/instrumentation.ts index 56779a5e64..687b611501 100644 --- a/experimental/packages/opentelemetry-instrumentation/src/instrumentation.ts +++ b/experimental/packages/opentelemetry-instrumentation/src/instrumentation.ts @@ -74,7 +74,7 @@ export abstract class InstrumentationAbstract * Sets MeterProvider to this plugin * @param meterProvider */ - public setMeterProvider(meterProvider: MeterProvider) { + public setMeterProvider(meterProvider: MeterProvider): void { this._meter = meterProvider.getMeter( this.instrumentationName, this.instrumentationVersion @@ -82,7 +82,7 @@ export abstract class InstrumentationAbstract } /* Returns InstrumentationConfig */ - public getConfig() { + public getConfig(): types.InstrumentationConfig { return this._config; } @@ -90,7 +90,7 @@ export abstract class InstrumentationAbstract * Sets InstrumentationConfig to this plugin * @param InstrumentationConfig */ - public setConfig(config: types.InstrumentationConfig = {}) { + public setConfig(config: types.InstrumentationConfig = {}): void { this._config = Object.assign({}, config); } @@ -98,7 +98,7 @@ export abstract class InstrumentationAbstract * Sets TraceProvider to this plugin * @param tracerProvider */ - public setTracerProvider(tracerProvider: TracerProvider) { + public setTracerProvider(tracerProvider: TracerProvider): void { this._tracer = tracerProvider.getTracer( this.instrumentationName, this.instrumentationVersion diff --git a/experimental/packages/opentelemetry-instrumentation/src/platform/node/instrumentation.ts b/experimental/packages/opentelemetry-instrumentation/src/platform/node/instrumentation.ts index f631f001ee..92dab57c0a 100644 --- a/experimental/packages/opentelemetry-instrumentation/src/platform/node/instrumentation.ts +++ b/experimental/packages/opentelemetry-instrumentation/src/platform/node/instrumentation.ts @@ -102,7 +102,7 @@ export abstract class InstrumentationBase } else { // internal file const files = module.files ?? []; - const file = files.find(file => file.name === name); + const file = files.find(f => f.name === name); if (file && isSupported(file.supportedVersions, version, module.includePrerelease)) { file.moduleExports = exports; if (this._enabled) { @@ -113,7 +113,7 @@ export abstract class InstrumentationBase return exports; } - public enable() { + public enable(): void { if (this._enabled) { return; } @@ -154,7 +154,7 @@ export abstract class InstrumentationBase } } - public disable() { + public disable(): void { if (!this._enabled) { return; } @@ -172,7 +172,7 @@ export abstract class InstrumentationBase } } - public isEnabled() { + public isEnabled(): boolean { return this._enabled; } } diff --git a/experimental/packages/opentelemetry-instrumentation/src/platform/node/types.ts b/experimental/packages/opentelemetry-instrumentation/src/platform/node/types.ts index c5ea980c30..5cdfbc84c0 100644 --- a/experimental/packages/opentelemetry-instrumentation/src/platform/node/types.ts +++ b/experimental/packages/opentelemetry-instrumentation/src/platform/node/types.ts @@ -45,6 +45,7 @@ export interface InstrumentationModuleDefinition { supportedVersions: string[]; /** Module internal files to be patched */ + // eslint-disable-next-line @typescript-eslint/no-explicit-any files: InstrumentationModuleFile[]; /** If set to true, the includePrerelease check will be included when calling semver.satisfies */ diff --git a/experimental/packages/opentelemetry-instrumentation/src/types.ts b/experimental/packages/opentelemetry-instrumentation/src/types.ts index 4ed6febf10..76aad31834 100644 --- a/experimental/packages/opentelemetry-instrumentation/src/types.ts +++ b/experimental/packages/opentelemetry-instrumentation/src/types.ts @@ -77,8 +77,10 @@ export interface InstrumentationConfig { * This interface defines the params that are be added to the wrapped function * using the "shimmer.wrap" */ -export interface ShimWrapped { +export interface ShimWrapped extends Function { __wrapped: boolean; + // eslint-disable-next-line @typescript-eslint/ban-types __unwrap: Function; + // eslint-disable-next-line @typescript-eslint/ban-types __original: Function; } diff --git a/experimental/packages/opentelemetry-instrumentation/src/utils.ts b/experimental/packages/opentelemetry-instrumentation/src/utils.ts index 8f1c98c1fa..297a9b1343 100644 --- a/experimental/packages/opentelemetry-instrumentation/src/utils.ts +++ b/experimental/packages/opentelemetry-instrumentation/src/utils.ts @@ -73,7 +73,7 @@ export async function safeExecuteInTheMiddleAsync( * Checks if certain function has been already wrapped * @param func */ -export function isWrapped(func: any) { +export function isWrapped(func: unknown): func is ShimWrapped { return ( typeof func === 'function' && typeof (func as ShimWrapped).__original === 'function' && diff --git a/experimental/packages/opentelemetry-instrumentation/test/common/autoLoader.test.ts b/experimental/packages/opentelemetry-instrumentation/test/common/autoLoader.test.ts index 3cacd2cbb2..ff7971f66a 100644 --- a/experimental/packages/opentelemetry-instrumentation/test/common/autoLoader.test.ts +++ b/experimental/packages/opentelemetry-instrumentation/test/common/autoLoader.test.ts @@ -34,6 +34,7 @@ class FooInstrumentation extends InstrumentationBase { } describe('autoLoader', () => { + // eslint-disable-next-line @typescript-eslint/ban-types let unload: Function | undefined; afterEach(() => {