chore: peer depend on API (#2074)

This commit is contained in:
Daniel Dyla 2021-04-05 13:45:00 -04:00 committed by GitHub
parent 02175dfafd
commit 8e2e2a9653
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 178 additions and 34 deletions

22
.github/workflows/peer-api.yaml vendored Normal file
View File

@ -0,0 +1,22 @@
name: Ensure API Peer Dependency
on:
push:
branches:
- main
pull_request:
jobs:
peer-api-check:
runs-on: ubuntu-latest
container:
image: node:14
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install lerna
run: npm install -g lerna
- name: Check API dependency semantics
run: lerna exec "node ../../scripts/peer-api-check.js"

View File

@ -11,7 +11,6 @@
"compile": "tsc --build"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
@ -20,6 +19,10 @@
"express": "4.17.1"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
}
}

View File

@ -47,10 +47,11 @@
"publishConfig": {
"access": "public"
},
"dependencies": {
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/webpack-env": "1.16.0",

View File

@ -40,6 +40,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/shimmer": "1.0.1",
@ -52,7 +53,7 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"dependencies": {
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
}
}

View File

@ -42,6 +42,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/sinon": "9.0.11",
@ -69,10 +70,8 @@
"webpack-cli": "4.6.0",
"zone.js": "0.11.4"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"zone.js": "^0.10.2 || ^0.11.0"
},
"sideEffects": false

View File

@ -50,6 +50,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/propagator-b3": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -75,8 +76,10 @@
"typescript": "4.2.3",
"webpack": "4.46.0"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"semver": "^7.1.3"
}
}

View File

@ -46,6 +46,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -62,9 +63,11 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@grpc/proto-loader": "^0.5.4",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/exporter-collector": "^0.18.2",
"@opentelemetry/metrics": "^0.18.2",

View File

@ -46,6 +46,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -62,9 +63,11 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@grpc/proto-loader": "^0.5.4",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/exporter-collector": "^0.18.2",
"@opentelemetry/metrics": "^0.18.2",

View File

@ -48,6 +48,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@babel/core": "7.13.14",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -76,8 +77,10 @@
"webpack-cli": "4.6.0",
"webpack-merge": "5.7.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/metrics": "^0.18.2",

View File

@ -40,6 +40,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/resources": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -55,8 +56,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
"jaeger-client": "^3.15.0"

View File

@ -39,6 +39,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/sinon": "9.0.11",
@ -52,8 +53,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/metrics": "^0.18.2"

View File

@ -47,6 +47,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/sinon": "9.0.11",
@ -74,8 +75,10 @@
"webpack-cli": "4.6.0",
"webpack-merge": "5.7.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/resources": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2"

View File

@ -42,6 +42,7 @@
"devDependencies": {
"@grpc/grpc-js": "1.2.12",
"@grpc/proto-loader": "0.5.6",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
@ -63,8 +64,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",
"shimmer": "1.2.1"

View File

@ -43,6 +43,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-zone": "^0.18.2",
"@opentelemetry/propagator-b3": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
@ -73,8 +74,10 @@
"webpack-cli": "4.6.0",
"webpack-merge": "5.7.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/instrumentation": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",

View File

@ -43,6 +43,7 @@
"devDependencies": {
"@grpc/grpc-js": "1.2.12",
"@grpc/proto-loader": "0.5.6",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
@ -65,8 +66,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@opentelemetry/instrumentation": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2"

View File

@ -41,6 +41,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
@ -68,8 +69,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/instrumentation": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",
"semver": "^7.1.3"

View File

@ -43,6 +43,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-zone": "^0.18.2",
"@opentelemetry/propagator-b3": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
@ -72,8 +73,10 @@
"webpack-cli": "4.6.0",
"webpack-merge": "5.7.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/instrumentation": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",

View File

@ -54,14 +54,17 @@
"url": "https://github.com/open-telemetry/opentelemetry-js/issues"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"require-in-the-middle": "^5.0.3",
"semver": "^7.3.2",
"shimmer": "^1.2.1"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/semver": "7.3.4",

View File

@ -40,6 +40,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/lodash.merge": "4.6.6",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -54,8 +55,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/resources": "^0.18.2",

View File

@ -41,6 +41,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/resources": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -58,8 +59,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",

View File

@ -43,6 +43,7 @@
},
"devDependencies": {
"@grpc/grpc-js": "1.2.12",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/grpc-utils": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
@ -63,8 +64,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",
"shimmer": "1.2.1"

View File

@ -40,6 +40,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/grpc-utils": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
@ -62,8 +63,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",
"shimmer": "^1.2.1"

View File

@ -41,6 +41,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
@ -68,8 +69,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",
"semver": "^7.1.3",

View File

@ -40,6 +40,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@opentelemetry/node": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2",
@ -67,8 +68,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/plugin-http": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",

View File

@ -38,10 +38,11 @@
"publishConfig": {
"access": "public"
},
"dependencies": {
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"codecov": "3.8.1",

View File

@ -43,6 +43,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/sinon": "9.0.11",
@ -66,8 +67,10 @@
"typescript": "4.2.3",
"webpack": "4.46.0"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2"
}
}

View File

@ -39,6 +39,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/sinon": "9.0.11",
@ -53,8 +54,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/resources": "^0.18.2"
}

View File

@ -39,6 +39,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -53,8 +54,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/resources": "^0.18.2",
"gcp-metadata": "^4.1.4",
"semver": "7.3.5"

View File

@ -43,6 +43,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
"@types/sinon": "9.0.11",
@ -57,8 +58,10 @@
"ts-node": "9.1.1",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2"
}
}

View File

@ -40,7 +40,6 @@
"access": "public"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/api-metrics": "^0.18.2",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/instrumentation": "^0.18.2",
@ -52,7 +51,11 @@
"@opentelemetry/tracing": "^0.18.2",
"nock": "12.0.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-async-hooks": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",

View File

@ -38,6 +38,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/tracing": "^0.18.2",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -52,8 +53,10 @@
"tslint-microsoft-contrib": "6.2.0",
"typescript": "4.2.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"opentracing": "^0.14.4"
}

View File

@ -48,6 +48,7 @@
"access": "public"
},
"devDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@types/lodash.merge": "4.6.6",
"@types/mocha": "8.2.2",
"@types/node": "14.14.37",
@ -72,8 +73,10 @@
"typescript": "4.2.3",
"webpack": "4.46.0"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/resources": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",

View File

@ -42,6 +42,7 @@
},
"devDependencies": {
"@babel/core": "7.13.14",
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/context-zone": "^0.18.2",
"@opentelemetry/propagator-b3": "^0.18.2",
"@opentelemetry/resources": "^0.18.2",
@ -73,8 +74,10 @@
"webpack-cli": "4.6.0",
"webpack-merge": "5.7.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.0.0-rc.0"
},
"dependencies": {
"@opentelemetry/api": "^1.0.0-rc.0",
"@opentelemetry/core": "^0.18.2",
"@opentelemetry/semantic-conventions": "^0.18.2",
"@opentelemetry/tracing": "^0.18.2"

36
scripts/peer-api-check.js Normal file
View File

@ -0,0 +1,36 @@
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
const fs = require('fs');
const os = require('os');
const path = require('path');
const appRoot = process.cwd();
const packageJsonUrl = path.resolve(`${appRoot}/package.json`);
const pjson = require(packageJsonUrl);
if (pjson.dependencies && pjson.dependencies["@opentelemetry/api"])
throw new Error(`Package ${pjson.name} depends on API but it should be a peer dependency`);
const peerVersion = pjson.peerDependencies && pjson.peerDependencies["@opentelemetry/api"]
const devVersion = pjson.devDependencies && pjson.devDependencies["@opentelemetry/api"]
if (peerVersion) {
if (peerVersion !== devVersion) {
throw new Error(`Package ${pjson.name} depends on peer API version ${peerVersion} but version ${devVersion} in development`);
}
console.log(`${pjson.name} OK`);
}