Gherkin Streams
This module contains utilities to use the Gherkin library with streams.
Installation
gherkin-streams has 3 peer dependencies: @cucumber/gherkin, @cucumber/messages
and @cucumber/message-streams.
You need to have @cucumber/gherkin and@cucumber/message-streams in your dependencies,
@cucumber/messages is actually installed automatically with @cucumber/gherkin.
npm install @cucumber/gherkin-streams @cucumber/gherkin @cucumber/message-streams
Usage
const { GherkinStreams } = require('@cucumber/gherkin-streams')
const options = {
includeSource: true,
includeGherkinDocument: true,
includePickles: true,
}
const stream = GherkinStreams.fromPaths(['features/hello.feature'])
stream.pipe(...)
Shortening URIs with relativeTo
You can include relativeTo option to avoid emitting longer or absolute URIs, instead making them only relative to the current working directory (or whatever makes sense for your use case):
const { GherkinStreams } = require('@cucumber/gherkin-streams')
const paths = discoverPaths();
const options = {
includeSource: true,
includeGherkinDocument: true,
includePickles: true,
relativeTo: process.cwd()
}
const stream = GherkinStreams.fromPaths(paths)
stream.pipe(...)