From 926e20c1c476e2a03b5934092b3bce8a7d6aaf2c Mon Sep 17 00:00:00 2001 From: Godfrey Chan Date: Wed, 29 Jan 2025 17:56:15 -0800 Subject: [PATCH] refactor(sdk-node): fix eslint warning ``` /home/runner/work/opentelemetry-js/opentelemetry-js/experimental/packages/opentelemetry-sdk-node/src/index.ts 20:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 21:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 22:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 23:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 24:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 25:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 26:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax 27:1 warning Using 'ExportAllDeclaration' is not allowed no-restricted-syntax ``` This feels a bit different than the other ones, as this is a meta- package, and these are wildcard exports to re-export all the public exports from the upstream packages into individual _namespaces_. There is no risk of accidentally exporting something that wasn't meant to be public, and it would be a huge pain to enumerate things from each of the upstream packages and keep things in-sync. Ref #5365 --- .../packages/opentelemetry-sdk-node/src/index.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/experimental/packages/opentelemetry-sdk-node/src/index.ts b/experimental/packages/opentelemetry-sdk-node/src/index.ts index 9a1df39c800..0012ad61130 100644 --- a/experimental/packages/opentelemetry-sdk-node/src/index.ts +++ b/experimental/packages/opentelemetry-sdk-node/src/index.ts @@ -14,9 +14,10 @@ * limitations under the License. */ -/* eslint no-restricted-syntax: ["warn", "ExportAllDeclaration"] -- - * TODO: Replace wildcard export with named exports before next major version - */ +// These exist to re-export *all* items from the individual packages as +// individual namespaces, so `export *` is appropriate here. + +/* eslint-disable no-restricted-syntax */ export * as api from '@opentelemetry/api'; export * as contextBase from '@opentelemetry/api'; export * as core from '@opentelemetry/core'; @@ -25,5 +26,7 @@ export * as metrics from '@opentelemetry/sdk-metrics'; export * as node from '@opentelemetry/sdk-trace-node'; export * as resources from '@opentelemetry/resources'; export * as tracing from '@opentelemetry/sdk-trace-base'; +/* eslint-enable no-restricted-syntax */ + export { LoggerProviderConfig, MeterProviderConfig, NodeSDK } from './sdk'; export { NodeSDKConfiguration } from './types';