dd-trace 5.84.0 → 5.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ci/cypress/polyfills.js +1 -1
- package/ci/init.js +5 -5
- package/ext/exporters.js +1 -1
- package/ext/formats.js +1 -1
- package/ext/index.js +1 -1
- package/ext/kinds.js +1 -1
- package/ext/priority.js +1 -1
- package/ext/scopes.js +1 -1
- package/ext/tags.js +1 -1
- package/ext/types.js +1 -1
- package/index.d.ts +76 -23
- package/initialize.mjs +47 -31
- package/loader-hook.mjs +35 -22
- package/package.json +34 -31
- package/packages/datadog-code-origin/index.js +12 -10
- package/packages/datadog-core/src/utils/src/pick.js +2 -2
- package/packages/datadog-esbuild/index.js +75 -79
- package/packages/datadog-esbuild/src/log.js +32 -0
- package/packages/datadog-esbuild/src/utils.js +12 -8
- package/packages/datadog-instrumentations/src/aerospike.js +3 -3
- package/packages/datadog-instrumentations/src/ai.js +5 -5
- package/packages/datadog-instrumentations/src/amqp10.js +1 -1
- package/packages/datadog-instrumentations/src/amqplib.js +1 -1
- package/packages/datadog-instrumentations/src/anthropic.js +3 -3
- package/packages/datadog-instrumentations/src/apollo-server.js +4 -4
- package/packages/datadog-instrumentations/src/apollo.js +2 -2
- package/packages/datadog-instrumentations/src/avsc.js +1 -1
- package/packages/datadog-instrumentations/src/aws-sdk.js +4 -4
- package/packages/datadog-instrumentations/src/azure-event-hubs.js +2 -2
- package/packages/datadog-instrumentations/src/azure-functions.js +1 -1
- package/packages/datadog-instrumentations/src/azure-service-bus.js +1 -1
- package/packages/datadog-instrumentations/src/body-parser.js +2 -2
- package/packages/datadog-instrumentations/src/bunyan.js +1 -1
- package/packages/datadog-instrumentations/src/cassandra-driver.js +1 -1
- package/packages/datadog-instrumentations/src/child_process.js +7 -7
- package/packages/datadog-instrumentations/src/confluentinc-kafka-javascript.js +17 -16
- package/packages/datadog-instrumentations/src/cookie-parser.js +1 -1
- package/packages/datadog-instrumentations/src/couchbase.js +8 -6
- package/packages/datadog-instrumentations/src/crypto.js +1 -1
- package/packages/datadog-instrumentations/src/cucumber.js +19 -19
- package/packages/datadog-instrumentations/src/cypress.js +1 -1
- package/packages/datadog-instrumentations/src/dns.js +2 -2
- package/packages/datadog-instrumentations/src/elasticsearch.js +2 -2
- package/packages/datadog-instrumentations/src/express-mongo-sanitize.js +2 -2
- package/packages/datadog-instrumentations/src/express-session.js +1 -1
- package/packages/datadog-instrumentations/src/express.js +4 -4
- package/packages/datadog-instrumentations/src/fastify.js +1 -1
- package/packages/datadog-instrumentations/src/fetch.js +2 -2
- package/packages/datadog-instrumentations/src/fs.js +7 -7
- package/packages/datadog-instrumentations/src/generic-pool.js +2 -2
- package/packages/datadog-instrumentations/src/google-cloud-pubsub.js +8 -8
- package/packages/datadog-instrumentations/src/google-cloud-vertexai.js +4 -4
- package/packages/datadog-instrumentations/src/google-genai.js +1 -1
- package/packages/datadog-instrumentations/src/graphql.js +10 -10
- package/packages/datadog-instrumentations/src/grpc/client.js +9 -13
- package/packages/datadog-instrumentations/src/grpc/types.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/bundler-register.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/check-require-cache.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/extract-package-and-module-path.js +2 -2
- package/packages/datadog-instrumentations/src/helpers/hooks.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/register.js +7 -7
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/langchain.js +55 -55
- package/packages/datadog-instrumentations/src/helpers/rewriter/transforms.js +1 -1
- package/packages/datadog-instrumentations/src/helpers/router-helper.js +7 -7
- package/packages/datadog-instrumentations/src/helpers/shared-utils.js +1 -1
- package/packages/datadog-instrumentations/src/hono.js +6 -6
- package/packages/datadog-instrumentations/src/http/client.js +1 -1
- package/packages/datadog-instrumentations/src/http/server.js +4 -4
- package/packages/datadog-instrumentations/src/http2/server.js +1 -1
- package/packages/datadog-instrumentations/src/ioredis.js +1 -1
- package/packages/datadog-instrumentations/src/iovalkey.js +1 -1
- package/packages/datadog-instrumentations/src/jest.js +162 -57
- package/packages/datadog-instrumentations/src/kafkajs.js +9 -8
- package/packages/datadog-instrumentations/src/knex.js +2 -2
- package/packages/datadog-instrumentations/src/koa.js +3 -1
- package/packages/datadog-instrumentations/src/ldapjs.js +1 -1
- package/packages/datadog-instrumentations/src/light-my-request.js +1 -1
- package/packages/datadog-instrumentations/src/limitd-client.js +1 -1
- package/packages/datadog-instrumentations/src/mariadb.js +1 -1
- package/packages/datadog-instrumentations/src/memcached.js +1 -1
- package/packages/datadog-instrumentations/src/mocha/common.js +3 -3
- package/packages/datadog-instrumentations/src/mocha/main.js +24 -24
- package/packages/datadog-instrumentations/src/mocha/utils.js +15 -11
- package/packages/datadog-instrumentations/src/mocha/worker.js +4 -4
- package/packages/datadog-instrumentations/src/moleculer/server.js +1 -1
- package/packages/datadog-instrumentations/src/mongodb-core.js +3 -3
- package/packages/datadog-instrumentations/src/mongodb.js +7 -7
- package/packages/datadog-instrumentations/src/mongoose.js +10 -10
- package/packages/datadog-instrumentations/src/mquery.js +6 -6
- package/packages/datadog-instrumentations/src/multer.js +1 -1
- package/packages/datadog-instrumentations/src/mysql.js +1 -1
- package/packages/datadog-instrumentations/src/net.js +6 -6
- package/packages/datadog-instrumentations/src/next.js +6 -6
- package/packages/datadog-instrumentations/src/nyc.js +34 -2
- package/packages/datadog-instrumentations/src/openai.js +24 -24
- package/packages/datadog-instrumentations/src/oracledb.js +2 -2
- package/packages/datadog-instrumentations/src/otel-sdk-trace.js +1 -1
- package/packages/datadog-instrumentations/src/passport-http.js +1 -1
- package/packages/datadog-instrumentations/src/passport-local.js +1 -1
- package/packages/datadog-instrumentations/src/passport-utils.js +1 -1
- package/packages/datadog-instrumentations/src/passport.js +1 -1
- package/packages/datadog-instrumentations/src/pg.js +3 -3
- package/packages/datadog-instrumentations/src/pino.js +2 -2
- package/packages/datadog-instrumentations/src/playwright.js +59 -59
- package/packages/datadog-instrumentations/src/prisma.js +24 -78
- package/packages/datadog-instrumentations/src/promise-js.js +1 -1
- package/packages/datadog-instrumentations/src/promise.js +1 -1
- package/packages/datadog-instrumentations/src/protobufjs.js +6 -6
- package/packages/datadog-instrumentations/src/q.js +2 -2
- package/packages/datadog-instrumentations/src/redis.js +2 -2
- package/packages/datadog-instrumentations/src/rhea.js +5 -5
- package/packages/datadog-instrumentations/src/router.js +8 -8
- package/packages/datadog-instrumentations/src/selenium.js +3 -3
- package/packages/datadog-instrumentations/src/sequelize.js +1 -1
- package/packages/datadog-instrumentations/src/sharedb.js +2 -2
- package/packages/datadog-instrumentations/src/tedious.js +1 -1
- package/packages/datadog-instrumentations/src/undici.js +2 -2
- package/packages/datadog-instrumentations/src/url.js +5 -5
- package/packages/datadog-instrumentations/src/vitest.js +56 -45
- package/packages/datadog-instrumentations/src/when.js +1 -1
- package/packages/datadog-instrumentations/src/winston.js +1 -1
- package/packages/datadog-instrumentations/src/ws.js +128 -41
- package/packages/datadog-plugin-aerospike/src/index.js +4 -4
- package/packages/datadog-plugin-ai/src/index.js +1 -1
- package/packages/datadog-plugin-ai/src/tracing.js +2 -2
- package/packages/datadog-plugin-ai/src/utils.js +1 -1
- package/packages/datadog-plugin-amqp10/src/consumer.js +2 -2
- package/packages/datadog-plugin-amqp10/src/index.js +1 -1
- package/packages/datadog-plugin-amqp10/src/producer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/client.js +2 -2
- package/packages/datadog-plugin-amqplib/src/consumer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/index.js +1 -1
- package/packages/datadog-plugin-amqplib/src/producer.js +2 -2
- package/packages/datadog-plugin-amqplib/src/util.js +1 -1
- package/packages/datadog-plugin-anthropic/src/index.js +1 -1
- package/packages/datadog-plugin-anthropic/src/tracing.js +2 -2
- package/packages/datadog-plugin-apollo/src/gateway/fetch.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/index.js +1 -1
- package/packages/datadog-plugin-apollo/src/gateway/request.js +5 -5
- package/packages/datadog-plugin-apollo/src/index.js +1 -1
- package/packages/datadog-plugin-avsc/src/schema_iterator.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/base.js +11 -10
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/index.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/tracing.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/bedrockruntime/utils.js +24 -24
- package/packages/datadog-plugin-aws-sdk/src/services/cloudwatchlogs.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/eventbridge.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/kinesis.js +6 -6
- package/packages/datadog-plugin-aws-sdk/src/services/lambda.js +3 -3
- package/packages/datadog-plugin-aws-sdk/src/services/redshift.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/s3.js +1 -1
- package/packages/datadog-plugin-aws-sdk/src/services/sns.js +5 -5
- package/packages/datadog-plugin-aws-sdk/src/services/sqs.js +12 -12
- package/packages/datadog-plugin-aws-sdk/src/util.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/index.js +1 -1
- package/packages/datadog-plugin-azure-event-hubs/src/producer.js +3 -3
- package/packages/datadog-plugin-azure-functions/src/index.js +11 -10
- package/packages/datadog-plugin-azure-service-bus/src/index.js +1 -1
- package/packages/datadog-plugin-azure-service-bus/src/producer.js +3 -3
- package/packages/datadog-plugin-bullmq/src/consumer.js +2 -2
- package/packages/datadog-plugin-bullmq/src/index.js +1 -1
- package/packages/datadog-plugin-bullmq/src/producer.js +11 -11
- package/packages/datadog-plugin-cassandra-driver/src/index.js +2 -2
- package/packages/datadog-plugin-child_process/src/index.js +2 -2
- package/packages/datadog-plugin-child_process/src/scrub-cmd-params.js +5 -5
- package/packages/datadog-plugin-confluentinc-kafka-javascript/src/index.js +1 -1
- package/packages/datadog-plugin-couchbase/src/index.js +3 -3
- package/packages/datadog-plugin-cucumber/src/index.js +14 -14
- package/packages/datadog-plugin-cypress/src/cypress-plugin.js +68 -55
- package/packages/datadog-plugin-cypress/src/plugin.js +1 -1
- package/packages/datadog-plugin-cypress/src/support.js +56 -9
- package/packages/datadog-plugin-dd-trace-api/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/index.js +1 -1
- package/packages/datadog-plugin-dns/src/lookup.js +2 -2
- package/packages/datadog-plugin-dns/src/lookup_service.js +3 -3
- package/packages/datadog-plugin-dns/src/resolve.js +2 -2
- package/packages/datadog-plugin-dns/src/reverse.js +2 -2
- package/packages/datadog-plugin-elasticsearch/src/index.js +2 -2
- package/packages/datadog-plugin-express/src/index.js +1 -1
- package/packages/datadog-plugin-fastify/src/index.js +1 -1
- package/packages/datadog-plugin-fs/src/index.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/client.js +2 -2
- package/packages/datadog-plugin-google-cloud-pubsub/src/consumer.js +8 -6
- package/packages/datadog-plugin-google-cloud-pubsub/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-pubsub/src/producer.js +11 -10
- package/packages/datadog-plugin-google-cloud-pubsub/src/pubsub-push-subscription.js +6 -6
- package/packages/datadog-plugin-google-cloud-vertexai/src/index.js +1 -1
- package/packages/datadog-plugin-google-cloud-vertexai/src/tracing.js +2 -2
- package/packages/datadog-plugin-google-cloud-vertexai/src/utils.js +1 -1
- package/packages/datadog-plugin-google-genai/src/index.js +1 -1
- package/packages/datadog-plugin-google-genai/src/tracing.js +2 -2
- package/packages/datadog-plugin-graphql/src/execute.js +2 -2
- package/packages/datadog-plugin-graphql/src/index.js +2 -2
- package/packages/datadog-plugin-graphql/src/parse.js +1 -1
- package/packages/datadog-plugin-graphql/src/resolve.js +6 -6
- package/packages/datadog-plugin-graphql/src/utils.js +1 -1
- package/packages/datadog-plugin-graphql/src/validate.js +2 -2
- package/packages/datadog-plugin-grpc/src/client.js +3 -3
- package/packages/datadog-plugin-grpc/src/index.js +1 -1
- package/packages/datadog-plugin-grpc/src/server.js +3 -3
- package/packages/datadog-plugin-grpc/src/util.js +2 -2
- package/packages/datadog-plugin-http/src/client.js +10 -10
- package/packages/datadog-plugin-http/src/index.js +1 -1
- package/packages/datadog-plugin-http2/src/client.js +6 -6
- package/packages/datadog-plugin-http2/src/index.js +1 -1
- package/packages/datadog-plugin-http2/src/server.js +1 -1
- package/packages/datadog-plugin-jest/src/index.js +39 -22
- package/packages/datadog-plugin-jest/src/util.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/consumer.js +5 -5
- package/packages/datadog-plugin-kafkajs/src/index.js +1 -1
- package/packages/datadog-plugin-kafkajs/src/producer.js +5 -5
- package/packages/datadog-plugin-kafkajs/src/utils.js +1 -1
- package/packages/datadog-plugin-langchain/src/tokens.js +2 -2
- package/packages/datadog-plugin-langchain/src/tracing.js +4 -4
- package/packages/datadog-plugin-memcached/src/index.js +2 -2
- package/packages/datadog-plugin-mocha/src/index.js +12 -12
- package/packages/datadog-plugin-moleculer/src/client.js +1 -1
- package/packages/datadog-plugin-moleculer/src/index.js +1 -1
- package/packages/datadog-plugin-moleculer/src/server.js +2 -2
- package/packages/datadog-plugin-moleculer/src/util.js +1 -1
- package/packages/datadog-plugin-mongodb-core/src/index.js +5 -5
- package/packages/datadog-plugin-mysql/src/index.js +2 -2
- package/packages/datadog-plugin-net/src/ipc.js +2 -2
- package/packages/datadog-plugin-net/src/tcp.js +4 -4
- package/packages/datadog-plugin-next/src/index.js +4 -4
- package/packages/datadog-plugin-nyc/src/index.js +60 -0
- package/packages/datadog-plugin-openai/src/index.js +1 -1
- package/packages/datadog-plugin-openai/src/services.js +3 -3
- package/packages/datadog-plugin-openai/src/stream-helpers.js +1 -1
- package/packages/datadog-plugin-openai/src/tracing.js +10 -10
- package/packages/datadog-plugin-oracledb/src/connection-parser.js +1 -1
- package/packages/datadog-plugin-oracledb/src/index.js +1 -1
- package/packages/datadog-plugin-pg/src/index.js +2 -2
- package/packages/datadog-plugin-playwright/src/index.js +19 -19
- package/packages/datadog-plugin-prisma/src/datadog-tracing-helper.js +95 -0
- package/packages/datadog-plugin-prisma/src/index.js +129 -10
- package/packages/datadog-plugin-protobufjs/src/schema_iterator.js +3 -3
- package/packages/datadog-plugin-redis/src/index.js +2 -2
- package/packages/datadog-plugin-restify/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/consumer.js +2 -2
- package/packages/datadog-plugin-rhea/src/index.js +1 -1
- package/packages/datadog-plugin-rhea/src/producer.js +2 -2
- package/packages/datadog-plugin-router/src/index.js +3 -3
- package/packages/datadog-plugin-selenium/src/index.js +2 -2
- package/packages/datadog-plugin-sharedb/src/index.js +2 -2
- package/packages/datadog-plugin-tedious/src/index.js +2 -2
- package/packages/datadog-plugin-undici/src/index.js +5 -5
- package/packages/datadog-plugin-vitest/src/index.js +39 -18
- package/packages/datadog-plugin-ws/src/close.js +10 -11
- package/packages/datadog-plugin-ws/src/index.js +1 -1
- package/packages/datadog-plugin-ws/src/producer.js +8 -9
- package/packages/datadog-plugin-ws/src/receiver.js +8 -9
- package/packages/datadog-plugin-ws/src/server.js +17 -12
- package/packages/datadog-plugin-ws/src/util.js +48 -16
- package/packages/datadog-shimmer/src/shimmer.js +3 -3
- package/packages/dd-trace/index.js +2 -2
- package/packages/dd-trace/src/agent/info.js +2 -2
- package/packages/dd-trace/src/agent/url.js +1 -1
- package/packages/dd-trace/src/aiguard/client.js +3 -3
- package/packages/dd-trace/src/aiguard/sdk.js +6 -6
- package/packages/dd-trace/src/aiguard/tags.js +1 -1
- package/packages/dd-trace/src/analytics_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/activation.js +1 -1
- package/packages/dd-trace/src/appsec/addresses.js +1 -1
- package/packages/dd-trace/src/appsec/api_security_sampler.js +1 -1
- package/packages/dd-trace/src/appsec/blocked_templates.js +1 -1
- package/packages/dd-trace/src/appsec/blocking.js +5 -5
- package/packages/dd-trace/src/appsec/channels.js +1 -1
- package/packages/dd-trace/src/appsec/graphql.js +13 -13
- package/packages/dd-trace/src/appsec/iast/analyzers/analyzers.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/cookie-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-base-analyzer.js +6 -5
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-password-rules.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-rule-type.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secret-rules.js +148 -148
- package/packages/dd-trace/src/appsec/iast/analyzers/hardcoded-secrets-rules.js +148 -148
- package/packages/dd-trace/src/appsec/iast/analyzers/index.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/missing-header-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/nosql-injection-mongodb-analyzer.js +7 -8
- package/packages/dd-trace/src/appsec/iast/analyzers/path-traversal-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/set-cookies-header-interceptor.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/unvalidated-redirect-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/analyzers/vulnerability-analyzer.js +3 -3
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-cipher-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/analyzers/weak-hash-analyzer.js +2 -2
- package/packages/dd-trace/src/appsec/iast/context/context-plugin.js +3 -3
- package/packages/dd-trace/src/appsec/iast/iast-context.js +6 -3
- package/packages/dd-trace/src/appsec/iast/iast-plugin.js +17 -9
- package/packages/dd-trace/src/appsec/iast/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/overhead-controller.js +9 -9
- package/packages/dd-trace/src/appsec/iast/path-line.js +6 -6
- package/packages/dd-trace/src/appsec/iast/security-controls/index.js +11 -11
- package/packages/dd-trace/src/appsec/iast/security-controls/parser.js +49 -17
- package/packages/dd-trace/src/appsec/iast/tags.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/constants.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/csi-methods.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/filter.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/index.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations-taint-object.js +3 -6
- package/packages/dd-trace/src/appsec/iast/taint-tracking/operations.js +2 -2
- package/packages/dd-trace/src/appsec/iast/taint-tracking/plugin.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter-esm.mjs +4 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/rewriter.js +5 -5
- package/packages/dd-trace/src/appsec/iast/taint-tracking/secure-marks.js +6 -4
- package/packages/dd-trace/src/appsec/iast/taint-tracking/source-types.js +1 -1
- package/packages/dd-trace/src/appsec/iast/taint-tracking/taint-tracking-impl.js +8 -8
- package/packages/dd-trace/src/appsec/iast/telemetry/iast-metric.js +4 -4
- package/packages/dd-trace/src/appsec/iast/telemetry/namespaces.js +2 -2
- package/packages/dd-trace/src/appsec/iast/telemetry/span-tags.js +6 -6
- package/packages/dd-trace/src/appsec/iast/telemetry/verbosity.js +2 -2
- package/packages/dd-trace/src/appsec/iast/utils.js +3 -3
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/constants.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/range-utils.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/hardcoded-password-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/sql-sensitive-analyzer.js +6 -6
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-analyzers/tainted-range-based-sensitive-analyzer.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-handler.js +8 -8
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/evidence-redaction/sensitive-regex.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/index.js +12 -11
- package/packages/dd-trace/src/appsec/iast/vulnerabilities-formatter/utils.js +5 -5
- package/packages/dd-trace/src/appsec/iast/vulnerabilities.js +1 -1
- package/packages/dd-trace/src/appsec/iast/vulnerability-reporter.js +4 -4
- package/packages/dd-trace/src/appsec/index.js +20 -22
- package/packages/dd-trace/src/appsec/rasp/command_injection.js +3 -3
- package/packages/dd-trace/src/appsec/rasp/fs-plugin.js +4 -4
- package/packages/dd-trace/src/appsec/rasp/index.js +2 -2
- package/packages/dd-trace/src/appsec/rasp/lfi.js +5 -5
- package/packages/dd-trace/src/appsec/rasp/sql_injection.js +2 -2
- package/packages/dd-trace/src/appsec/rasp/ssrf.js +1 -1
- package/packages/dd-trace/src/appsec/rasp/utils.js +4 -4
- package/packages/dd-trace/src/appsec/rc-products.js +1 -1
- package/packages/dd-trace/src/appsec/remote_config.js +3 -3
- package/packages/dd-trace/src/appsec/reporter.js +11 -11
- package/packages/dd-trace/src/appsec/rule_manager.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/index.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/set_user.js +2 -2
- package/packages/dd-trace/src/appsec/sdk/track_event.js +7 -7
- package/packages/dd-trace/src/appsec/sdk/user_blocking.js +1 -1
- package/packages/dd-trace/src/appsec/sdk/utils.js +1 -1
- package/packages/dd-trace/src/appsec/stack_trace.js +5 -5
- package/packages/dd-trace/src/appsec/telemetry/common.js +3 -3
- package/packages/dd-trace/src/appsec/telemetry/index.js +5 -5
- package/packages/dd-trace/src/appsec/telemetry/rasp.js +3 -3
- package/packages/dd-trace/src/appsec/telemetry/user.js +4 -4
- package/packages/dd-trace/src/appsec/telemetry/waf.js +3 -3
- package/packages/dd-trace/src/appsec/user_tracking.js +7 -7
- package/packages/dd-trace/src/appsec/waf/diagnostics.js +2 -2
- package/packages/dd-trace/src/appsec/waf/index.js +1 -1
- package/packages/dd-trace/src/appsec/waf/waf_context_wrapper.js +2 -2
- package/packages/dd-trace/src/azure_metadata.js +16 -9
- package/packages/dd-trace/src/baggage.js +1 -1
- package/packages/dd-trace/src/ci-visibility/coverage-report-discovery.js +82 -0
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/index.js +5 -5
- package/packages/dd-trace/src/ci-visibility/dynamic-instrumentation/worker/index.js +9 -9
- package/packages/dd-trace/src/ci-visibility/early-flake-detection/get-known-tests.js +8 -8
- package/packages/dd-trace/src/ci-visibility/exporters/agent-proxy/index.js +8 -7
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/coverage-writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/di-logs-writer.js +5 -3
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/index.js +2 -0
- package/packages/dd-trace/src/ci-visibility/exporters/agentless/writer.js +4 -3
- package/packages/dd-trace/src/ci-visibility/exporters/ci-visibility-exporter.js +37 -11
- package/packages/dd-trace/src/ci-visibility/exporters/git/git_metadata.js +22 -22
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/index.js +1 -1
- package/packages/dd-trace/src/ci-visibility/exporters/test-worker/writer.js +1 -1
- package/packages/dd-trace/src/ci-visibility/intelligent-test-runner/get-skippable-suites.js +8 -8
- package/packages/dd-trace/src/ci-visibility/log-submission/log-submission-plugin.js +3 -3
- package/packages/dd-trace/src/ci-visibility/requests/get-library-configuration.js +17 -12
- package/packages/dd-trace/src/ci-visibility/requests/upload-coverage-report.js +92 -0
- package/packages/dd-trace/src/ci-visibility/telemetry.js +2 -2
- package/packages/dd-trace/src/ci-visibility/test-api-manual/test-api-manual-plugin.js +1 -1
- package/packages/dd-trace/src/ci-visibility/test-management/get-test-management-tests.js +6 -6
- package/packages/dd-trace/src/ci-visibility/test-optimization-cache.js +61 -0
- package/packages/dd-trace/src/config/defaults.js +1 -1
- package/packages/dd-trace/src/config/git_properties.js +1 -1
- package/packages/dd-trace/src/config/helper.js +2 -2
- package/packages/dd-trace/src/config/index.js +612 -622
- package/packages/dd-trace/src/config/remote_config.js +1 -1
- package/packages/dd-trace/src/config/stable.js +2 -2
- package/packages/dd-trace/src/config/supported-configurations.json +1 -0
- package/packages/dd-trace/src/constants.js +3 -3
- package/packages/dd-trace/src/crashtracking/crashtracker.js +6 -6
- package/packages/dd-trace/src/datastreams/checkpointer.js +1 -1
- package/packages/dd-trace/src/datastreams/context.js +1 -1
- package/packages/dd-trace/src/datastreams/encoding.js +1 -1
- package/packages/dd-trace/src/datastreams/fnv.js +1 -1
- package/packages/dd-trace/src/datastreams/index.js +8 -8
- package/packages/dd-trace/src/datastreams/pathway.js +5 -3
- package/packages/dd-trace/src/datastreams/processor.js +14 -12
- package/packages/dd-trace/src/datastreams/schemas/schema_builder.js +27 -25
- package/packages/dd-trace/src/datastreams/schemas/schema_sampler.js +1 -1
- package/packages/dd-trace/src/datastreams/size.js +3 -3
- package/packages/dd-trace/src/datastreams/writer.js +3 -3
- package/packages/dd-trace/src/debugger/config.js +2 -1
- package/packages/dd-trace/src/debugger/constants.js +7 -0
- package/packages/dd-trace/src/debugger/devtools_client/breakpoints.js +14 -10
- package/packages/dd-trace/src/debugger/devtools_client/condition.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/config.js +4 -5
- package/packages/dd-trace/src/debugger/devtools_client/defaults.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/index.js +32 -25
- package/packages/dd-trace/src/debugger/devtools_client/inspector_promises_polyfill.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/log.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/send.js +54 -10
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/collector.js +94 -37
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/index.js +4 -4
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/processor.js +7 -7
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/redaction.js +2 -2
- package/packages/dd-trace/src/debugger/devtools_client/snapshot/symbols.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/snapshot-pruner.js +1 -1
- package/packages/dd-trace/src/debugger/devtools_client/source-maps.js +10 -1
- package/packages/dd-trace/src/debugger/devtools_client/state.js +65 -8
- package/packages/dd-trace/src/debugger/devtools_client/status.js +9 -8
- package/packages/dd-trace/src/debugger/index.js +95 -37
- package/packages/dd-trace/src/dogstatsd.js +14 -9
- package/packages/dd-trace/src/encode/0.4.js +7 -6
- package/packages/dd-trace/src/encode/agentless-ci-visibility.js +8 -8
- package/packages/dd-trace/src/encode/coverage-ci-visibility.js +3 -3
- package/packages/dd-trace/src/encode/span-stats.js +2 -2
- package/packages/dd-trace/src/encode/tags-processors.js +1 -1
- package/packages/dd-trace/src/exporters/agent/index.js +1 -1
- package/packages/dd-trace/src/exporters/agent/writer.js +2 -2
- package/packages/dd-trace/src/exporters/common/agents.js +1 -1
- package/packages/dd-trace/src/exporters/common/buffering-exporter.js +2 -2
- package/packages/dd-trace/src/exporters/common/docker.js +11 -7
- package/packages/dd-trace/src/exporters/common/request.js +28 -8
- package/packages/dd-trace/src/exporters/common/url-to-http-options-polyfill.js +2 -2
- package/packages/dd-trace/src/exporters/common/writer.js +2 -0
- package/packages/dd-trace/src/exporters/span-stats/index.js +1 -1
- package/packages/dd-trace/src/exporters/span-stats/writer.js +3 -3
- package/packages/dd-trace/src/external-logger/src/index.js +4 -4
- package/packages/dd-trace/src/flare/index.js +3 -3
- package/packages/dd-trace/src/guardrails/telemetry.js +1 -1
- package/packages/dd-trace/src/heap_snapshots.js +1 -1
- package/packages/dd-trace/src/id.js +1 -1
- package/packages/dd-trace/src/iitm.js +1 -1
- package/packages/dd-trace/src/lambda/handler.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/errors.js +1 -1
- package/packages/dd-trace/src/lambda/runtime/ritm.js +3 -3
- package/packages/dd-trace/src/llmobs/constants/tags.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/text.js +1 -1
- package/packages/dd-trace/src/llmobs/constants/writers.js +1 -1
- package/packages/dd-trace/src/llmobs/index.js +2 -4
- package/packages/dd-trace/src/llmobs/noop.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/ai/index.js +8 -8
- package/packages/dd-trace/src/llmobs/plugins/ai/util.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/anthropic.js +5 -5
- package/packages/dd-trace/src/llmobs/plugins/base.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/bedrockruntime.js +8 -8
- package/packages/dd-trace/src/llmobs/plugins/genai/index.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/genai/util.js +15 -15
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/chat_model.js +2 -2
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/index.js +5 -5
- package/packages/dd-trace/src/llmobs/plugins/langchain/handlers/vectorstore.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/langchain/index.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/openai/constants.js +1 -1
- package/packages/dd-trace/src/llmobs/plugins/openai/index.js +17 -17
- package/packages/dd-trace/src/llmobs/plugins/openai/utils.js +3 -3
- package/packages/dd-trace/src/llmobs/plugins/vertexai.js +6 -6
- package/packages/dd-trace/src/llmobs/sdk.js +11 -11
- package/packages/dd-trace/src/llmobs/span_processor.js +6 -6
- package/packages/dd-trace/src/llmobs/tagger.js +4 -4
- package/packages/dd-trace/src/llmobs/telemetry.js +8 -8
- package/packages/dd-trace/src/llmobs/util.js +1 -1
- package/packages/dd-trace/src/llmobs/writers/base.js +9 -9
- package/packages/dd-trace/src/llmobs/writers/evaluations.js +5 -5
- package/packages/dd-trace/src/llmobs/writers/spans.js +3 -3
- package/packages/dd-trace/src/llmobs/writers/util.js +1 -1
- package/packages/dd-trace/src/log/channels.js +2 -2
- package/packages/dd-trace/src/log/index.js +2 -2
- package/packages/dd-trace/src/log/log.js +1 -1
- package/packages/dd-trace/src/log/writer.js +1 -1
- package/packages/dd-trace/src/noop/span.js +2 -2
- package/packages/dd-trace/src/openfeature/constants/constants.js +1 -1
- package/packages/dd-trace/src/openfeature/flagging_provider.js +4 -4
- package/packages/dd-trace/src/openfeature/index.js +2 -2
- package/packages/dd-trace/src/openfeature/noop.js +3 -3
- package/packages/dd-trace/src/openfeature/remote_config.js +1 -1
- package/packages/dd-trace/src/openfeature/writers/base.js +12 -12
- package/packages/dd-trace/src/openfeature/writers/exposures.js +10 -10
- package/packages/dd-trace/src/openfeature/writers/util.js +1 -1
- package/packages/dd-trace/src/opentelemetry/context_manager.js +48 -29
- package/packages/dd-trace/src/opentelemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/logger_provider.js +2 -2
- package/packages/dd-trace/src/opentelemetry/logs/otlp_transformer.js +10 -10
- package/packages/dd-trace/src/opentelemetry/metrics/constants.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/index.js +2 -2
- package/packages/dd-trace/src/opentelemetry/metrics/instruments.js +3 -3
- package/packages/dd-trace/src/opentelemetry/metrics/meter.js +1 -1
- package/packages/dd-trace/src/opentelemetry/metrics/otlp_transformer.js +11 -11
- package/packages/dd-trace/src/opentelemetry/metrics/periodic_metric_reader.js +18 -18
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_http_exporter_base.js +6 -6
- package/packages/dd-trace/src/opentelemetry/otlp/otlp_transformer_base.js +10 -7
- package/packages/dd-trace/src/opentelemetry/otlp/protobuf_loader.js +3 -3
- package/packages/dd-trace/src/opentelemetry/span.js +8 -8
- package/packages/dd-trace/src/opentelemetry/span_context.js +1 -1
- package/packages/dd-trace/src/opentelemetry/span_processor.js +1 -1
- package/packages/dd-trace/src/opentelemetry/tracer.js +4 -4
- package/packages/dd-trace/src/opentracing/propagation/log.js +2 -2
- package/packages/dd-trace/src/opentracing/propagation/text_map.js +14 -12
- package/packages/dd-trace/src/opentracing/propagation/text_map_dsm.js +2 -0
- package/packages/dd-trace/src/opentracing/span.js +20 -20
- package/packages/dd-trace/src/opentracing/span_context.js +3 -3
- package/packages/dd-trace/src/opentracing/tracer.js +3 -3
- package/packages/dd-trace/src/payload-tagging/config/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/index.js +1 -1
- package/packages/dd-trace/src/payload-tagging/tagging.js +2 -2
- package/packages/dd-trace/src/plugin_manager.js +6 -6
- package/packages/dd-trace/src/plugins/apollo.js +4 -4
- package/packages/dd-trace/src/plugins/ci_plugin.js +101 -36
- package/packages/dd-trace/src/plugins/database.js +1 -1
- package/packages/dd-trace/src/plugins/index.js +1 -1
- package/packages/dd-trace/src/plugins/log_plugin.js +2 -2
- package/packages/dd-trace/src/plugins/outbound.js +9 -8
- package/packages/dd-trace/src/plugins/plugin.js +17 -7
- package/packages/dd-trace/src/plugins/producer.js +6 -5
- package/packages/dd-trace/src/plugins/tracing.js +37 -8
- package/packages/dd-trace/src/plugins/util/ci.js +40 -40
- package/packages/dd-trace/src/plugins/util/env.js +2 -2
- package/packages/dd-trace/src/plugins/util/git-cache.js +2 -2
- package/packages/dd-trace/src/plugins/util/git.js +20 -18
- package/packages/dd-trace/src/plugins/util/inferred_proxy.js +6 -6
- package/packages/dd-trace/src/plugins/util/ip_extractor.js +3 -3
- package/packages/dd-trace/src/plugins/util/llm.js +1 -1
- package/packages/dd-trace/src/plugins/util/stacktrace.js +3 -3
- package/packages/dd-trace/src/plugins/util/tags.js +1 -1
- package/packages/dd-trace/src/plugins/util/test.js +46 -40
- package/packages/dd-trace/src/plugins/util/url.js +1 -1
- package/packages/dd-trace/src/plugins/util/urlfilter.js +1 -1
- package/packages/dd-trace/src/plugins/util/user-provided-git.js +2 -2
- package/packages/dd-trace/src/plugins/util/web.js +12 -12
- package/packages/dd-trace/src/priority_sampler.js +4 -4
- package/packages/dd-trace/src/process-tags/index.js +2 -2
- package/packages/dd-trace/src/profiler.js +1 -1
- package/packages/dd-trace/src/profiling/config.js +8 -8
- package/packages/dd-trace/src/profiling/constants.js +2 -2
- package/packages/dd-trace/src/profiling/exporter_cli.js +3 -3
- package/packages/dd-trace/src/profiling/exporters/agent.js +5 -5
- package/packages/dd-trace/src/profiling/exporters/event_serializer.js +8 -8
- package/packages/dd-trace/src/profiling/index.js +1 -1
- package/packages/dd-trace/src/profiling/libuv-size.js +1 -1
- package/packages/dd-trace/src/profiling/loggers/console.js +1 -1
- package/packages/dd-trace/src/profiling/profiler.js +21 -23
- package/packages/dd-trace/src/profiling/profilers/event_plugins/event.js +1 -1
- package/packages/dd-trace/src/profiling/profilers/event_plugins/fs.js +3 -3
- package/packages/dd-trace/src/profiling/profilers/events.js +27 -19
- package/packages/dd-trace/src/profiling/profilers/shared.js +2 -2
- package/packages/dd-trace/src/profiling/profilers/wall.js +4 -4
- package/packages/dd-trace/src/profiling/tagger.js +1 -1
- package/packages/dd-trace/src/profiling/webspan-utils.js +2 -2
- package/packages/dd-trace/src/proxy.js +13 -13
- package/packages/dd-trace/src/remote_config/apply_states.js +1 -1
- package/packages/dd-trace/src/remote_config/index.js +15 -15
- package/packages/dd-trace/src/remote_config/scheduler.js +1 -1
- package/packages/dd-trace/src/ritm.js +1 -1
- package/packages/dd-trace/src/runtime_metrics/index.js +2 -2
- package/packages/dd-trace/src/runtime_metrics/runtime_metrics.js +3 -3
- package/packages/dd-trace/src/serverless.js +1 -1
- package/packages/dd-trace/src/service-naming/extra-services.js +1 -1
- package/packages/dd-trace/src/service-naming/index.js +1 -1
- package/packages/dd-trace/src/service-naming/schemas/v0/graphql.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/messaging.js +25 -25
- package/packages/dd-trace/src/service-naming/schemas/v0/serverless.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v0/storage.js +18 -18
- package/packages/dd-trace/src/service-naming/schemas/v0/web.js +23 -23
- package/packages/dd-trace/src/service-naming/schemas/v0/websocket.js +9 -9
- package/packages/dd-trace/src/service-naming/schemas/v1/graphql.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/messaging.js +21 -21
- package/packages/dd-trace/src/service-naming/schemas/v1/serverless.js +3 -3
- package/packages/dd-trace/src/service-naming/schemas/v1/storage.js +17 -17
- package/packages/dd-trace/src/service-naming/schemas/v1/web.js +23 -23
- package/packages/dd-trace/src/service-naming/schemas/v1/websocket.js +9 -9
- package/packages/dd-trace/src/span_format.js +4 -4
- package/packages/dd-trace/src/span_sampler.js +1 -1
- package/packages/dd-trace/src/span_stats.js +11 -11
- package/packages/dd-trace/src/spanleak.js +1 -1
- package/packages/dd-trace/src/standalone/index.js +1 -1
- package/packages/dd-trace/src/standalone/product.js +2 -2
- package/packages/dd-trace/src/standalone/tracesource.js +1 -1
- package/packages/dd-trace/src/startup-log.js +2 -2
- package/packages/dd-trace/src/tagger.js +3 -1
- package/packages/dd-trace/src/telemetry/dependencies.js +4 -4
- package/packages/dd-trace/src/telemetry/endpoints.js +4 -4
- package/packages/dd-trace/src/telemetry/index.js +1 -1
- package/packages/dd-trace/src/telemetry/logs/index.js +2 -2
- package/packages/dd-trace/src/telemetry/logs/log-collector.js +2 -2
- package/packages/dd-trace/src/telemetry/metrics.js +6 -6
- package/packages/dd-trace/src/telemetry/send-data.js +5 -5
- package/packages/dd-trace/src/telemetry/telemetry.js +10 -10
- package/packages/dd-trace/src/tracer.js +3 -2
- package/packages/dd-trace/src/util.js +1 -1
- package/scripts/preinstall.js +1 -1
- package/vendor/dist/@datadog/sketches-js/index.js +1 -1
- package/vendor/dist/@datadog/source-map/index.js +1 -1
- package/vendor/dist/@isaacs/ttlcache/index.js +1 -1
- package/vendor/dist/@opentelemetry/core/index.js +1 -1
- package/vendor/dist/@opentelemetry/resources/index.js +1 -1
- package/vendor/dist/astring/index.js +1 -1
- package/vendor/dist/crypto-randomuuid/index.js +1 -1
- package/vendor/dist/escape-string-regexp/index.js +1 -1
- package/vendor/dist/esquery/index.js +1 -1
- package/vendor/dist/ignore/index.js +1 -1
- package/vendor/dist/istanbul-lib-coverage/index.js +1 -1
- package/vendor/dist/jest-docblock/index.js +1 -1
- package/vendor/dist/jsonpath-plus/index.js +1 -1
- package/vendor/dist/limiter/index.js +1 -1
- package/vendor/dist/lodash.sortby/index.js +1 -1
- package/vendor/dist/lru-cache/index.js +1 -1
- package/vendor/dist/meriyah/index.js +1 -1
- package/vendor/dist/module-details-from-path/index.js +1 -1
- package/vendor/dist/mutexify/promise/index.js +1 -1
- package/vendor/dist/opentracing/index.js +1 -1
- package/vendor/dist/path-to-regexp/index.js +1 -1
- package/vendor/dist/pprof-format/index.js +1 -1
- package/vendor/dist/protobufjs/index.js +1 -1
- package/vendor/dist/protobufjs/minimal/index.js +1 -1
- package/vendor/dist/retry/index.js +1 -1
- package/vendor/dist/rfdc/index.js +1 -1
- package/vendor/dist/semifies/index.js +1 -1
- package/vendor/dist/shell-quote/index.js +1 -1
- package/vendor/dist/source-map/index.js +1 -1
- package/vendor/dist/source-map/lib/util/index.js +1 -1
- package/vendor/dist/tlhunter-sorted-set/index.js +1 -1
- package/vendor/dist/ttl-set/index.js +1 -1
- package/packages/datadog-plugin-prisma/src/client.js +0 -60
- package/packages/datadog-plugin-prisma/src/engine.js +0 -81
|
@@ -13,17 +13,18 @@ const {
|
|
|
13
13
|
getIsFaultyEarlyFlakeDetection,
|
|
14
14
|
JEST_WORKER_LOGS_PAYLOAD_CODE,
|
|
15
15
|
getTestEndLine,
|
|
16
|
-
isModifiedTest
|
|
16
|
+
isModifiedTest,
|
|
17
17
|
} = require('../../dd-trace/src/plugins/util/test')
|
|
18
18
|
const {
|
|
19
19
|
getFormattedJestTestParameters,
|
|
20
20
|
getJestTestName,
|
|
21
|
-
getJestSuitesToRun
|
|
21
|
+
getJestSuitesToRun,
|
|
22
22
|
} = require('../../datadog-plugin-jest/src/util')
|
|
23
23
|
const { addHook, channel } = require('./helpers/instrument')
|
|
24
24
|
|
|
25
25
|
const testSessionStartCh = channel('ci:jest:session:start')
|
|
26
26
|
const testSessionFinishCh = channel('ci:jest:session:finish')
|
|
27
|
+
const codeCoverageReportCh = channel('ci:jest:coverage-report')
|
|
27
28
|
|
|
28
29
|
const testSessionConfigurationCh = channel('ci:jest:session:configuration')
|
|
29
30
|
|
|
@@ -284,7 +285,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
284
285
|
return {
|
|
285
286
|
attemptToFix: [],
|
|
286
287
|
disabled: [],
|
|
287
|
-
quarantined: []
|
|
288
|
+
quarantined: [],
|
|
288
289
|
}
|
|
289
290
|
}
|
|
290
291
|
let testManagementTestsForSuite = testManagementTests
|
|
@@ -297,10 +298,10 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
297
298
|
const result = {
|
|
298
299
|
attemptToFix: [],
|
|
299
300
|
disabled: [],
|
|
300
|
-
quarantined: []
|
|
301
|
+
quarantined: [],
|
|
301
302
|
}
|
|
302
303
|
|
|
303
|
-
|
|
304
|
+
for (const [testName, { properties }] of Object.entries(testManagementTestsForSuite)) {
|
|
304
305
|
if (properties?.attempt_to_fix) {
|
|
305
306
|
result.attemptToFix.push(testName)
|
|
306
307
|
}
|
|
@@ -310,7 +311,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
310
311
|
if (properties?.quarantined) {
|
|
311
312
|
result.quarantined.push(testName)
|
|
312
313
|
}
|
|
313
|
-
}
|
|
314
|
+
}
|
|
314
315
|
|
|
315
316
|
return result
|
|
316
317
|
}
|
|
@@ -319,7 +320,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
319
320
|
retryTest ({
|
|
320
321
|
jestEvent,
|
|
321
322
|
retryCount,
|
|
322
|
-
retryType
|
|
323
|
+
retryType,
|
|
323
324
|
}) {
|
|
324
325
|
const { testName, fn, timeout } = jestEvent
|
|
325
326
|
for (let retryIndex = 0; retryIndex < retryCount; retryIndex++) {
|
|
@@ -428,7 +429,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
428
429
|
isDisabled,
|
|
429
430
|
isQuarantined,
|
|
430
431
|
isModified,
|
|
431
|
-
testSuiteAbsolutePath: this.testSuiteAbsolutePath
|
|
432
|
+
testSuiteAbsolutePath: this.testSuiteAbsolutePath,
|
|
432
433
|
}
|
|
433
434
|
testContexts.set(event.test, ctx)
|
|
434
435
|
|
|
@@ -475,7 +476,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
475
476
|
this.retryTest({
|
|
476
477
|
jestEvent: event,
|
|
477
478
|
retryCount: testManagementAttemptToFixRetries,
|
|
478
|
-
retryType: 'Test Management (Attempt to Fix)'
|
|
479
|
+
retryType: 'Test Management (Attempt to Fix)',
|
|
479
480
|
})
|
|
480
481
|
}
|
|
481
482
|
if (!isAttemptToFix && this.isImpactedTestsEnabled) {
|
|
@@ -494,7 +495,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
494
495
|
this.retryTest({
|
|
495
496
|
jestEvent: event,
|
|
496
497
|
retryCount: earlyFlakeDetectionNumRetries,
|
|
497
|
-
retryType: 'Impacted tests'
|
|
498
|
+
retryType: 'Impacted tests',
|
|
498
499
|
})
|
|
499
500
|
}
|
|
500
501
|
}
|
|
@@ -507,7 +508,7 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
507
508
|
this.retryTest({
|
|
508
509
|
jestEvent: event,
|
|
509
510
|
retryCount: earlyFlakeDetectionNumRetries,
|
|
510
|
-
retryType: 'Early flake detection'
|
|
511
|
+
retryType: 'Early flake detection',
|
|
511
512
|
})
|
|
512
513
|
}
|
|
513
514
|
}
|
|
@@ -560,8 +561,8 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
560
561
|
|
|
561
562
|
let isEfdRetry = false
|
|
562
563
|
// We'll store the test statuses of the retries
|
|
564
|
+
const testName = getJestTestName(event.test, this.getShouldStripSeedFromTestName())
|
|
563
565
|
if (this.isKnownTestsEnabled) {
|
|
564
|
-
const testName = getJestTestName(event.test, this.getShouldStripSeedFromTestName())
|
|
565
566
|
const isNewTest = retriedTestsToNumAttempts.has(testName)
|
|
566
567
|
if (isNewTest) {
|
|
567
568
|
if (newTestsTestStatuses.has(testName)) {
|
|
@@ -576,18 +577,27 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
576
577
|
const promises = {}
|
|
577
578
|
const numRetries = this.global[RETRY_TIMES]
|
|
578
579
|
const numTestExecutions = event.test?.invocations
|
|
579
|
-
const
|
|
580
|
+
const willBeRetriedByFailedTestReplay = numRetries > 0 && numTestExecutions - 1 < numRetries
|
|
580
581
|
const mightHitBreakpoint = this.isDiEnabled && numTestExecutions >= 2
|
|
581
582
|
|
|
582
583
|
const ctx = testContexts.get(event.test)
|
|
583
584
|
|
|
585
|
+
const finalStatus = this.getFinalStatus(testName,
|
|
586
|
+
status,
|
|
587
|
+
!!ctx?.isNew,
|
|
588
|
+
!!ctx?.isModified,
|
|
589
|
+
isEfdRetry,
|
|
590
|
+
isAttemptToFix,
|
|
591
|
+
numTestExecutions)
|
|
592
|
+
|
|
584
593
|
if (status === 'fail') {
|
|
585
|
-
const shouldSetProbe = this.isDiEnabled &&
|
|
594
|
+
const shouldSetProbe = this.isDiEnabled && willBeRetriedByFailedTestReplay && numTestExecutions === 1
|
|
586
595
|
testErrCh.publish({
|
|
587
596
|
...ctx.currentStore,
|
|
588
597
|
error: formatJestError(event.test.errors[0]),
|
|
589
598
|
shouldSetProbe,
|
|
590
|
-
promises
|
|
599
|
+
promises,
|
|
600
|
+
finalStatus,
|
|
591
601
|
})
|
|
592
602
|
}
|
|
593
603
|
|
|
@@ -613,7 +623,8 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
613
623
|
attemptToFixPassed,
|
|
614
624
|
failedAllTests,
|
|
615
625
|
attemptToFixFailed,
|
|
616
|
-
isAtrRetry
|
|
626
|
+
isAtrRetry,
|
|
627
|
+
finalStatus,
|
|
617
628
|
})
|
|
618
629
|
|
|
619
630
|
if (promises.isProbeReady) {
|
|
@@ -635,13 +646,102 @@ function getWrappedEnvironment (BaseEnvironment, jestVersion) {
|
|
|
635
646
|
testSourceFile: this.testSourceFile,
|
|
636
647
|
displayName: this.displayName,
|
|
637
648
|
frameworkVersion: jestVersion,
|
|
638
|
-
testStartLine: getTestLineStart(event.test.asyncError, this.testSuite)
|
|
649
|
+
testStartLine: getTestLineStart(event.test.asyncError, this.testSuite),
|
|
639
650
|
},
|
|
640
|
-
isDisabled: this.testManagementTestsForThisSuite?.disabled?.includes(testName)
|
|
651
|
+
isDisabled: this.testManagementTestsForThisSuite?.disabled?.includes(testName),
|
|
641
652
|
})
|
|
642
653
|
}
|
|
643
654
|
}
|
|
644
655
|
|
|
656
|
+
getEfdResult ({ testName, isNewTest, isModifiedTest, isEfdRetry, numberOfExecutedRetries }) {
|
|
657
|
+
const isEfdEnabled = this.isEarlyFlakeDetectionEnabled
|
|
658
|
+
const isEfdActive = isEfdEnabled && (isNewTest || isModifiedTest)
|
|
659
|
+
const isLastEfdRetry = isEfdRetry && numberOfExecutedRetries >= (earlyFlakeDetectionNumRetries + 1)
|
|
660
|
+
const isFinalEfdTestExecution = isEfdActive && isLastEfdRetry
|
|
661
|
+
|
|
662
|
+
let finalStatus
|
|
663
|
+
if (isEfdActive && isFinalEfdTestExecution) {
|
|
664
|
+
// For EFD: The framework reports 'pass' if ANY attempt passed (flaky but not failing)
|
|
665
|
+
const testStatuses = newTestsTestStatuses.get(testName)
|
|
666
|
+
finalStatus = testStatuses && testStatuses.includes('pass') ? 'pass' : 'fail'
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
return { isEfdEnabled, isEfdActive, isFinalEfdTestExecution, finalStatus }
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
getAtrResult ({ status, isEfdRetry, isAttemptToFix, numberOfTestInvocations }) {
|
|
673
|
+
const isAtrEnabled =
|
|
674
|
+
this.isFlakyTestRetriesEnabled &&
|
|
675
|
+
!isEfdRetry &&
|
|
676
|
+
!isAttemptToFix &&
|
|
677
|
+
Number.isFinite(this.global[RETRY_TIMES])
|
|
678
|
+
const isLastAtrRetry =
|
|
679
|
+
status === 'pass' || numberOfTestInvocations >= (Number(this.global[RETRY_TIMES]) + 1)
|
|
680
|
+
const isFinalAtrTestExecution = isAtrEnabled && isLastAtrRetry
|
|
681
|
+
|
|
682
|
+
// For ATR: The last execution's status is what the framework reports
|
|
683
|
+
return { isAtrEnabled, isFinalAtrTestExecution, finalStatus: status }
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
getAttemptToFixResult ({ testName, isAttemptToFix, numberOfExecutedRetries }) {
|
|
687
|
+
const isAttemptToFixEnabled =
|
|
688
|
+
this.isTestManagementTestsEnabled &&
|
|
689
|
+
isAttemptToFix &&
|
|
690
|
+
Number.isFinite(testManagementAttemptToFixRetries)
|
|
691
|
+
const isFinalAttemptToFixExecution = isAttemptToFixEnabled &&
|
|
692
|
+
numberOfExecutedRetries >= (testManagementAttemptToFixRetries + 1)
|
|
693
|
+
|
|
694
|
+
let finalStatus
|
|
695
|
+
if (isAttemptToFixEnabled && isFinalAttemptToFixExecution) {
|
|
696
|
+
// For Attempt to Fix: 'pass' only if ALL attempts passed, 'fail' if ANY failed
|
|
697
|
+
const testStatuses = attemptToFixRetriedTestsStatuses.get(testName)
|
|
698
|
+
finalStatus = testStatuses && testStatuses.every(status => status === 'pass') ? 'pass' : 'fail'
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
return { isAttemptToFixEnabled, isFinalAttemptToFixExecution, finalStatus }
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
getFinalStatus (testName, status, isNewTest, isModifiedTest, isEfdRetry, isAttemptToFix, numberOfTestInvocations) {
|
|
705
|
+
const numberOfExecutedRetries = retriedTestsToNumAttempts.get(testName) ?? 0
|
|
706
|
+
|
|
707
|
+
const efdResult = this.getEfdResult({
|
|
708
|
+
testName,
|
|
709
|
+
isNewTest,
|
|
710
|
+
isModifiedTest,
|
|
711
|
+
isEfdRetry,
|
|
712
|
+
numberOfExecutedRetries,
|
|
713
|
+
})
|
|
714
|
+
const atrResult = this.getAtrResult({ status, isEfdRetry, isAttemptToFix, numberOfTestInvocations })
|
|
715
|
+
const attemptToFixResult = this.getAttemptToFixResult({
|
|
716
|
+
testName,
|
|
717
|
+
isAttemptToFix,
|
|
718
|
+
numberOfExecutedRetries,
|
|
719
|
+
})
|
|
720
|
+
|
|
721
|
+
// When no retry features are active, every test execution is final
|
|
722
|
+
const noRetryFeaturesActive =
|
|
723
|
+
!efdResult.isEfdActive &&
|
|
724
|
+
!atrResult.isAtrEnabled &&
|
|
725
|
+
!attemptToFixResult.isAttemptToFixEnabled
|
|
726
|
+
const isFinalTestExecution = noRetryFeaturesActive ||
|
|
727
|
+
efdResult.isFinalEfdTestExecution ||
|
|
728
|
+
atrResult.isFinalAtrTestExecution ||
|
|
729
|
+
attemptToFixResult.isFinalAttemptToFixExecution
|
|
730
|
+
|
|
731
|
+
if (!isFinalTestExecution) {
|
|
732
|
+
return
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
// If the test is quarantined, regardless of its actual execution result,
|
|
736
|
+
// the final status of its last execution should be reported as 'skip'.
|
|
737
|
+
if (this.isTestManagementTestsEnabled &&
|
|
738
|
+
this.testManagementTestsForThisSuite?.quarantined?.includes(testName)) {
|
|
739
|
+
return 'skip'
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
return efdResult.finalStatus || attemptToFixResult.finalStatus || atrResult.finalStatus
|
|
743
|
+
}
|
|
744
|
+
|
|
645
745
|
teardown () {
|
|
646
746
|
if (this._globalProxy?.propertyToValue) {
|
|
647
747
|
for (const [key] of this._globalProxy.propertyToValue) {
|
|
@@ -667,7 +767,7 @@ function getTestEnvironment (pkg, jestVersion) {
|
|
|
667
767
|
return wrappedTestEnvironment
|
|
668
768
|
}
|
|
669
769
|
return target[prop]
|
|
670
|
-
}
|
|
770
|
+
},
|
|
671
771
|
})
|
|
672
772
|
}
|
|
673
773
|
return getWrappedEnvironment(pkg, jestVersion)
|
|
@@ -676,9 +776,7 @@ function getTestEnvironment (pkg, jestVersion) {
|
|
|
676
776
|
function applySuiteSkipping (originalTests, rootDir, frameworkVersion) {
|
|
677
777
|
const jestSuitesToRun = getJestSuitesToRun(skippableSuites, originalTests, rootDir || process.cwd())
|
|
678
778
|
hasFilteredSkippableSuites = true
|
|
679
|
-
log.debug(
|
|
680
|
-
() => `${jestSuitesToRun.suitesToRun.length} out of ${originalTests.length} suites are going to run.`
|
|
681
|
-
)
|
|
779
|
+
log.debug('%d out of %d suites are going to run.', jestSuitesToRun.suitesToRun.length, originalTests.length)
|
|
682
780
|
hasUnskippableSuites = jestSuitesToRun.hasUnskippableSuites
|
|
683
781
|
hasForcedToRunSuites = jestSuitesToRun.hasForcedToRunSuites
|
|
684
782
|
|
|
@@ -692,17 +790,17 @@ function applySuiteSkipping (originalTests, rootDir, frameworkVersion) {
|
|
|
692
790
|
|
|
693
791
|
addHook({
|
|
694
792
|
name: 'jest-environment-node',
|
|
695
|
-
versions: ['>=24.8.0']
|
|
793
|
+
versions: ['>=24.8.0'],
|
|
696
794
|
}, getTestEnvironment)
|
|
697
795
|
|
|
698
796
|
addHook({
|
|
699
797
|
name: 'jest-environment-jsdom',
|
|
700
|
-
versions: ['>=24.8.0']
|
|
798
|
+
versions: ['>=24.8.0'],
|
|
701
799
|
}, getTestEnvironment)
|
|
702
800
|
|
|
703
801
|
addHook({
|
|
704
802
|
name: '@happy-dom/jest-environment',
|
|
705
|
-
versions: ['>=10.0.0']
|
|
803
|
+
versions: ['>=10.0.0'],
|
|
706
804
|
}, getTestEnvironment)
|
|
707
805
|
|
|
708
806
|
function getWrappedScheduleTests (scheduleTests, frameworkVersion) {
|
|
@@ -892,8 +990,8 @@ function getCliWrapper (isNewJestVersion) {
|
|
|
892
990
|
numFailedTestSuites,
|
|
893
991
|
numFailedTests,
|
|
894
992
|
numTotalTests,
|
|
895
|
-
numTotalTestSuites
|
|
896
|
-
}
|
|
993
|
+
numTotalTestSuites,
|
|
994
|
+
},
|
|
897
995
|
} = result
|
|
898
996
|
|
|
899
997
|
let testCodeCoverageLinesTotal
|
|
@@ -1009,7 +1107,7 @@ function getCliWrapper (isNewJestVersion) {
|
|
|
1009
1107
|
isEarlyFlakeDetectionEnabled,
|
|
1010
1108
|
isEarlyFlakeDetectionFaulty,
|
|
1011
1109
|
isTestManagementTestsEnabled,
|
|
1012
|
-
onDone
|
|
1110
|
+
onDone,
|
|
1013
1111
|
})
|
|
1014
1112
|
|
|
1015
1113
|
const waitingResult = await Promise.race([flushPromise, timeoutPromise])
|
|
@@ -1018,11 +1116,18 @@ function getCliWrapper (isNewJestVersion) {
|
|
|
1018
1116
|
log.error('Timeout waiting for the tracer to flush')
|
|
1019
1117
|
}
|
|
1020
1118
|
|
|
1119
|
+
if (codeCoverageReportCh.hasSubscribers) {
|
|
1120
|
+
const rootDir = result.globalConfig?.rootDir || process.cwd()
|
|
1121
|
+
await new Promise((resolve) => {
|
|
1122
|
+
codeCoverageReportCh.publish({ rootDir, onDone: resolve })
|
|
1123
|
+
})
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1021
1126
|
numSkippedSuites = 0
|
|
1022
1127
|
|
|
1023
1128
|
return result
|
|
1024
1129
|
}, {
|
|
1025
|
-
replaceGetter: true
|
|
1130
|
+
replaceGetter: true,
|
|
1026
1131
|
})
|
|
1027
1132
|
}
|
|
1028
1133
|
}
|
|
@@ -1051,7 +1156,7 @@ function coverageReporterWrapper (coverageReporter) {
|
|
|
1051
1156
|
addHook({
|
|
1052
1157
|
name: '@jest/core',
|
|
1053
1158
|
file: 'build/TestScheduler.js',
|
|
1054
|
-
versions: ['>=27.0.0']
|
|
1159
|
+
versions: ['>=27.0.0'],
|
|
1055
1160
|
}, (testSchedulerPackage, frameworkVersion) => {
|
|
1056
1161
|
const oldCreateTestScheduler = testSchedulerPackage.createTestScheduler
|
|
1057
1162
|
const newCreateTestScheduler = async function () {
|
|
@@ -1070,7 +1175,7 @@ addHook({
|
|
|
1070
1175
|
addHook({
|
|
1071
1176
|
name: '@jest/core',
|
|
1072
1177
|
file: 'build/TestScheduler.js',
|
|
1073
|
-
versions: ['>=24.8.0 <27.0.0']
|
|
1178
|
+
versions: ['>=24.8.0 <27.0.0'],
|
|
1074
1179
|
}, (testSchedulerPackage, frameworkVersion) => {
|
|
1075
1180
|
shimmer.wrap(
|
|
1076
1181
|
testSchedulerPackage.default.prototype,
|
|
@@ -1081,7 +1186,7 @@ addHook({
|
|
|
1081
1186
|
|
|
1082
1187
|
addHook({
|
|
1083
1188
|
name: '@jest/test-sequencer',
|
|
1084
|
-
versions: ['>=28']
|
|
1189
|
+
versions: ['>=28'],
|
|
1085
1190
|
}, (sequencerPackage, frameworkVersion) => {
|
|
1086
1191
|
shimmer.wrap(sequencerPackage.default.prototype, 'shard', shard => function () {
|
|
1087
1192
|
const shardedTests = shard.apply(this, arguments)
|
|
@@ -1100,18 +1205,18 @@ addHook({
|
|
|
1100
1205
|
addHook({
|
|
1101
1206
|
name: '@jest/reporters',
|
|
1102
1207
|
file: 'build/coverage_reporter.js',
|
|
1103
|
-
versions: ['>=24.8.0 <26.6.2']
|
|
1208
|
+
versions: ['>=24.8.0 <26.6.2'],
|
|
1104
1209
|
}, coverageReporterWrapper)
|
|
1105
1210
|
|
|
1106
1211
|
addHook({
|
|
1107
1212
|
name: '@jest/reporters',
|
|
1108
1213
|
file: 'build/CoverageReporter.js',
|
|
1109
|
-
versions: ['>=26.6.2']
|
|
1214
|
+
versions: ['>=26.6.2'],
|
|
1110
1215
|
}, coverageReporterWrapper)
|
|
1111
1216
|
|
|
1112
1217
|
addHook({
|
|
1113
1218
|
name: '@jest/reporters',
|
|
1114
|
-
versions: ['>=30.0.0']
|
|
1219
|
+
versions: ['>=30.0.0'],
|
|
1115
1220
|
}, (reporters) => {
|
|
1116
1221
|
return shimmer.wrap(reporters, 'CoverageReporter', coverageReporterWrapper, { replaceGetter: true })
|
|
1117
1222
|
})
|
|
@@ -1119,12 +1224,12 @@ addHook({
|
|
|
1119
1224
|
addHook({
|
|
1120
1225
|
name: '@jest/core',
|
|
1121
1226
|
file: 'build/cli/index.js',
|
|
1122
|
-
versions: ['>=24.8.0 <30.0.0']
|
|
1227
|
+
versions: ['>=24.8.0 <30.0.0'],
|
|
1123
1228
|
}, getCliWrapper(false))
|
|
1124
1229
|
|
|
1125
1230
|
addHook({
|
|
1126
1231
|
name: '@jest/core',
|
|
1127
|
-
versions: ['>=30.0.0']
|
|
1232
|
+
versions: ['>=30.0.0'],
|
|
1128
1233
|
}, getCliWrapper(true))
|
|
1129
1234
|
|
|
1130
1235
|
function jestAdapterWrapper (jestAdapter, jestVersion) {
|
|
@@ -1140,7 +1245,7 @@ function jestAdapterWrapper (jestAdapter, jestVersion) {
|
|
|
1140
1245
|
testSourceFile: environment.testSourceFile,
|
|
1141
1246
|
displayName: environment.displayName,
|
|
1142
1247
|
frameworkVersion: jestVersion,
|
|
1143
|
-
testSuiteAbsolutePath: environment.testSuiteAbsolutePath
|
|
1248
|
+
testSuiteAbsolutePath: environment.testSuiteAbsolutePath,
|
|
1144
1249
|
})
|
|
1145
1250
|
return adapter.apply(this, arguments).then(suiteResults => {
|
|
1146
1251
|
const { numFailingTests, skipped, failureMessage: errorMessage } = suiteResults
|
|
@@ -1168,7 +1273,7 @@ function jestAdapterWrapper (jestAdapter, jestVersion) {
|
|
|
1168
1273
|
coverageFiles,
|
|
1169
1274
|
testSuite: environment.testSourceFile,
|
|
1170
1275
|
mockedFiles,
|
|
1171
|
-
testSuiteAbsolutePath: environment.testSuiteAbsolutePath
|
|
1276
|
+
testSuiteAbsolutePath: environment.testSuiteAbsolutePath,
|
|
1172
1277
|
})
|
|
1173
1278
|
}
|
|
1174
1279
|
testSuiteFinishCh.publish({ status, errorMessage, testSuiteAbsolutePath: environment.testSuiteAbsolutePath })
|
|
@@ -1200,13 +1305,13 @@ function jestAdapterWrapper (jestAdapter, jestVersion) {
|
|
|
1200
1305
|
addHook({
|
|
1201
1306
|
name: 'jest-circus',
|
|
1202
1307
|
file: 'build/runner.js',
|
|
1203
|
-
versions: ['>=30.0.0']
|
|
1308
|
+
versions: ['>=30.0.0'],
|
|
1204
1309
|
}, jestAdapterWrapper)
|
|
1205
1310
|
|
|
1206
1311
|
addHook({
|
|
1207
1312
|
name: 'jest-circus',
|
|
1208
1313
|
file: 'build/legacy-code-todo-rewrite/jestAdapter.js',
|
|
1209
|
-
versions: ['>=24.8.0']
|
|
1314
|
+
versions: ['>=24.8.0'],
|
|
1210
1315
|
}, jestAdapterWrapper)
|
|
1211
1316
|
|
|
1212
1317
|
function configureTestEnvironment (readConfigsResult) {
|
|
@@ -1214,9 +1319,9 @@ function configureTestEnvironment (readConfigsResult) {
|
|
|
1214
1319
|
testSessionConfigurationCh.publish(configs.map(config => config.testEnvironmentOptions))
|
|
1215
1320
|
// We can't directly use isCodeCoverageEnabled when reporting coverage in `jestAdapterWrapper`
|
|
1216
1321
|
// because `jestAdapterWrapper` runs in a different process. We have to go through `testEnvironmentOptions`
|
|
1217
|
-
|
|
1322
|
+
for (const config of configs) {
|
|
1218
1323
|
config.testEnvironmentOptions._ddTestCodeCoverageEnabled = isCodeCoverageEnabled
|
|
1219
|
-
}
|
|
1324
|
+
}
|
|
1220
1325
|
|
|
1221
1326
|
isUserCodeCoverageEnabled = !!readConfigsResult.globalConfig.collectCoverage
|
|
1222
1327
|
|
|
@@ -1227,7 +1332,7 @@ function configureTestEnvironment (readConfigsResult) {
|
|
|
1227
1332
|
if (isCodeCoverageEnabled) {
|
|
1228
1333
|
const globalConfig = {
|
|
1229
1334
|
...readConfigsResult.globalConfig,
|
|
1230
|
-
collectCoverage: true
|
|
1335
|
+
collectCoverage: true,
|
|
1231
1336
|
}
|
|
1232
1337
|
readConfigsResult.globalConfig = globalConfig
|
|
1233
1338
|
}
|
|
@@ -1238,7 +1343,7 @@ function configureTestEnvironment (readConfigsResult) {
|
|
|
1238
1343
|
const globalConfig = {
|
|
1239
1344
|
...readConfigsResult.globalConfig,
|
|
1240
1345
|
coverageReporters: ['none'],
|
|
1241
|
-
passWithNoTests: true
|
|
1346
|
+
passWithNoTests: true,
|
|
1242
1347
|
}
|
|
1243
1348
|
readConfigsResult.globalConfig = globalConfig
|
|
1244
1349
|
}
|
|
@@ -1265,7 +1370,7 @@ function jestConfigSyncWrapper (jestConfig) {
|
|
|
1265
1370
|
addHook({
|
|
1266
1371
|
name: '@jest/transform',
|
|
1267
1372
|
versions: ['>=24.8.0'],
|
|
1268
|
-
file: 'build/ScriptTransformer.js'
|
|
1373
|
+
file: 'build/ScriptTransformer.js',
|
|
1269
1374
|
}, transformPackage => {
|
|
1270
1375
|
const originalCreateScriptTransformer = transformPackage.createScriptTransformer
|
|
1271
1376
|
|
|
@@ -1311,18 +1416,18 @@ addHook({
|
|
|
1311
1416
|
addHook({
|
|
1312
1417
|
name: '@jest/core',
|
|
1313
1418
|
versions: ['>=24.8.0 <30.0.0'],
|
|
1314
|
-
file: 'build/SearchSource.js'
|
|
1419
|
+
file: 'build/SearchSource.js',
|
|
1315
1420
|
}, searchSourceWrapper)
|
|
1316
1421
|
|
|
1317
1422
|
// from 25.1.0 on, readConfigs becomes async
|
|
1318
1423
|
addHook({
|
|
1319
1424
|
name: 'jest-config',
|
|
1320
|
-
versions: ['>=25.1.0']
|
|
1425
|
+
versions: ['>=25.1.0'],
|
|
1321
1426
|
}, jestConfigAsyncWrapper)
|
|
1322
1427
|
|
|
1323
1428
|
addHook({
|
|
1324
1429
|
name: 'jest-config',
|
|
1325
|
-
versions: ['24.8.0 - 24.9.0']
|
|
1430
|
+
versions: ['24.8.0 - 24.9.0'],
|
|
1326
1431
|
}, jestConfigSyncWrapper)
|
|
1327
1432
|
|
|
1328
1433
|
const LIBRARIES_BYPASSING_JEST_REQUIRE_ENGINE = new Set([
|
|
@@ -1333,12 +1438,12 @@ const LIBRARIES_BYPASSING_JEST_REQUIRE_ENGINE = new Set([
|
|
|
1333
1438
|
'selenium-webdriver/firefox',
|
|
1334
1439
|
'selenium-webdriver/ie',
|
|
1335
1440
|
'selenium-webdriver/chromium',
|
|
1336
|
-
'winston'
|
|
1441
|
+
'winston',
|
|
1337
1442
|
])
|
|
1338
1443
|
|
|
1339
1444
|
addHook({
|
|
1340
1445
|
name: 'jest-runtime',
|
|
1341
|
-
versions: ['>=24.8.0']
|
|
1446
|
+
versions: ['>=24.8.0'],
|
|
1342
1447
|
}, (runtimePackage) => {
|
|
1343
1448
|
const Runtime = runtimePackage.default ?? runtimePackage
|
|
1344
1449
|
|
|
@@ -1395,12 +1500,12 @@ addHook({
|
|
|
1395
1500
|
const errorMessage = [...this.loggedReferenceErrors][0]
|
|
1396
1501
|
testSuiteErrorCh.publish({
|
|
1397
1502
|
errorMessage,
|
|
1398
|
-
testSuiteAbsolutePath: this._testPath
|
|
1503
|
+
testSuiteAbsolutePath: this._testPath,
|
|
1399
1504
|
})
|
|
1400
1505
|
} else {
|
|
1401
1506
|
testSuiteErrorCh.publish({
|
|
1402
1507
|
errorMessage: 'An error occurred while importing a module',
|
|
1403
|
-
testSuiteAbsolutePath: this._testPath
|
|
1508
|
+
testSuiteAbsolutePath: this._testPath,
|
|
1404
1509
|
})
|
|
1405
1510
|
}
|
|
1406
1511
|
}
|
|
@@ -1466,8 +1571,8 @@ function sendWrapper (send) {
|
|
|
1466
1571
|
_ddTestManagementTests: suiteTestManagementTests,
|
|
1467
1572
|
// TODO: figure out if we can reduce the size of the modified files object
|
|
1468
1573
|
// Can we use `testSuite` (it'd have to be relative to repository root though)
|
|
1469
|
-
_ddModifiedFiles: modifiedFiles
|
|
1470
|
-
}
|
|
1574
|
+
_ddModifiedFiles: modifiedFiles,
|
|
1575
|
+
},
|
|
1471
1576
|
}
|
|
1472
1577
|
}
|
|
1473
1578
|
return send.apply(this, arguments)
|
|
@@ -1499,7 +1604,7 @@ function enqueueWrapper (enqueue) {
|
|
|
1499
1604
|
addHook({
|
|
1500
1605
|
name: 'jest-worker',
|
|
1501
1606
|
versions: ['>=24.9.0 <30.0.0'],
|
|
1502
|
-
file: 'build/workers/ChildProcessWorker.js'
|
|
1607
|
+
file: 'build/workers/ChildProcessWorker.js',
|
|
1503
1608
|
}, (childProcessWorker) => {
|
|
1504
1609
|
const ChildProcessWorker = childProcessWorker.default
|
|
1505
1610
|
shimmer.wrap(ChildProcessWorker.prototype, 'send', sendWrapper)
|
|
@@ -1513,7 +1618,7 @@ addHook({
|
|
|
1513
1618
|
|
|
1514
1619
|
addHook({
|
|
1515
1620
|
name: 'jest-worker',
|
|
1516
|
-
versions: ['>=30.0.0']
|
|
1621
|
+
versions: ['>=30.0.0'],
|
|
1517
1622
|
}, (jestWorkerPackage) => {
|
|
1518
1623
|
shimmer.wrap(jestWorkerPackage.FifoQueue.prototype, 'enqueue', enqueueWrapper)
|
|
1519
1624
|
shimmer.wrap(jestWorkerPackage.PriorityQueue.prototype, 'enqueue', enqueueWrapper)
|
|
@@ -5,7 +5,7 @@ const shimmer = require('../../datadog-shimmer')
|
|
|
5
5
|
const log = require('../../dd-trace/src/log')
|
|
6
6
|
const {
|
|
7
7
|
channel,
|
|
8
|
-
addHook
|
|
8
|
+
addHook,
|
|
9
9
|
} = require('./helpers/instrument')
|
|
10
10
|
|
|
11
11
|
const producerStartCh = channel('apm:kafkajs:produce:start')
|
|
@@ -33,7 +33,7 @@ function commitsFromEvent (event) {
|
|
|
33
33
|
groupId,
|
|
34
34
|
partition,
|
|
35
35
|
offset,
|
|
36
|
-
topic
|
|
36
|
+
topic,
|
|
37
37
|
})
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -66,7 +66,7 @@ addHook({ name: 'kafkajs', file: 'src/index.js', versions: ['>=1.4'] }, (BaseKaf
|
|
|
66
66
|
clusterId,
|
|
67
67
|
disableHeaderInjection: disabledHeaderWeakSet.has(producer),
|
|
68
68
|
messages,
|
|
69
|
-
topic
|
|
69
|
+
topic,
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
for (const message of messages) {
|
|
@@ -93,9 +93,10 @@ addHook({ name: 'kafkajs', file: 'src/index.js', versions: ['>=1.4'] }, (BaseKaf
|
|
|
93
93
|
// This approach is implemented by other tracers as well.
|
|
94
94
|
if (err.name === 'KafkaJSProtocolError' && err.type === 'UNKNOWN') {
|
|
95
95
|
disabledHeaderWeakSet.add(producer)
|
|
96
|
-
log.error(
|
|
97
|
-
|
|
98
|
-
'Tracer message header injection for Kafka is disabled.'
|
|
96
|
+
log.error(
|
|
97
|
+
// eslint-disable-next-line @stylistic/max-len
|
|
98
|
+
'Kafka Broker responded with UNKNOWN_SERVER_ERROR (-1). Please look at broker logs for more information. Tracer message header injection for Kafka is disabled.'
|
|
99
|
+
)
|
|
99
100
|
}
|
|
100
101
|
producerErrorCh.publish(err)
|
|
101
102
|
}
|
|
@@ -169,7 +170,7 @@ addHook({ name: 'kafkajs', file: 'src/index.js', versions: ['>=1.4'] }, (BaseKaf
|
|
|
169
170
|
eachBatchExtractor,
|
|
170
171
|
clusterId
|
|
171
172
|
),
|
|
172
|
-
...runArgs
|
|
173
|
+
...runArgs,
|
|
173
174
|
})
|
|
174
175
|
}
|
|
175
176
|
|
|
@@ -193,7 +194,7 @@ const wrappedCallback = (fn, startCh, finishCh, errorCh, extractArgs, clusterId)
|
|
|
193
194
|
? function (...args) {
|
|
194
195
|
const extractedArgs = extractArgs(args, clusterId)
|
|
195
196
|
const ctx = {
|
|
196
|
-
extractedArgs
|
|
197
|
+
extractedArgs,
|
|
197
198
|
}
|
|
198
199
|
|
|
199
200
|
return startCh.runStores(ctx, () => {
|
|
@@ -16,7 +16,7 @@ function patch (file) {
|
|
|
16
16
|
addHook({
|
|
17
17
|
name: 'knex',
|
|
18
18
|
versions: ['>=0.8.0'],
|
|
19
|
-
file
|
|
19
|
+
file,
|
|
20
20
|
}, Builder => {
|
|
21
21
|
shimmer.wrap(Builder.prototype, 'then', wrapThen)
|
|
22
22
|
return Builder
|
|
@@ -30,7 +30,7 @@ function finish (context, cb) {
|
|
|
30
30
|
addHook({
|
|
31
31
|
name: 'knex',
|
|
32
32
|
versions: ['>=2'],
|
|
33
|
-
file: 'lib/knex-builder/Knex.js'
|
|
33
|
+
file: 'lib/knex-builder/Knex.js',
|
|
34
34
|
}, Knex => {
|
|
35
35
|
shimmer.wrap(Knex.Client.prototype, 'raw', raw => function () {
|
|
36
36
|
if (!startRawQueryCh.hasSubscribers) {
|
|
@@ -14,7 +14,7 @@ function wrapRequest (original) {
|
|
|
14
14
|
addHook({
|
|
15
15
|
name: 'limitd-client',
|
|
16
16
|
versions: ['>=2.8'],
|
|
17
|
-
file: ['client.js']
|
|
17
|
+
file: ['client.js'],
|
|
18
18
|
}, LimitdClient => {
|
|
19
19
|
shimmer.wrap(LimitdClient.prototype, '_directRequest', wrapRequest)
|
|
20
20
|
shimmer.wrap(LimitdClient.prototype, '_retriedRequest', wrapRequest)
|