diff --git a/CHANGELOG.md b/CHANGELOG.md index 525e84113..190435040 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/). Please see [CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) on how to contribute to Cucumber. ## [Unreleased] +### Changed +- Switched to new `@cucumber/ci-environment` library for CI detection ([#1868](https://github.com/cucumber/cucumber-js/pull/1868)) + ### Fixed - Handles spaces in paths for developers working on cucumbers's own code ([#1845](https://github.com/cucumber/cucumber-js/issues/1845)) - Ensure package.json can be imported by consuming projects diff --git a/package-lock.json b/package-lock.json index 8f2962837..10a0a7386 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,13 +10,13 @@ "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.7.0", - "@cucumber/create-meta": "6.0.4", - "@cucumber/cucumber-expressions": "^14.0.0", - "@cucumber/gherkin": "^22.0.0", - "@cucumber/gherkin-streams": "^4.0.0", - "@cucumber/html-formatter": "^17.0.0", - "@cucumber/messages": "^17.1.1", - "@cucumber/tag-expressions": "^4.1.0", + "@cucumber/ci-environment": "8.0.0", + "@cucumber/cucumber-expressions": "14.0.0", + "@cucumber/gherkin": "22.0.0", + "@cucumber/gherkin-streams": "4.0.0", + "@cucumber/html-formatter": "17.0.0", + "@cucumber/messages": "17.1.1", + "@cucumber/tag-expressions": "4.1.0", "assertion-error-formatter": "^3.0.0", "capital-case": "^1.0.4", "cli-table3": "^0.6.0", @@ -532,20 +532,17 @@ "node": ">=12" } }, + "node_modules/@cucumber/ci-environment": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-8.0.0.tgz", + "integrity": "sha512-YYz/nOYsLOvppKIZzSAzySRObZMbEKGd9w5rCzqiv3A/IPCaJ592kQrLGNXW71HWAT/uqThj9qY16hV2spyDRw==" + }, "node_modules/@cucumber/compatibility-kit": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/@cucumber/compatibility-kit/-/compatibility-kit-9.1.2.tgz", "integrity": "sha512-oB01JROFcwFfbqMV+jtJtj8bWU6mrLPUomuki/f9TvXsHMjYgqkBopeJqjcWWtgIfA7Y2CZEnTMWdLxoyBd4RA==", "dev": true }, - "node_modules/@cucumber/create-meta": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@cucumber/create-meta/-/create-meta-6.0.4.tgz", - "integrity": "sha512-VnSnd0PdhOIBcjasRcFcpCKxL9nw5ApZDXZ8Ae96ac5XwA/R9+xbMQxZ8rGGyCI5bK+PZhlhEbPgmTN9nGggow==", - "dependencies": { - "@cucumber/messages": "^17.1.1" - } - }, "node_modules/@cucumber/cucumber-expressions": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-14.0.0.tgz", @@ -7381,20 +7378,17 @@ "@cspotcode/source-map-consumer": "0.8.0" } }, + "@cucumber/ci-environment": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@cucumber/ci-environment/-/ci-environment-8.0.0.tgz", + "integrity": "sha512-YYz/nOYsLOvppKIZzSAzySRObZMbEKGd9w5rCzqiv3A/IPCaJ592kQrLGNXW71HWAT/uqThj9qY16hV2spyDRw==" + }, "@cucumber/compatibility-kit": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/@cucumber/compatibility-kit/-/compatibility-kit-9.1.2.tgz", "integrity": "sha512-oB01JROFcwFfbqMV+jtJtj8bWU6mrLPUomuki/f9TvXsHMjYgqkBopeJqjcWWtgIfA7Y2CZEnTMWdLxoyBd4RA==", "dev": true }, - "@cucumber/create-meta": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@cucumber/create-meta/-/create-meta-6.0.4.tgz", - "integrity": "sha512-VnSnd0PdhOIBcjasRcFcpCKxL9nw5ApZDXZ8Ae96ac5XwA/R9+xbMQxZ8rGGyCI5bK+PZhlhEbPgmTN9nGggow==", - "requires": { - "@cucumber/messages": "^17.1.1" - } - }, "@cucumber/cucumber-expressions": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-14.0.0.tgz", diff --git a/package.json b/package.json index 8f484a0ec..8ac095b52 100644 --- a/package.json +++ b/package.json @@ -184,13 +184,13 @@ }, "dependencies": { "@cspotcode/source-map-support": "^0.7.0", - "@cucumber/create-meta": "6.0.4", - "@cucumber/cucumber-expressions": "^14.0.0", - "@cucumber/gherkin": "^22.0.0", - "@cucumber/gherkin-streams": "^4.0.0", - "@cucumber/html-formatter": "^17.0.0", - "@cucumber/messages": "^17.1.1", - "@cucumber/tag-expressions": "^4.1.0", + "@cucumber/ci-environment": "8.0.0", + "@cucumber/cucumber-expressions": "14.0.0", + "@cucumber/gherkin": "22.0.0", + "@cucumber/gherkin-streams": "4.0.0", + "@cucumber/html-formatter": "17.0.0", + "@cucumber/messages": "17.1.1", + "@cucumber/tag-expressions": "4.1.0", "assertion-error-formatter": "^3.0.0", "capital-case": "^1.0.4", "cli-table3": "^0.6.0", diff --git a/src/cli/helpers.ts b/src/cli/helpers.ts index 946cc2450..da1598a6e 100644 --- a/src/cli/helpers.ts +++ b/src/cli/helpers.ts @@ -7,9 +7,10 @@ import { EventDataCollector } from '../formatter/helpers' import { doesHaveValue } from '../value_checker' import OptionSplitter from './option_splitter' import { Readable } from 'stream' -import { IdGenerator } from '@cucumber/messages' +import os from 'os' import * as messages from '@cucumber/messages' -import createMeta from '@cucumber/create-meta' +import { IdGenerator } from '@cucumber/messages' +import detectCiEnvironment from '@cucumber/ci-environment' import { ISupportCodeLibrary } from '../support_code_library_builder/types' import TestCaseHookDefinition from '../models/test_case_hook_definition' import TestRunHookDefinition from '../models/test_run_hook_definition' @@ -118,8 +119,27 @@ export async function emitMetaMessage( eventBroadcaster: EventEmitter, env: NodeJS.ProcessEnv ): Promise { + const meta: messages.Meta = { + protocolVersion: messages.version, + implementation: { + version, + name: 'cucumber-js', + }, + cpu: { + name: os.arch(), + }, + os: { + name: os.platform(), + version: os.release(), + }, + runtime: { + name: 'node.js', + version: process.versions.node, + }, + ci: detectCiEnvironment(env), + } eventBroadcaster.emit('envelope', { - meta: createMeta('cucumber-js', version, env), + meta, }) }