Releases: cyberuni/gherkin-cli
Release list
gherkin-cli@0.2.1
Patch Changes
- 177eba2: Update dependencies.
gherkin-cli@0.2.0
Minor Changes
-
5445c7c: Formalize the programmatic API. The
.entrypoint (import { … } from 'gherkin-cli') is now a documented library surface exposing the pure engines —parse,parseAst(newly exported),validate,diff,GitError— and their types. The render/stream layer stays CLI-only, so importing gherkin-cli runs no CLI side effect. The CLI now consumes this same API barrel.Add a dependency-injection seam for easy testing, passed as a separate 3rd
depsargument — a narrow role interface (ISP), not an option.parse,parseAst, andvalidatetake aReadsFile(defaultnodeReadsFile);difftakes aReadsGitDiff(defaultgitReadsDiff). Each engine receives only the seam it uses, so they can be driven from in-memory fixtures with no filesystem or git access. TheReadsFileandReadsGitDiffrole interfaces and both node defaults (nodeReadsFile,gitReadsDiff) are exported. No CLI behavior or output routing changes. -
28b08ea:
diffnow omitsunchangedscenarios by default;--fullincludes them.The
--fullflag was documented as "include unchanged scenarios in full detail" but was never wired todiff()—diffalways returned every scenario, and the flag only bypassed output truncation. The flag now does what its help says.Breaking (0.x minor): the default
files[].scenarioslist is now changed-only. A consumer that reads theunchangedentries must pass--full(CLI) or{ full: true }(diff). Consumers that readsummary(includingsummary.unchanged),addOnly, or only theadded/modified/removedentries need no change — the classification still covers the whole file and every aggregate is computed before the projection.
Patch Changes
gherkin-cli@0.1.0
Minor Changes
-
96f46f0: Route agent-facing output through stdout per AXI.
Errors, next-step hints, and empty-state lines previously went to stderr, where
agents do not read them — an agent hitting a missing file or a bad flag saw an
empty stdout and could read it as success. All three now go to stdout: errors as
a structurederror:/code:/message:block, suggestions as a TOONhelp[n]:
block, and empty results as a definitive line stating the zero with context.- Usage errors (unknown flag, missing required flag) now exit
2instead of1;
genuine failures still exit1. - Unknown-flag errors strip commander's own prefix and inline the command's valid
flags, so the correction takes one turn instead of a follow-up--help. - A bare
gherkin-cliinvocation now prints the.featureinventory for the
current directory — bin path, description, count, and per-file scenario counts
— instead of writing a usage manual to stderr.
- Usage errors (unknown flag, missing required flag) now exit
gherkin-cli@0.0.2
Patch Changes
-
a329341: Hash step arguments (DocString, DataTable) into a scenario's diff signature.
diffhashed step keyword + text only, so a step's DocString or DataTable could be rewritten while
the scenario still reportedunchanged/addOnly: true. A Gherkin@rubriclives wholly inside a
DocString, so a frozen rubric could be renamed and itsthreshold: 3moved tothreshold: 0— every
subject then passing — with the diff reporting no change at all.Only argument content is hashed. Locations are excluded (moving a scenario down the file is not a
change), as is the DocString delimiter. The parser strips a DocString's common indentation, so
re-indenting a block is not a change either.