Comments (4)
npm info tedious time
...
'15.1.1': '2022-11-01T14:49:39.714Z',
'15.1.2': '2022-11-09T13:13:18.399Z',
'15.1.3': '2023-02-12T23:20:33.835Z',
'16.0.0': '2023-04-07T20:42:21.850Z',
'16.1.0': '2023-05-07T16:50:04.608Z',
...
it's weird that didn't fail before
from apm-agent-nodejs.
Tedious v15 has this:
$ cat node_modules/tedious/package.json
...
"engines": {
"node": ">=14"
},
...
"dependencies": {
"@azure/identity": "^2.0.4",
"@azure/keyvault-keys": "^4.4.0",
@azure/core-rest-pipeline
is a transitive dep of both of those azure packages.
The failure started for us as of @azure/[email protected] (released '2024-03-13T23:11:24.832Z'):
% npm install @azure/[email protected]
% rg -g "*" '\?\?='
...
node_modules/@azure/core-rest-pipeline/dist/commonjs/policies/multipartPolicy.js
99: boundary ??= parsedBoundary;
I believe that ??=
syntax was in the core-rest-pipeline source code in earlier versions -- added in commit 1691bef2d0 - [core] core-rest-pipeline multipartPolicy (#27487) (4 months ago)
-- but wasn't in the released build until Azure/azure-sdk-for-js#26238, which was first released in v1.15.0.
I'd say @azure/[email protected]
is no longer maintained (the current major is 4.x, the last 2.x release was '2.1.0': '2022-07-09T03:42:35.373Z'
). As of that [email protected] the "engines": { "node": ">=12.0.0" },
suggestion is broken.
It looks like some (many? all?) @azure/...
npm packages are dropping support for older Node.js versions without bumping major versions. And they have range deps on other @azure/...
deps that do it... so there is no longer-term way to use a @azure/...
package as a dependency that is safe against dropping Node.js versions without using a package-lock to forever pin transitive deps.
from apm-agent-nodejs.
This same breakage happens to tedious@13 and tedious@14 as well.
% node --version
v14.21.2
% TAV=tedious ./node_modules/.bin/tav --quiet --compat
Testing compatibility with tedious:
...
✖ 14.7.0
✖ 14.0.0
✖ 13.2.0
✖ 13.0.0
✔ 12.3.0
✔ 12.0.0
✔ 11.8.0
✔ 11.0.0
✔ 6.7.1
✔ 10.0.0
✔ 9.2.3
✔ 8.3.1
✔ 7.0.0
✔ 5.0.3
✔ 4.2.0
✔ 3.0.1
✔ 2.7.1
✔ 1.15.0
✔ 1.9.0
Effectively those tedious versions are all now node >=16
-- and might be node >=18
now or at some point, given that many of the @azure/...
packages now have "engines": {"node": ">=18"},
from apm-agent-nodejs.
I would think this would break tedious@12 as well, because it deps on the same version of azure/core-rest-pipeline:
└─┬ [email protected]
├─┬ @azure/[email protected]
│ ├─┬ @azure/[email protected]
│ │ └── @azure/[email protected] deduped
│ └── @azure/[email protected]
└─┬ @azure/[email protected]
├─┬ @azure/[email protected]
│ └── @azure/[email protected] deduped
└── @azure/[email protected] deduped
However the tests are passing with node v14 for it. I'm not sure why.
I guess tedious@12 and/or azure/identity v1 do not hit that code path.
In general I would say that all versions of tedious going back to tedious@11 -- when a dep on @azure/identity
was added -- now cannot be relied upon to work with node <18... and perhaps that keeps moving up as newer versions of @azure/...
packages drop support for Node.js versions without a major version bump.
from apm-agent-nodejs.
Related Issues (20)
- issue labeler workflow failing HOT 7
- Support mtls connection
- test issue to see if labeler action works on an issue HOT 1
- edge "test-nightly" failing after kafka/zookeeper addition
- Agent doesn't capture uncaught exceptions or unhandled rejections HOT 11
- Request body is logged even with `captureBody: off` HOT 17
- undici instrumentation can add duplicate trace-context headers, which can break Elasticsearch HOT 2
- release fails in make-distribution.sh step
- KafkaJS instrumentation throw exception on "tombstone message" HOT 2
- Agent not working with Yarn Pnp + NextJS HOT 5
- including parsed "cookie" HTTP request header in ingest can lead to mapping conflicts HOT 2
- Elastic APM Agent Node arbitrary code Injection due to improper sanitization of the timezone parameter HOT 2
- APM Server transport error (ERR_SOCKET_TIMEOUT): Socket timeout HOT 5
- Lambda "nodejs20.x" is out, our published Lambda layers should say they support it HOT 2
- bitrot updates HOT 1
- [Question] Support bullmq HOT 7
- make docker image(s) multi-platform and include linux/arm64 HOT 4
- opentelemetry-bridge should use the ELASTIC_APM_API_KEY HOT 1
- Any plans to support hyper-express please? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apm-agent-nodejs.