Skip to content

Commit fddcd19

Browse files
chore!: update typescript to version 5.0.4 (#5145)
Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
1 parent 643f2bb commit fddcd19

File tree

75 files changed

+1170
-381
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1170
-381
lines changed

.github/workflows/unit-test.yml

-36
Original file line numberDiff line numberDiff line change
@@ -134,39 +134,3 @@ jobs:
134134
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
135135
with:
136136
verbose: true
137-
api-eol-node-test:
138-
strategy:
139-
fail-fast: false
140-
matrix:
141-
node_version:
142-
- "8"
143-
- "10"
144-
- "12"
145-
runs-on: ubuntu-latest
146-
steps:
147-
- name: Checkout
148-
uses: actions/checkout@v4
149-
150-
- uses: actions/setup-node@v4
151-
with:
152-
cache: 'npm'
153-
cache-dependency-path: |
154-
package-lock.json
155-
node-version: ${{ matrix.node_version }}
156-
157-
- name: Build
158-
working-directory: ./api
159-
run: |
160-
npm install --ignore-scripts
161-
npm install @types/mocha@^7 mocha@^7 ts-loader@^8
162-
node ../scripts/version-update.js
163-
npx tsc --build tsconfig.json tsconfig.esm.json
164-
165-
- name: Test
166-
working-directory: ./api
167-
# running test:eol as node 8 is not supported anymore by the version of nyc we use, as we don't report coverage
168-
# for this step we leave it out.
169-
# Details: nyc requires istanbul-lib-report, which silently dropped support for Node.js v8 when going from
170-
# 3.0.0 to 3.0.1 by requiring make-dir@^4.0.0 to fix https://github.com/advisories/GHSA-c2qf-rxjj-qqgw.
171-
# make-dir does not support Node.js v8 anymore.
172-
run: npm run test:eol

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ For semantic convention package changes, see the [semconv CHANGELOG](packages/se
2626
* refactor(sdk-trace-base)!: remove `new Span` constructor in favor of `Tracer.startSpan` API [#5048](https://github.com/open-telemetry/opentelemetry-js/pull/5048) @david-luna
2727
* refactor(sdk-trace-base)!: remove `BasicTracerProvider.addSpanProcessor` API in favor of constructor options. [#5134](https://github.com/open-telemetry/opentelemetry-js/pull/5134) @david-luna
2828
* refactor(sdk-trace-base)!: make `resource` property private in `BasicTracerProvider` and remove `getActiveSpanProcessor` API. [#5192](https://github.com/open-telemetry/opentelemetry-js/pull/5192) @david-luna
29+
* chore!: update typescript to version `5.0.4` [#5145](https://github.com/open-telemetry/opentelemetry-js/pull/5145) @david-luna
30+
* (user-facing) dropped support for `typescript@<5.0.4`
31+
* (user-facing) all packages published from this repository will from now on drop support for old versions of `typescript` in minor releases. We will only drop support for versions that are older than 2 years.
2932

3033
### :rocket: (Enhancement)
3134

CONTRIBUTING.md

+9
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,15 @@ cd packages/opentelemetry-module-name
203203
npm run watch
204204
```
205205

206+
#### TypeScript version & update policy
207+
208+
TypeScript version used to compile the pacakges is `v5.0.4`. If you plan to use any of the packages from this
209+
repository to make your own application or package instrumentation make sure to use same version or higher.
210+
211+
<!-- Ref: https://github.com/open-telemetry/opentelemetry-js/pull/5145#issuecomment-2518263890 -->
212+
As update policy OpenTelemetry JS will follow DefinitelyType's [support policy for TypeScript](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window)
213+
which sets a support window of 2 years.
214+
206215
### Running tests
207216

208217
Similar to compilations, tests can be run from the root to run all tests or from a single module to run only the tests for that module.

README.md

+7
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,13 @@ environments. Any support issues that arise from using a browser or runtime that
147147

148148
This minimum support level is subject to change as the project evolves and as the underlying language features evolve.
149149

150+
## TypeScript Support
151+
152+
OpenTelemetry JavaScript is built with TypeScript `v5.0.4`. If you have a TypeScript project (app, library, instrumentation, etc.)
153+
that depends on it we recomed using same or higher version to compile the project.
154+
155+
OpenTelemetry JavaScript will follows DefinitelyType's [support policy for TypeScript](https://github.com/DefinitelyTyped/DefinitelyTyped#support-window) which sets a support window of 2 years. Support for TypeScript versions older than 2 years will be dropped in minor releases of OpenTelemetry JavaScript.
156+
150157
## Package Version Compatibility
151158

152159
OpenTelemetry is released as a set of distinct packages in 3 categories: API, stable SDK, and experimental.

api/package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
"lint": "eslint . --ext .ts",
3939
"test:browser": "karma start --single-run",
4040
"test": "nyc mocha 'test/**/*.test.ts'",
41-
"test:eol": "mocha 'test/**/*.test.ts'",
4241
"test:webworker": "karma start karma.worker.js --single-run",
4342
"cycle-check": "dpdm --exit-code circular:1 src/index.ts",
4443
"version": "node ../scripts/version-update.js",
@@ -98,7 +97,7 @@
9897
"nyc": "15.1.0",
9998
"sinon": "15.1.2",
10099
"ts-loader": "9.5.1",
101-
"typescript": "4.4.4",
100+
"typescript": "5.0.4",
102101
"unionfs": "4.5.4",
103102
"webpack": "5.96.1"
104103
},

api/test/common/diag/logLevel.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ describe('LogLevelFilter DiagLogger', () => {
7777

7878
const levelMap: Array<{
7979
message: string;
80-
level: DiagLogLevel;
80+
level: number;
8181
ignoreFuncs: Array<keyof DiagLogger>;
8282
}> = [
8383
{ message: 'ALL', level: DiagLogLevel.ALL, ignoreFuncs: [] },

api/test/common/diag/logger.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616

1717
import * as assert from 'assert';
18-
import sinon = require('sinon');
18+
import * as sinon from 'sinon';
1919
import { diag, DiagLogLevel } from '../../../src';
2020
import { createNoopDiagLogger } from '../../../src/diag/internal/noopLogger';
2121
import { DiagLogger } from '../../../src/diag/types';

api/test/common/internal/global.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
*/
1616

1717
import * as assert from 'assert';
18+
import * as sinon from 'sinon';
1819
import { getGlobal } from '../../../src/internal/global-utils';
1920
import { _globalThis } from '../../../src/platform';
2021
import { NoopContextManager } from '../../../src/context/NoopContextManager';
2122
import { DiagLogLevel } from '../../../src/diag/types';
22-
import sinon = require('sinon');
2323

2424
const api1 = require('../../../src') as typeof import('../../../src');
2525

examples/opentelemetry-web/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"@babel/preset-env": "^7.22.20",
3838
"babel-loader": "^8.0.6",
3939
"ts-loader": "^9.2.6",
40-
"typescript": "^4.5.2",
40+
"typescript": "5.0.4",
4141
"webpack": "^5.89.0",
4242
"webpack-cli": "^5.1.4",
4343
"webpack-dev-server": "^5.2.0",

experimental/backwards-compatibility/node14/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
},
1616
"devDependencies": {
1717
"@types/node": "14.18.25",
18-
"typescript": "4.4.4"
18+
"typescript": "5.0.4"
1919
},
2020
"author": "OpenTelemetry Authors",
2121
"license": "Apache-2.0",

experimental/backwards-compatibility/node16/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
},
1616
"devDependencies": {
1717
"@types/node": "16.11.52",
18-
"typescript": "4.4.4"
18+
"typescript": "5.0.4"
1919
},
2020
"author": "OpenTelemetry Authors",
2121
"license": "Apache-2.0",

experimental/packages/api-events/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
"mocha": "10.8.2",
8080
"nyc": "15.1.0",
8181
"ts-loader": "9.5.1",
82-
"typescript": "4.4.4",
82+
"typescript": "5.0.4",
8383
"webpack": "5.96.1"
8484
},
8585
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/api-events",

experimental/packages/api-logs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
"mocha": "10.8.2",
7979
"nyc": "15.1.0",
8080
"ts-loader": "9.5.1",
81-
"typescript": "4.4.4",
81+
"typescript": "5.0.4",
8282
"webpack": "5.96.1"
8383
},
8484
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/api-logs",

experimental/packages/exporter-logs-otlp-grpc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"nyc": "15.1.0",
6363
"sinon": "15.1.2",
6464
"ts-loader": "9.5.1",
65-
"typescript": "4.4.4"
65+
"typescript": "5.0.4"
6666
},
6767
"peerDependencies": {
6868
"@opentelemetry/api": "^1.3.0"

experimental/packages/exporter-logs-otlp-http/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
"nyc": "15.1.0",
9393
"sinon": "15.1.2",
9494
"ts-loader": "9.5.1",
95-
"typescript": "4.4.4",
95+
"typescript": "5.0.4",
9696
"webpack": "5.96.1",
9797
"webpack-cli": "5.1.4"
9898
},

experimental/packages/exporter-logs-otlp-proto/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
"nyc": "15.1.0",
8383
"sinon": "15.1.2",
8484
"ts-loader": "9.5.1",
85-
"typescript": "4.4.4",
85+
"typescript": "5.0.4",
8686
"webpack": "5.96.1",
8787
"webpack-cli": "5.1.4"
8888
},

experimental/packages/exporter-trace-otlp-grpc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"nyc": "15.1.0",
6060
"sinon": "15.1.2",
6161
"ts-loader": "9.5.1",
62-
"typescript": "4.4.4"
62+
"typescript": "5.0.4"
6363
},
6464
"peerDependencies": {
6565
"@opentelemetry/api": "^1.3.0"

experimental/packages/exporter-trace-otlp-http/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
"nyc": "15.1.0",
8484
"sinon": "15.1.2",
8585
"ts-loader": "9.5.1",
86-
"typescript": "4.4.4",
86+
"typescript": "5.0.4",
8787
"webpack": "5.96.1",
8888
"webpack-cli": "5.1.4"
8989
},

experimental/packages/exporter-trace-otlp-proto/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
"nyc": "15.1.0",
8282
"sinon": "15.1.2",
8383
"ts-loader": "9.5.1",
84-
"typescript": "4.4.4",
84+
"typescript": "5.0.4",
8585
"webpack": "5.96.1",
8686
"webpack-cli": "5.1.4"
8787
},

experimental/packages/opentelemetry-browser-detector/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
"nyc": "15.1.0",
7373
"sinon": "15.1.2",
7474
"ts-loader": "9.5.1",
75-
"typescript": "4.4.4",
75+
"typescript": "5.0.4",
7676
"webpack": "5.96.1",
7777
"webpack-cli": "5.1.4"
7878
},

experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
"nyc": "15.1.0",
5959
"sinon": "15.1.2",
6060
"ts-loader": "9.5.1",
61-
"typescript": "4.4.4"
61+
"typescript": "5.0.4"
6262
},
6363
"peerDependencies": {
6464
"@opentelemetry/api": "^1.3.0"

experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
"nyc": "15.1.0",
8484
"sinon": "15.1.2",
8585
"ts-loader": "9.5.1",
86-
"typescript": "4.4.4",
86+
"typescript": "5.0.4",
8787
"webpack": "5.96.1",
8888
"webpack-cli": "5.1.4"
8989
},

experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"nyc": "15.1.0",
6666
"sinon": "15.1.2",
6767
"ts-loader": "9.5.1",
68-
"typescript": "4.4.4"
68+
"typescript": "5.0.4"
6969
},
7070
"peerDependencies": {
7171
"@opentelemetry/api": "^1.3.0"

experimental/packages/opentelemetry-exporter-prometheus/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"mocha": "10.8.2",
5454
"nyc": "15.1.0",
5555
"sinon": "15.1.2",
56-
"typescript": "4.4.4"
56+
"typescript": "5.0.4"
5757
},
5858
"peerDependencies": {
5959
"@opentelemetry/api": "^1.3.0"

experimental/packages/opentelemetry-instrumentation-fetch/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
"nyc": "15.1.0",
7979
"sinon": "15.1.2",
8080
"ts-loader": "9.5.1",
81-
"typescript": "4.4.4",
81+
"typescript": "5.0.4",
8282
"webpack": "5.96.1",
8383
"webpack-cli": "5.1.4"
8484
},

experimental/packages/opentelemetry-instrumentation-fetch/test/fetch.test.ts

+1
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ describe('fetch', () => {
233233
const decoder = new TextDecoder();
234234
requestBody = '';
235235
const read = async () => {
236+
// @ts-expect-error -- iterator symbol was removed from types
236237
for await (const c of body) {
237238
requestBody += decoder.decode(c);
238239
}

experimental/packages/opentelemetry-instrumentation-grpc/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"mocha": "10.8.2",
6666
"nyc": "15.1.0",
6767
"sinon": "15.1.2",
68-
"typescript": "4.4.4"
68+
"typescript": "5.0.4"
6969
},
7070
"peerDependencies": {
7171
"@opentelemetry/api": "^1.3.0"

experimental/packages/opentelemetry-instrumentation-http/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
"request-promise-native": "1.0.9",
6969
"sinon": "15.1.2",
7070
"superagent": "10.0.2",
71-
"typescript": "4.4.4"
71+
"typescript": "5.0.4"
7272
},
7373
"peerDependencies": {
7474
"@opentelemetry/api": "^1.3.0"

experimental/packages/opentelemetry-instrumentation-http/test/functionals/http-package.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import * as superagent from 'superagent';
3838
// Temporarily removed. See https://github.com/open-telemetry/opentelemetry-js/issues/3344
3939
// import * as got from 'got';
4040
import * as nock from 'nock';
41-
import axios, { AxiosResponse } from 'axios';
41+
import * as axios from 'axios';
4242

4343
const memoryExporter = new InMemorySpanExporter();
4444
const protocol = 'http';
@@ -96,7 +96,7 @@ describe('Packages', () => {
9696
);
9797
const result = await httpPackage.get(urlparsed.href!);
9898
if (!resHeaders) {
99-
const res = result as AxiosResponse<unknown>;
99+
const res = result as axios.AxiosResponse<unknown>;
100100
resHeaders = res.headers as any;
101101
}
102102
const spans = memoryExporter.getFinishedSpans();

experimental/packages/opentelemetry-instrumentation-http/test/functionals/https-package.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import * as superagent from 'superagent';
3838
// Temporarily removed. See https://github.com/open-telemetry/opentelemetry-js/issues/3344
3939
// import * as got from 'got';
4040
import * as nock from 'nock';
41-
import axios, { AxiosResponse } from 'axios';
41+
import * as axios from 'axios';
4242

4343
const memoryExporter = new InMemorySpanExporter();
4444
const customAttributeFunction = (span: Span): void => {
@@ -96,7 +96,7 @@ describe('Packages', () => {
9696
);
9797
const result = await httpPackage.get(urlparsed.href!);
9898
if (!resHeaders) {
99-
const res = result as AxiosResponse<unknown>;
99+
const res = result as axios.AxiosResponse<unknown>;
100100
resHeaders = res.headers as any;
101101
}
102102
const spans = memoryExporter.getFinishedSpans();

experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
"nyc": "15.1.0",
7979
"sinon": "15.1.2",
8080
"ts-loader": "9.5.1",
81-
"typescript": "4.4.4",
81+
"typescript": "5.0.4",
8282
"webpack": "5.96.1",
8383
"webpack-cli": "5.1.4"
8484
},

experimental/packages/opentelemetry-instrumentation-xml-http-request/test/unmocked.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH } from '@opentelemetry/semantic-c
1919
import { ReadableSpan, SpanProcessor } from '@opentelemetry/sdk-trace-base';
2020
import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
2121
import { XMLHttpRequestInstrumentation } from '../src';
22-
import assert = require('assert');
22+
import * as assert from 'assert';
2323

2424
class TestSpanProcessor implements SpanProcessor {
2525
spans: ReadableSpan[] = [];

experimental/packages/opentelemetry-instrumentation/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
"nyc": "15.1.0",
106106
"sinon": "15.1.2",
107107
"ts-loader": "9.5.1",
108-
"typescript": "4.4.4",
108+
"typescript": "5.0.4",
109109
"webpack": "5.96.1",
110110
"webpack-cli": "5.1.4"
111111
},

experimental/packages/opentelemetry-sdk-node/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
"nyc": "15.1.0",
8282
"sinon": "15.1.2",
8383
"ts-loader": "9.5.1",
84-
"typescript": "4.4.4"
84+
"typescript": "5.0.4"
8585
},
8686
"homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node",
8787
"sideEffects": false

0 commit comments

Comments
 (0)