From 267e8b003707a35ea59f779709d59b4988da1996 Mon Sep 17 00:00:00 2001
From: Godfrey Chan <godfreykfc@gmail.com>
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      | 11 ++++++++---
 1 file changed, 8 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..74d50600ce9 100644
--- a/experimental/packages/opentelemetry-sdk-node/src/index.ts
+++ b/experimental/packages/opentelemetry-sdk-node/src/index.ts
@@ -14,9 +14,12 @@
  * limitations under the License.
  */
 
-/* eslint no-restricted-syntax: ["warn", "ExportAllDeclaration"] --
- * TODO: Replace wildcard export with named exports before next major version
- */
+// This is a meta-package, and these exist in to re-export *all* items from
+// the individual packages as individual _namespaces_, so `export *` is
+// appropriate here. Otherwise, it'd be a pain to enumerate and keep things
+// in-sync with all the upstream packages.
+
+/* 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 +28,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';