Skip to content

Commit 307e33a

Browse files
committed
fix(resources): prevent circular import (resource -> detector -> resource -> ...) (#4653)
* fix(resources): prevent circular import (resource -> detector -> resource -> ...) * fixup! fix(resources): prevent circular import (resource -> detector -> resource -> ...)
1 parent 3ab4f76 commit 307e33a

39 files changed

+158
-77
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
2929

3030
* fix(sdk-trace-web): fix invalid timings in span events [#4486](https://github.com/open-telemetry/opentelemetry-js/pull/4486) @Abinet18
3131
* fix(resources): ensure BrowserDetector does not think Node.js v21 is a browser [#4561](https://github.com/open-telemetry/opentelemetry-js/issues/4561) @trentm
32+
* fix(resources): prevent circular import (resource -> detector -> resource -> ...) [#4653](https://github.com/open-telemetry/opentelemetry-js/pull/4653) @pichlermarc
33+
* fixes a circular import warning which would appear in rollup when bundling `@opentelemetry/resources`
3234

3335
## 1.23.0
3436

packages/opentelemetry-resources/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
"./src/platform/index.ts": "./src/platform/browser/index.ts",
1010
"./build/esm/platform/index.js": "./build/esm/platform/browser/index.js",
1111
"./build/esnext/platform/index.js": "./build/esnext/platform/browser/index.js",
12-
"./build/src/platform/index.js": "./build/src/platform/browser/index.js"
12+
"./build/src/platform/index.js": "./build/src/platform/browser/index.js",
13+
"./src/detectors/platform/index.ts": "./src/detectors/platform/browser/index.ts",
14+
"./build/esm/detectors/platform/index.js": "./build/esm/detectors/platform/browser/index.js",
15+
"./build/esnext/detectors/platform/index.js": "./build/esnext/detectors/platform/browser/index.js",
16+
"./build/src/detectors/platform/index.js": "./build/src/detectors/platform/browser/index.js"
1317
},
1418
"types": "build/src/index.d.ts",
1519
"repository": "open-telemetry/opentelemetry-js",

packages/opentelemetry-resources/src/detectors/BrowserDetector.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
* limitations under the License.
1515
*/
1616

17-
import {
18-
browserDetectorSync,
19-
Detector,
20-
IResource,
21-
ResourceDetectionConfig,
22-
} from '..';
17+
import { IResource } from '../IResource';
18+
import { ResourceDetectionConfig } from '../config';
19+
import { Detector } from '../types';
20+
import { browserDetectorSync } from './BrowserDetectorSync';
2321

2422
/**
2523
* BrowserDetector will be used to detect the resources related to browser.

packages/opentelemetry-resources/src/detectors/BrowserDetectorSync.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@
1515
*/
1616

1717
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
18-
import { DetectorSync, IResource, Resource, ResourceDetectionConfig } from '..';
19-
import { ResourceAttributes } from '../types';
18+
import { DetectorSync, ResourceAttributes } from '../types';
2019
import { diag } from '@opentelemetry/api';
20+
import { ResourceDetectionConfig } from '../config';
21+
import { IResource } from '../IResource';
22+
import { Resource } from '../Resource';
2123

2224
/**
2325
* BrowserDetectorSync will be used to detect the resources related to browser.

packages/opentelemetry-resources/src/detectors/index.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,16 @@
1414
* limitations under the License.
1515
*/
1616

17-
export * from './BrowserDetector';
18-
export * from './EnvDetector';
19-
export * from './BrowserDetectorSync';
20-
export * from './EnvDetectorSync';
17+
export {
18+
hostDetector,
19+
hostDetectorSync,
20+
osDetector,
21+
osDetectorSync,
22+
processDetector,
23+
processDetectorSync,
24+
serviceInstanceIdDetectorSync,
25+
} from './platform';
26+
export { browserDetector } from './BrowserDetector';
27+
export { envDetector } from './EnvDetector';
28+
export { browserDetectorSync } from './BrowserDetectorSync';
29+
export { envDetectorSync } from './EnvDetectorSync';

packages/opentelemetry-resources/src/platform/browser/HostDetector.ts renamed to packages/opentelemetry-resources/src/detectors/platform/browser/HostDetector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { noopDetector } from '../../detectors/NoopDetector';
17+
import { noopDetector } from '../../NoopDetector';
1818

1919
export const hostDetector = noopDetector;

packages/opentelemetry-resources/src/platform/browser/HostDetectorSync.ts renamed to packages/opentelemetry-resources/src/detectors/platform/browser/HostDetectorSync.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { noopDetectorSync } from '../../detectors/NoopDetectorSync';
17+
import { noopDetectorSync } from '../../NoopDetectorSync';
1818

1919
export const hostDetectorSync = noopDetectorSync;

packages/opentelemetry-resources/src/platform/browser/OSDetector.ts renamed to packages/opentelemetry-resources/src/detectors/platform/browser/OSDetector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { noopDetector } from '../../detectors/NoopDetector';
17+
import { noopDetector } from '../../NoopDetector';
1818

1919
export const osDetector = noopDetector;

packages/opentelemetry-resources/src/platform/browser/OSDetectorSync.ts renamed to packages/opentelemetry-resources/src/detectors/platform/browser/OSDetectorSync.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { noopDetectorSync } from '../../detectors/NoopDetectorSync';
17+
import { noopDetectorSync } from '../../NoopDetectorSync';
1818

1919
export const osDetectorSync = noopDetectorSync;

packages/opentelemetry-resources/src/platform/browser/ProcessDetector.ts renamed to packages/opentelemetry-resources/src/detectors/platform/browser/ProcessDetector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { noopDetector } from '../../detectors/NoopDetector';
17+
import { noopDetector } from '../../NoopDetector';
1818

1919
export const processDetector = noopDetector;

0 commit comments

Comments
 (0)