Skip to content

Commit e547c35

Browse files
pichlermarcZirak
authored andcommitted
fix(core): align inconsistent behavior of getEnv() and getEnvWithoutDefaults() when a process polyfill is used (open-telemetry#4649)
* fix(core): align inconsistent behavior of getEnv() and getEnvWithoutDefaults() when a process polyfill is used * Update CHANGELOG.md
1 parent 0a3d467 commit e547c35

File tree

6 files changed

+15
-15
lines changed

6 files changed

+15
-15
lines changed

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
1313

1414
### :bug: (Bug Fix)
1515

16+
* fix(core): align inconsistent behavior of `getEnv()` and `getEnvWithoutDefaults()` when a `process` polyfill is used [#4648](https://github.com/open-telemetry/opentelemetry-js/pull/4648) @pichlermarc
17+
* `getEnvWithoutDefaults()` would use `process.env` if it was defined when running in a browser, while `getEnv()` would always use `_globalThis`. Now both use `_globalThis` when running in a browser.
18+
* fix(resources): prevent circular import (resource -> detector -> resource -> ...) [#4653](https://github.com/open-telemetry/opentelemetry-js/pull/4653) @pichlermarc
19+
* fixes a circular import warning which would appear in rollup when bundling `@opentelemetry/resources`
20+
1621
### :books: (Refine Doc)
1722

1823
### :house: (Internal)
@@ -29,8 +34,6 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
2934

3035
* fix(sdk-trace-web): fix invalid timings in span events [#4486](https://github.com/open-telemetry/opentelemetry-js/pull/4486) @Abinet18
3136
* 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`
3437

3538
## 1.23.0
3639

packages/opentelemetry-core/src/platform/browser/environment.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ export function getEnv(): Required<ENVIRONMENT> {
3131
);
3232
return Object.assign({}, DEFAULT_ENVIRONMENT, globalEnv);
3333
}
34+
35+
export function getEnvWithoutDefaults(): ENVIRONMENT {
36+
return parseEnvironment(_globalThis as typeof globalThis & RAW_ENVIRONMENT);
37+
}

packages/opentelemetry-core/src/platform/browser/index.ts

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

17-
export * from './environment';
17+
export { getEnvWithoutDefaults, getEnv } from './environment';
1818
export * from './globalThis';
1919
export * from './hex-to-base64';
2020
export * from './RandomIdGenerator';

packages/opentelemetry-core/src/platform/node/environment.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,7 @@ export function getEnv(): Required<ENVIRONMENT> {
2828
const processEnv = parseEnvironment(process.env as RAW_ENVIRONMENT);
2929
return Object.assign({}, DEFAULT_ENVIRONMENT, processEnv);
3030
}
31+
32+
export function getEnvWithoutDefaults(): ENVIRONMENT {
33+
return parseEnvironment(process.env as RAW_ENVIRONMENT);
34+
}

packages/opentelemetry-core/src/platform/node/index.ts

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

17-
export * from './environment';
17+
export { getEnvWithoutDefaults, getEnv } from './environment';
1818
export * from './globalThis';
1919
export * from './hex-to-base64';
2020
export * from './RandomIdGenerator';

packages/opentelemetry-core/src/utils/environment.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import { DiagLogLevel } from '@opentelemetry/api';
1818
import { TracesSamplerValues } from './sampling';
19-
import { _globalThis } from '../platform/browser/globalThis';
2019

2120
const DEFAULT_LIST_SEPARATOR = ',';
2221

@@ -369,13 +368,3 @@ export function parseEnvironment(values: RAW_ENVIRONMENT): ENVIRONMENT {
369368

370369
return environment;
371370
}
372-
373-
/**
374-
* Get environment in node or browser without
375-
* populating default values.
376-
*/
377-
export function getEnvWithoutDefaults(): ENVIRONMENT {
378-
return typeof process !== 'undefined' && process && process.env
379-
? parseEnvironment(process.env as RAW_ENVIRONMENT)
380-
: parseEnvironment(_globalThis as typeof globalThis & RAW_ENVIRONMENT);
381-
}

0 commit comments

Comments
 (0)