Bump dependencies to fix security alerts (#149)
Dependencies (package-lock.json, plus package.json overrides):
- protobufjs (runtime, via @grpc/grpc-js -> @grpc/proto-loader)
7.6.2 -> 7.6.6 within the existing range.
- npm audit fix (no --force) for dev dependencies: @babel/*, body-parser,
brace-expansion, browserslist, cookie, express 4.22.3, flatted,
follow-redirects, form-data, js-yaml, json5, lodash, minimatch,
minimist, mongoose 5.13.23, picomatch, qs, send, serve-static, tar,
tar-fs, tmp, tough-cookie, ws.
- Overrides for transitive dev deps with no in-range fix:
handlebars ^4.7.10 (pinned 4.7.7 by grpc_tools_node_protoc_ts),
@tootallnate/once ^2.0.1 (jsdom -> http-proxy-agent 4),
micromatch ^4.0.8 under sane (drops braces 2.x and
decode-uri-component 0.2.x), tar-fs ^2.1.4 under dockerode 3.
- testcontainers 10.3.2 -> 10.10.4 in the lockfile. 10.11+ pulls
archiver 7 / glob 10 and dockerode 4 / uuid 10, which use `node:`
imports that Jest 26 cannot resolve and break every Docker-based
test suite at load time.
- uuid, axios, mysql2 and mongoose 6+ are left: they need new majors
(uuid 11 typings do not compile with TypeScript 3.9; the others are
the plugin compatibility targets).
GitHub Actions:
- actions/checkout v2/v4 -> v7, actions/cache v4 -> v6,
actions/setup-node v4 -> v7.
- apache/skywalking-eyes/header 501a28d -> a196742 (v0.9.0); add the
protocol submodule to paths-ignore in .licenserc.yaml, which v0.9.0
otherwise fails to read ("read protocol: is a directory").
- No apache/skywalking-infra-e2e or third-party actions are used.
License: dist/LICENSE is maintained by hand (no license-eye dependency
config) and does not list protobufjs, so it is unchanged.
The Apache SkyWalking Node.js Agent reports distributed traces and Node.js runtime metrics to an Apache SkyWalking OAP server. It instruments supported Node.js libraries without changes to their source code.
npm install skywalking-backend-js
Start the agent before loading the modules that it must instrument:
import agent from 'skywalking-backend-js'; agent.start({ serviceName: 'checkout-service', collectorAddress: '127.0.0.1:11800', });
The same values can be set with environment variables:
export SW_AGENT_NAME=checkout-service export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
See Quick start for the full setup and a way to load the agent with Node.js --require.
The documentation index includes:
Read Build and test before sending a change. Plugin authors should also read Plugin development.
Nodejs in the issue title.dev@skywalking.apache.org mailing list by sending a message to dev-subscribe@skywalking.apache.org.skywalking channel on Apache Slack.