From ae997f3f3b6aadd9aca4b2e6f1bca6ab7dd3c557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerhard=20St=C3=B6bich?= Date: Tue, 9 Feb 2021 17:57:02 +0100 Subject: [PATCH 1/3] chore: update typescript to 4.x and gts to 3.x (#336) Update typescript and gts to new major versions. Additionally update eslint and plugins to latest versions and fix some other minor issues like repository field in package.json. --- .../package.json | 6 +++--- package.json | 17 +++++++---------- packages/opentelemetry-host-metrics/.gitignore | 0 .../opentelemetry-host-metrics/package.json | 8 ++++---- .../opentelemetry-host-metrics/tsconfig.json | 1 - packages/opentelemetry-host-metrics/tslint.json | 4 ---- packages/opentelemetry-test-utils/package.json | 6 +++--- .../package.json | 6 ++---- .../test/hapi-plugin.test.ts | 3 +-- .../package.json | 6 +++--- .../src/utils.ts | 11 +++++------ .../package.json | 6 ++---- .../test/koa-router.test.ts | 2 +- .../test/koa.test.ts | 2 +- .../node/opentelemetry-plugin-dns/package.json | 6 +++--- .../node/opentelemetry-plugin-dns/src/utils.ts | 3 +-- .../opentelemetry-plugin-express/package.json | 7 +++---- .../test/express.test.ts | 8 ++++---- .../opentelemetry-plugin-ioredis/package.json | 6 +++--- .../opentelemetry-plugin-mongodb/package.json | 6 +++--- .../opentelemetry-plugin-mongodb/src/mongodb.ts | 6 ++---- .../opentelemetry-plugin-mysql/package.json | 6 +++--- .../test/mysql.test.ts | 2 -- .../opentelemetry-plugin-pg-pool/package.json | 6 +++--- .../node/opentelemetry-plugin-pg/package.json | 6 +++--- .../opentelemetry-plugin-redis/package.json | 6 +++--- .../package.json | 6 +++--- .../package.json | 6 +++--- .../package.json | 4 ++-- .../package.json | 4 ++-- .../package.json | 6 +++--- .../package.json | 4 ++-- 32 files changed, 78 insertions(+), 98 deletions(-) delete mode 100644 packages/opentelemetry-host-metrics/.gitignore delete mode 100644 packages/opentelemetry-host-metrics/tslint.json diff --git a/detectors/node/opentelemetry-resource-detector-github/package.json b/detectors/node/opentelemetry-resource-detector-github/package.json index c64e813945..0d4e4fc39b 100644 --- a/detectors/node/opentelemetry-resource-detector-github/package.json +++ b/detectors/node/opentelemetry-resource-detector-github/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry SDK resource detector for GitHub", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "clean": "rimraf build/*", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../../", @@ -49,7 +49,7 @@ "@types/node": "14.0.27", "@types/sinon": "9.0.4", "codecov": "3.7.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nock": "13.0.5", "nyc": "15.1.0", @@ -57,7 +57,7 @@ "sinon": "9.0.2", "ts-mocha": "8.0.0", "ts-node": "8.10.2", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/package.json b/package.json index c9ec44c635..88671c2462 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,8 @@ { "name": "opentelemetry-contrib", - "version": "0.12.1", + "version": "0.13.0", "description": "This is a repository for OpenTelemetry JavaScript contributions.", - "repository": { - "type": "git", - "url": "git+ssh://git@github.com/open-telemetry/opentelemetry-js-contrib.git" - }, + "repository": "open-telemetry/opentelemetry-js-contrib", "publishConfig": { "access": "public" }, @@ -44,15 +41,15 @@ "@commitlint/config-conventional": "11.0.0", "@typescript-eslint/eslint-plugin": "4.3.0", "@typescript-eslint/parser": "4.3.0", - "eslint": "7.4.0", + "eslint": "7.19.0", "eslint-config-airbnb-base": "14.2.0", - "eslint-plugin-header": "3.0.0", - "eslint-plugin-import": "2.22.0", - "gts": "2.0.2", + "eslint-plugin-header": "3.1.1", + "eslint-plugin-import": "2.22.1", + "gts": "3.1.0", "husky": "4.2.5", "lerna": "3.22.1", "lerna-changelog": "1.0.1", - "typescript": "3.9.6" + "typescript": "4.1.3" }, "husky": { "hooks": { diff --git a/packages/opentelemetry-host-metrics/.gitignore b/packages/opentelemetry-host-metrics/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/opentelemetry-host-metrics/package.json b/packages/opentelemetry-host-metrics/package.json index d0dd214a93..555d99568c 100644 --- a/packages/opentelemetry-host-metrics/package.json +++ b/packages/opentelemetry-host-metrics/package.json @@ -9,8 +9,8 @@ "clean": "rimraf build/*", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", "compile": "npm run version:update && tsc -p .", - "lint": "gts check", - "lint:fix": "gts fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "precompile": "tsc --version", "prepare": "npm run compile", "tdd": "npm run test -- --watch-extensions ts --watch", @@ -47,7 +47,7 @@ "@types/node": "14.0.27", "@types/sinon": "9.0.4", "codecov": "3.8.0", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "mock-require": "3.0.3", "nan": "2.14.2", @@ -58,7 +58,7 @@ "ts-loader": "8.0.7", "ts-mocha": "8.0.0", "ts-node": "8.10.2", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/packages/opentelemetry-host-metrics/tsconfig.json b/packages/opentelemetry-host-metrics/tsconfig.json index 4b1645af66..4078877ce6 100644 --- a/packages/opentelemetry-host-metrics/tsconfig.json +++ b/packages/opentelemetry-host-metrics/tsconfig.json @@ -6,7 +6,6 @@ }, "include": [ "src/**/*.ts", - "scripts/**/*.js", "test/**/*.ts" ] } diff --git a/packages/opentelemetry-host-metrics/tslint.json b/packages/opentelemetry-host-metrics/tslint.json deleted file mode 100644 index 0710b135d0..0000000000 --- a/packages/opentelemetry-host-metrics/tslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "rulesDirectory": ["node_modules/tslint-microsoft-contrib"], - "extends": ["../../tslint.base.js", "./node_modules/tslint-consistent-codestyle"] -} diff --git a/packages/opentelemetry-test-utils/package.json b/packages/opentelemetry-test-utils/package.json index 7b0ee05275..37108e0626 100644 --- a/packages/opentelemetry-test-utils/package.json +++ b/packages/opentelemetry-test-utils/package.json @@ -12,7 +12,7 @@ "prepare": "npm run compile", "watch": "tsc -w" }, - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "keywords": [ "opentelemetry", "test-utils" @@ -25,11 +25,11 @@ "homepage": "https://github.com/open-telemetry/opentelemetry-js#readme", "devDependencies": { "@types/node": "14.6.0", - "gts": "2.0.2", + "gts": "3.1.0", "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.6" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "0.15.0", diff --git a/plugins/node/opentelemetry-hapi-instrumentation/package.json b/plugins/node/opentelemetry-hapi-instrumentation/package.json index c0a18a7b7a..21dd0188f8 100644 --- a/plugins/node/opentelemetry-hapi-instrumentation/package.json +++ b/plugins/node/opentelemetry-hapi-instrumentation/package.json @@ -50,9 +50,7 @@ "@types/node": "12.12.47", "@types/shimmer": "1.0.1", "codecov": "3.7.0", - "eslint": "7.8.1", - "eslint-plugin-header": "3.1.0", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "rimraf": "3.0.2", @@ -61,7 +59,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.6" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-hapi-instrumentation/test/hapi-plugin.test.ts b/plugins/node/opentelemetry-hapi-instrumentation/test/hapi-plugin.test.ts index fe76b25bad..6fbd5dbe67 100644 --- a/plugins/node/opentelemetry-hapi-instrumentation/test/hapi-plugin.test.ts +++ b/plugins/node/opentelemetry-hapi-instrumentation/test/hapi-plugin.test.ts @@ -335,8 +335,7 @@ describe('Hapi Instrumentation - Hapi.Plugin Tests', () => { const rootSpan = tracer.startSpan('rootSpan'); // Suppress this ts error due the Hapi plugin type definition is incomplete. server.register can accept nested plugin. See reference https://hapi.dev/api/?v=20.0.0#-routeoptionshandler await server.register({ - // @ts-ignore - plugin: nestedPackagePlugin, + plugin: nestedPackagePlugin as any, }); await server.start(); assert.strictEqual(memoryExporter.getFinishedSpans().length, 0); diff --git a/plugins/node/opentelemetry-instrumentation-graphql/package.json b/plugins/node/opentelemetry-instrumentation-graphql/package.json index 8eeb8070b5..1e81d98ca9 100644 --- a/plugins/node/opentelemetry-instrumentation-graphql/package.json +++ b/plugins/node/opentelemetry-instrumentation-graphql/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry @opentelemetry/instrumentation-graphql automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "clean": "rimraf build/*", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../../", @@ -50,7 +50,7 @@ "@types/semver": "7.3.1", "codecov": "3.7.2", "graphql": "15.4.0", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "rimraf": "3.0.2", @@ -58,7 +58,7 @@ "shimmer": "1.2.1", "ts-mocha": "8.0.0", "ts-node": "8.10.2", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts b/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts index c6ea59eacd..cffacbff53 100644 --- a/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts +++ b/plugins/node/opentelemetry-instrumentation-graphql/src/utils.ts @@ -142,15 +142,14 @@ export function getOperation( if (operationName) { return document.definitions .filter( - definition => OPERATION_VALUES.indexOf(definition?.operation) !== -1 - ) - .find( definition => - operationName === (definition.name && definition.name.value) - ); + OPERATION_VALUES.indexOf((definition as any)?.operation) !== -1 + ) + .find(definition => operationName === (definition as any)?.name?.value); } else { return document.definitions.find( - definition => OPERATION_VALUES.indexOf(definition?.operation) !== -1 + definition => + OPERATION_VALUES.indexOf((definition as any)?.operation) !== -1 ); } } diff --git a/plugins/node/opentelemetry-koa-instrumentation/package.json b/plugins/node/opentelemetry-koa-instrumentation/package.json index d560894aee..99cdb2e2ac 100644 --- a/plugins/node/opentelemetry-koa-instrumentation/package.json +++ b/plugins/node/opentelemetry-koa-instrumentation/package.json @@ -53,9 +53,7 @@ "@types/node": "12.12.47", "@types/shimmer": "1.0.1", "codecov": "3.7.1", - "eslint": "7.8.1", - "eslint-plugin-header": "3.1.0", - "gts": "2.0.2", + "gts": "3.1.0", "koa": "2.13.0", "mocha": "7.2.0", "nyc": "15.1.0", @@ -64,7 +62,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.6" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-koa-instrumentation/test/koa-router.test.ts b/plugins/node/opentelemetry-koa-instrumentation/test/koa-router.test.ts index 3fa43aeef3..d748522119 100644 --- a/plugins/node/opentelemetry-koa-instrumentation/test/koa-router.test.ts +++ b/plugins/node/opentelemetry-koa-instrumentation/test/koa-router.test.ts @@ -71,7 +71,7 @@ describe('Koa Instrumentation - Router Tests', () => { app = new koa(); server = http.createServer(app.callback()); - await new Promise(resolve => server.listen(0, resolve)); + await new Promise(resolve => server.listen(0, resolve)); port = (server.address() as AddressInfo).port; assert.strictEqual(memoryExporter.getFinishedSpans().length, 0); }); diff --git a/plugins/node/opentelemetry-koa-instrumentation/test/koa.test.ts b/plugins/node/opentelemetry-koa-instrumentation/test/koa.test.ts index 087f9c6ef0..30eadc3c99 100644 --- a/plugins/node/opentelemetry-koa-instrumentation/test/koa.test.ts +++ b/plugins/node/opentelemetry-koa-instrumentation/test/koa.test.ts @@ -73,7 +73,7 @@ describe('Koa Instrumentation - Core Tests', () => { app = new koa(); server = http.createServer(app.callback()); - await new Promise(resolve => server.listen(0, resolve)); + await new Promise(resolve => server.listen(0, resolve)); port = (server.address() as AddressInfo).port; assert.strictEqual(memoryExporter.getFinishedSpans().length, 0); }); diff --git a/plugins/node/opentelemetry-plugin-dns/package.json b/plugins/node/opentelemetry-plugin-dns/package.json index a5fc73555c..67ce9be6a6 100644 --- a/plugins/node/opentelemetry-plugin-dns/package.json +++ b/plugins/node/opentelemetry-plugin-dns/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry dns automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "tdd": "npm run test -- --watch-extensions ts --watch", @@ -49,7 +49,7 @@ "@types/shimmer": "1.0.1", "@types/sinon": "9.0.4", "codecov": "3.7.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "rimraf": "3.0.2", @@ -58,7 +58,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-dns/src/utils.ts b/plugins/node/opentelemetry-plugin-dns/src/utils.ts index 00da1bddb1..273d5214b5 100644 --- a/plugins/node/opentelemetry-plugin-dns/src/utils.ts +++ b/plugins/node/opentelemetry-plugin-dns/src/utils.ts @@ -104,10 +104,9 @@ export const setLookupAttributes = ( /** * Check whether the given obj match pattern * @param constant e.g URL of request - * @param obj obj to inspect * @param pattern Match pattern */ -export const satisfiesPattern = ( +export const satisfiesPattern = ( constant: string, pattern: IgnoreMatcher ): boolean => { diff --git a/plugins/node/opentelemetry-plugin-express/package.json b/plugins/node/opentelemetry-plugin-express/package.json index 8e7bf2ab58..10ef9e453e 100644 --- a/plugins/node/opentelemetry-plugin-express/package.json +++ b/plugins/node/opentelemetry-plugin-express/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry express automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.ts'", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", @@ -50,9 +50,8 @@ "@types/node": "14.0.27", "@types/shimmer": "1.0.1", "codecov": "3.7.2", - "eslint-plugin-header": "3.1.1", "express": "4.17.1", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "rimraf": "3.0.2", @@ -60,7 +59,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-express/test/express.test.ts b/plugins/node/opentelemetry-plugin-express/test/express.test.ts index 03065e566a..56d618243e 100644 --- a/plugins/node/opentelemetry-plugin-express/test/express.test.ts +++ b/plugins/node/opentelemetry-plugin-express/test/express.test.ts @@ -314,7 +314,7 @@ describe('Express Plugin', () => { return res.status(200).end('test'); }); const server = http.createServer(app); - await new Promise(resolve => server.listen(0, resolve)); + await new Promise(resolve => server.listen(0, resolve)); const port = (server.address() as AddressInfo).port; assert.strictEqual(memoryExporter.getFinishedSpans().length, 0); const res = await httpRequest.get(`http://localhost:${port}/toto/tata`); @@ -341,7 +341,7 @@ describe('Express Plugin', () => { return next(); }); const server = http.createServer(app); - await new Promise(resolve => server.listen(0, resolve)); + await new Promise(resolve => server.listen(0, resolve)); const port = (server.address() as AddressInfo).port; assert.strictEqual(memoryExporter.getFinishedSpans().length, 0); @@ -400,7 +400,7 @@ describe('Express Plugin', () => { }); server = http.createServer(app); - await new Promise(resolve => server.listen(0, resolve)); + await new Promise(resolve => server.listen(0, resolve)); }); afterEach(() => { @@ -458,7 +458,7 @@ describe('Express Plugin', () => { return next(); }); const server = http.createServer(app); - await new Promise(resolve => server.listen(0, resolve)); + await new Promise(resolve => server.listen(0, resolve)); const port = (server.address() as AddressInfo).port; assert.strictEqual(memoryExporter.getFinishedSpans().length, 0); await context.with(setSpan(context.active(), rootSpan), async () => { diff --git a/plugins/node/opentelemetry-plugin-ioredis/package.json b/plugins/node/opentelemetry-plugin-ioredis/package.json index 678c594247..03d5a6a4b1 100644 --- a/plugins/node/opentelemetry-plugin-ioredis/package.json +++ b/plugins/node/opentelemetry-plugin-ioredis/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry ioredis automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "test:debug": "cross-env RUN_REDIS_TESTS_LOCAL=true ts-mocha --inspect-brk --no-timeouts -p tsconfig.json 'test/**/*.test.ts'", @@ -54,7 +54,7 @@ "@types/shimmer": "1.0.1", "codecov": "3.7.2", "cross-env": "7.0.2", - "gts": "2.0.2", + "gts": "3.1.0", "ioredis": "4.17.3", "mocha": "7.2.0", "nyc": "15.1.0", @@ -63,7 +63,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-mongodb/package.json b/plugins/node/opentelemetry-plugin-mongodb/package.json index e55d708153..3d59daf6f4 100644 --- a/plugins/node/opentelemetry-plugin-mongodb/package.json +++ b/plugins/node/opentelemetry-plugin-mongodb/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry mongodb automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", @@ -49,7 +49,7 @@ "@types/node": "14.0.27", "@types/shimmer": "1.0.1", "codecov": "3.7.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "mongodb": "3.5.9", "nyc": "15.1.0", @@ -58,7 +58,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-mongodb/src/mongodb.ts b/plugins/node/opentelemetry-plugin-mongodb/src/mongodb.ts index 83e5521e1b..43893aae25 100644 --- a/plugins/node/opentelemetry-plugin-mongodb/src/mongodb.ts +++ b/plugins/node/opentelemetry-plugin-mongodb/src/mongodb.ts @@ -63,10 +63,8 @@ export class MongoDBPlugin extends BasePlugin { this._logger.debug(`patching mongodb.Server.prototype.${fn}`); shimmer.wrap( this._moduleExports.Server.prototype, - // Forced to ignore due to incomplete typings - // eslint-disable-next-line @typescript-eslint/ban-ts-ignore - // @ts-ignore - fn, + // Forced to cast due to incomplete typings + fn as any, this._getPatchCommand(fn) ); } diff --git a/plugins/node/opentelemetry-plugin-mysql/package.json b/plugins/node/opentelemetry-plugin-mysql/package.json index 697128ced8..fa1c499238 100644 --- a/plugins/node/opentelemetry-plugin-mysql/package.json +++ b/plugins/node/opentelemetry-plugin-mysql/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry mysql automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", @@ -51,7 +51,7 @@ "@types/node": "14.0.27", "@types/shimmer": "1.0.1", "codecov": "3.7.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "mysql": "2.18.1", "nyc": "15.1.0", @@ -60,7 +60,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-mysql/test/mysql.test.ts b/plugins/node/opentelemetry-plugin-mysql/test/mysql.test.ts index 6d8d0092ee..1dd1c4381e 100644 --- a/plugins/node/opentelemetry-plugin-mysql/test/mysql.test.ts +++ b/plugins/node/opentelemetry-plugin-mysql/test/mysql.test.ts @@ -503,8 +503,6 @@ describe('mysql@2.x', () => { const span = provider.getTracer('default').startSpan('test span'); context.with(setSpan(context.active(), span), () => { const sql = 'SELECT 1+? as solution'; - // @ts-ignore this is documented https://github.com/mysqljs/mysql#performing-queries - // but does not match the typings poolClusterConnection.query({ sql }, [1], (err, res) => { assert.ifError(err); assert.ok(res); diff --git a/plugins/node/opentelemetry-plugin-pg-pool/package.json b/plugins/node/opentelemetry-plugin-pg-pool/package.json index 10ace2b8c4..509878c5af 100644 --- a/plugins/node/opentelemetry-plugin-pg-pool/package.json +++ b/plugins/node/opentelemetry-plugin-pg-pool/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry postgres pool automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "test:debug": "ts-mocha --inspect-brk --no-timeouts -p tsconfig.json 'test/**/*.test.ts'", @@ -58,7 +58,7 @@ "@types/shimmer": "1.0.1", "codecov": "3.7.2", "cross-env": "7.0.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "pg": "8.3.0", @@ -68,7 +68,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-pg/package.json b/plugins/node/opentelemetry-plugin-pg/package.json index e16f79acb9..800d3b40b9 100644 --- a/plugins/node/opentelemetry-plugin-pg/package.json +++ b/plugins/node/opentelemetry-plugin-pg/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry postgres automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "test:debug": "ts-mocha --inspect-brk --no-timeouts -p tsconfig.json 'test/**/*.test.ts'", @@ -56,7 +56,7 @@ "@types/shimmer": "1.0.1", "codecov": "3.7.2", "cross-env": "7.0.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "pg": "8.3.0", @@ -65,7 +65,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/node/opentelemetry-plugin-redis/package.json b/plugins/node/opentelemetry-plugin-redis/package.json index f5475d6da9..3ff0b1eadf 100644 --- a/plugins/node/opentelemetry-plugin-redis/package.json +++ b/plugins/node/opentelemetry-plugin-redis/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry redis automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "test:debug": "cross-env RUN_REDIS_TESTS_LOCAL=true ts-mocha --inspect-brk --no-timeouts -p tsconfig.json 'test/**/*.test.ts'", @@ -54,7 +54,7 @@ "@types/shimmer": "1.0.1", "codecov": "3.7.2", "cross-env": "7.0.2", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "redis": "3.0.2", @@ -63,7 +63,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json index 71132e3e32..0f3870fce5 100644 --- a/plugins/web/opentelemetry-instrumentation-user-interaction/package.json +++ b/plugins/web/opentelemetry-instrumentation-user-interaction/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry UserInteraction automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", @@ -55,7 +55,7 @@ "@types/webpack-env": "1.15.2", "babel-loader": "8.1.0", "codecov": "3.7.2", - "gts": "2.0.2", + "gts": "3.1.0", "istanbul-instrumenter-loader": "3.0.1", "karma": "5.1.1", "karma-chrome-launcher": "3.1.0", @@ -73,7 +73,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7", + "typescript": "4.1.3", "webpack": "4.44.1", "webpack-cli": "4.0.0", "webpack-merge": "5.1.1", diff --git a/plugins/web/opentelemetry-plugin-document-load/package.json b/plugins/web/opentelemetry-plugin-document-load/package.json index 99dbece259..cf7bb75d4f 100644 --- a/plugins/web/opentelemetry-plugin-document-load/package.json +++ b/plugins/web/opentelemetry-plugin-document-load/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry document-load automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "clean": "rimraf build/*", "lint": "eslint . --ext .ts", @@ -49,7 +49,7 @@ "@types/webpack-env": "1.15.2", "babel-loader": "8.1.0", "codecov": "3.7.1", - "gts": "2.0.2", + "gts": "3.1.0", "istanbul-instrumenter-loader": "3.0.1", "karma": "5.1.0", "karma-chrome-launcher": "3.1.0", @@ -66,7 +66,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.6", + "typescript": "4.1.3", "webpack": "4.43.0", "webpack-cli": "4.0.0", "webpack-merge": "5.0.9" diff --git a/plugins/web/opentelemetry-plugin-react-load/package.json b/plugins/web/opentelemetry-plugin-react-load/package.json index d4ecdc9178..89e76691d0 100644 --- a/plugins/web/opentelemetry-plugin-react-load/package.json +++ b/plugins/web/opentelemetry-plugin-react-load/package.json @@ -54,7 +54,7 @@ "@types/webpack-env": "1.15.2", "babel-loader": "8.1.0", "codecov": "3.7.0", - "gts": "2.0.2", + "gts": "3.1.0", "istanbul-instrumenter-loader": "3.0.1", "karma": "5.1.0", "karma-chrome-launcher": "3.1.0", @@ -73,7 +73,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.5", + "typescript": "4.1.3", "webpack": "4.43.0", "webpack-cli": "4.0.0", "webpack-merge": "5.2.0" diff --git a/propagators/opentelemetry-propagator-grpc-census-binary/package.json b/propagators/opentelemetry-propagator-grpc-census-binary/package.json index abe41d55ea..332bc7d4fb 100644 --- a/propagators/opentelemetry-propagator-grpc-census-binary/package.json +++ b/propagators/opentelemetry-propagator-grpc-census-binary/package.json @@ -46,7 +46,7 @@ "@types/node": "14.0.27", "codecov": "3.7.2", "grpc": "1.24.3", - "gts": "2.0.2", + "gts": "3.1.0", "mocha": "7.2.0", "nyc": "15.1.0", "rimraf": "3.0.2", @@ -55,7 +55,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.7" + "typescript": "4.1.3" }, "dependencies": { "@opentelemetry/api": "^0.15.0", diff --git a/propagators/opentelemetry-propagator-jaeger/package.json b/propagators/opentelemetry-propagator-jaeger/package.json index 22adb8c14d..aedc476c54 100644 --- a/propagators/opentelemetry-propagator-jaeger/package.json +++ b/propagators/opentelemetry-propagator-jaeger/package.json @@ -4,7 +4,7 @@ "description": "OpenTelemetry Jaeger propagator provides HTTP header propagation for systems that are using Jaeger HTTP header format.", "main": "build/src/index.js", "types": "build/src/index.d.ts", - "repository": "open-telemetry/opentelemetry-js", + "repository": "open-telemetry/opentelemetry-js-contrib", "scripts": { "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts' --exclude 'test/index-webpack.ts'", "test:browser": "nyc karma start --single-run", @@ -49,7 +49,7 @@ "@types/sinon": "9.0.4", "@types/webpack-env": "1.15.2", "codecov": "3.7.1", - "gts": "2.0.2", + "gts": "3.1.0", "istanbul-instrumenter-loader": "3.0.1", "karma": "5.1.0", "karma-chrome-launcher": "3.1.0", @@ -66,7 +66,7 @@ "ts-node": "9.0.0", "tslint-consistent-codestyle": "1.16.0", "tslint-microsoft-contrib": "6.2.0", - "typescript": "3.9.6", + "typescript": "4.1.3", "webpack": "4.43.0" }, "dependencies": { diff --git a/propagators/opentelemetry-propagator-ot-trace/package.json b/propagators/opentelemetry-propagator-ot-trace/package.json index 3f0a7306e2..2b8840b907 100644 --- a/propagators/opentelemetry-propagator-ot-trace/package.json +++ b/propagators/opentelemetry-propagator-ot-trace/package.json @@ -48,7 +48,7 @@ "@types/node": "14.14.12", "@types/webpack-env": "1.16.0", "codecov": "3.8.1", - "gts": "2.0.2", + "gts": "3.1.0", "istanbul-instrumenter-loader": "3.0.1", "karma": "5.2.3", "karma-chrome-launcher": "3.1.0", @@ -61,7 +61,7 @@ "rimraf": "3.0.2", "ts-loader": "8.0.12", "ts-mocha": "8.0.0", - "typescript": "3.9.7", + "typescript": "4.1.3", "webpack": "4.46.0" } } From 1555567bd7a7e54215a9bbd3b06bc22617baae2c Mon Sep 17 00:00:00 2001 From: William Armiros Date: Tue, 9 Feb 2021 14:56:43 -0600 Subject: [PATCH 2/3] ci: added auto-publish release workflows and updated docs --- .github/workflows/publish.yml | 81 ++++++++++++++++++++++++++++++++ .github/workflows/release-pr.yml | 63 +++++++++++++++++++++++++ CHANGELOG.md | 2 +- RELEASING.md | 26 +++++++++- lerna.json | 3 +- package.json | 4 +- scripts/changelog-update.sh | 8 ++++ scripts/publish.sh | 13 +++++ 8 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/release-pr.yml create mode 100755 scripts/changelog-update.sh create mode 100755 scripts/publish.sh diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..77ce8bc0da --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,81 @@ +name: Publish a New Release +on: + pull_request: + branches: [main] + types: [closed] + +jobs: + publish_to_npm: + name: Publish to NPM and GitHub + runs-on: ubuntu-latest + steps: + + # Determine if PR was a valid merged release PR. If so, publish the new release. Otherwise, do nothing. + # This is a valid release PR if the following 3 things are true: + # 1. The head (source) branch of the PR matches the expected "release/x.y.z" pattern + # 2. The PR has been merged, rather than closed + # 3. The head (source) repo of the PR is not a fork, or in other words the PR is made from a branch within the main repo + - name: Validate Release PR + id: validate_pr + run: | + merged=${{ github.event.pull_request.merged }} + forked=${{ github.event.pull_request.head.repo.fork }} + echo "Source branch is ${{ github.head_ref }}; merged = $merged; from a fork = $forked" + if [ $(grep -E '^release/[0-9]+\.[0-9]+\..+$' <<< '${{ github.head_ref }}') ] && [ $merged = true ] && [ $forked = false ] + then + echo "::set-output name=is_release::true" + fi + + # Get release version and draft release tag from PR metadata + - name: Get Release Metadata + if: steps.validate_pr.outputs.is_release + id: metadata + run: | + version=$(cut -d'/' -f2 <<< '${{ github.head_ref }}') + echo "::set-output name=version::$version" + + - name: Checkout Repository + if: steps.validate_pr.outputs.is_release + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: '14.x' + registry-url: 'https://registry.npmjs.org' + + - name: Publish to NPM + if: steps.validate_pr.outputs.is_release + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + run: ./scripts/publish.sh + + # Generates changelog without the "Unreleased" portion for use in release body + # Newlines must be URL-encoded to render properly in the GitHub UI + - name: Generate Release Body + if: steps.validate_pr.outputs.is_release + id: generate-changelog + env: + GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }} + run: | + description=$(npx lerna-changelog | sed '1,3d') + description="${description//'%'/'%25'}" + description="${description//$'\n'/'%0A'}" + description="${description//$'\r'/'%0D'}" + echo "::set-output name=CHANGELOG::$description" + + - name: Create GitHub Release + if: steps.validate_pr.outputs.is_release + id: make-release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: 'v${{ steps.metadata.outputs.version }}' + commitish: main + release_name: 'v${{ steps.metadata.outputs.version }} Release' + body: "${{ steps.generate-changelog.outputs.CHANGELOG }}" + draft: false + prerelease: false diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml new file mode 100644 index 0000000000..3e29aa3382 --- /dev/null +++ b/.github/workflows/release-pr.yml @@ -0,0 +1,63 @@ +name: Create New Release PR +on: + workflow_dispatch: + inputs: + version: + description: The semver-compliant version to tag the release with, e.g. 1.2.3, 1.0.0-rc.1 + required: true + +jobs: + create_release_pr: + name: Create Release PR and Draft Release + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: '14.x' + + - name: Cache Dependencies + uses: actions/cache@v2 + with: + path: | + node_modules + package-lock.json + detectors/node/*/node_modules + metapackages/*/node_modules + packages/*/node_modules + plugins/node/*/node_modules + plugins/web/*/node_modules + propagators/*/node_modules + key: ${{ runner.os }}-${{ matrix.container }}-${{ hashFiles('**/package.json') }} + + # Bump versions in all package.json and version.ts files + - name: Prepare Release + run: | + npm install + npm --no-git-tag-version version ${{ github.event.inputs.version }} + npx lerna publish ${{ github.event.inputs.version }} --skip-npm --no-git-tag-version --no-push --yes + npx lerna bootstrap --no-ci + + - name: Update Changelog + env: + GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }} + run: ./scripts/changelog-update.sh ${{ github.event.inputs.version }} + + # Make PR with version bumps and changelog update. Merging this PR triggers publish workflow. + # See: https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/.github/workflows/publish.yml + - name: Create Release PR + uses: peter-evans/create-pull-request@v3 + with: + branch: release/${{ github.event.inputs.version }} + commit-message: 'chore: ${{ github.event.inputs.version }} release proposal' + title: 'chore: ${{ github.event.inputs.version }} release proposal' + body: | + This is an auto-generated release PR. If additional changes need to be incorporated before the release, the CHANGELOG must be updated manually. + + Merging this PR will automatically release all packages to NPM. + delete-branch: true diff --git a/CHANGELOG.md b/CHANGELOG.md index c63dfad1cd..a3b2168070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -All notable changes to this project will be documented in this file. +All notable changes to this project will be documented in this file. Do not remove the "Unreleased" header; it is used in the automated release workflow. ## Unreleased diff --git a/RELEASING.md b/RELEASING.md index e124d0c6fc..ba3cb2d794 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -2,7 +2,31 @@ This document explains how to publish all OT modules at version x.y.z. Ensure that you’re following semver when choosing a version number. -Release Process: +## Auto-generate a Release PR + +Navigate to the [Create a Release PR Worflow](https://github.com/open-telemetry/opentelemetry-js-contrib/actions/workflows/release-pr.yml). Click the "Run workflow" dropdown, enter the semver-compliant version to release, then click "Run workflow". It will generate a release pull request from a branch named like `release/x.y.z`. + +## Review Release PR + +If necessary, update sample code or documentation on the `release/x.y.z` branch to be included in the release. Another maintainer should approve the PR, specifically validating the automatic updates and verifying the tests are passing. + +NOTE: If any major changes are merged while the release PR is open, the CHANGELOG on the `release/x.y.z` branch must be manually updated to reflect the change. + +## Merge Release PR + +After approval, merge the release PR. This will automatically publish all packages. Verify: + +* The [publish workflow](https://github.com/open-telemetry/opentelemetry-js-contrib/actions/workflows/publish.yml) runs successfully +* The new version is available in NPM, e.g. for the [Jaeger Propagator](https://www.npmjs.com/package/@opentelemetry/propagator-jaeger) +* A [GitHub Release](https://github.com/open-telemetry/opentelemetry-js-contrib/releases) was cut correctly, with a tag pointing to the new version, and a body of the changelog + +That's it! No need to read on unless something above went wrong. + +# Manual Publishing Process + +If any step of the above automated process fails, complete the release manually by picking up at the failed step. + +Manual Release Process Steps: * [Update to latest locally](#update-to-latest-locally) * [Create a new branch](#create-a-new-branch) diff --git a/lerna.json b/lerna.json index 375b300972..731718cf12 100644 --- a/lerna.json +++ b/lerna.json @@ -20,6 +20,7 @@ "document": ":books: (Refine Doc)", "feature-request": ":sparkles: (Feature)" }, - "cacheDir": ".changelog" + "cacheDir": ".changelog", + "ignoreCommitters": ["github-actions"] } } diff --git a/package.json b/package.json index 88671c2462..2598f6b042 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "opentelemetry-contrib", "version": "0.13.0", "description": "This is a repository for OpenTelemetry JavaScript contributions.", - "repository": "open-telemetry/opentelemetry-js-contrib", + "repository": "https://github.com/willarmiros/opentelemetry-js-contrib", "publishConfig": { "access": "public" }, @@ -16,7 +16,7 @@ "compile": "lerna run compile", "test": "lerna run test", "test:browser": "lerna run test:browser", - "bootstrap": "lerna bootstrap", + "bootstrap": "lerna bootstrap --no-ci", "bump": "lerna publish", "codecov": "lerna run codecov", "codecov:browser": "lerna run codecov:browser", diff --git a/scripts/changelog-update.sh b/scripts/changelog-update.sh new file mode 100755 index 0000000000..2ac2c2e1f1 --- /dev/null +++ b/scripts/changelog-update.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +echo " +## $1 +" > delete_me.txt +npx lerna-changelog | sed '1,3d' >> delete_me.txt +sed -i -e '/## Unreleased/r delete_me.txt' CHANGELOG.md +rm delete_me.txt diff --git a/scripts/publish.sh b/scripts/publish.sh new file mode 100755 index 0000000000..a1a6a81a91 --- /dev/null +++ b/scripts/publish.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +for path in $(cat lerna.json | jq '.packages[]'); do + base=$(sed 's/"//g' <<< $path) # Remove quotes + for package in $base; do + if [ -d $package ]; then + echo Publishing to NPM: $package + pushd $package + npm publish + popd + fi + done +done From 91ef55e5d3d131ae35871c3148c64d319f4da220 Mon Sep 17 00:00:00 2001 From: William Armiros Date: Tue, 23 Mar 2021 22:30:14 -0700 Subject: [PATCH 3/3] use express instr for example --- RELEASING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASING.md b/RELEASING.md index ba3cb2d794..cdbac1c1b7 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -17,7 +17,7 @@ NOTE: If any major changes are merged while the release PR is open, the CHANGELO After approval, merge the release PR. This will automatically publish all packages. Verify: * The [publish workflow](https://github.com/open-telemetry/opentelemetry-js-contrib/actions/workflows/publish.yml) runs successfully -* The new version is available in NPM, e.g. for the [Jaeger Propagator](https://www.npmjs.com/package/@opentelemetry/propagator-jaeger) +* The new version is available in NPM, e.g. for the [Express instrumentation package](https://www.npmjs.com/package/@opentelemetry/instrumentation-express) * A [GitHub Release](https://github.com/open-telemetry/opentelemetry-js-contrib/releases) was cut correctly, with a tag pointing to the new version, and a body of the changelog That's it! No need to read on unless something above went wrong.