Skip to content

Conversation

kieran-ryan
Copy link
Member

@kieran-ryan kieran-ryan commented Apr 14, 2024

🤔 What's changed?

  • Exit code 1 if files reformatted or would be reformatted
  • --check option to check whether reformatting would occur without writing changes
  • --diff option to check whether reformatting would occur without writing changes; and output diff
  • Support formatting against directories
  • Counts for failures, unchanged and formatted files
> npx @cucumber/gherkin-utils format features
❌ 7 files failed to format
🥒 14 files left unchanged
🥒 25 files reformatted

Debt

  • Prevent writing back to file if no changes to be made
  • Updated issues URL in parser error message from common repo to gherkin parser
  • Migrated from deprecated commander-js API to specify argument descriptions in .description rather .argument
  • Updated README from outdated --move API to --to-syntax

⚡️ What's your motivation?

  • Enables increased proliferation of Gherkin Utils across repositories containing feature files - for validating formatting in continous integration pipelines
  • Simplifies usage to run Gherkin Utils against directories containing feature files
  • Enables checking would formatting occur without writing changes
  • Counts provides much greater clarity on changes

Debt

  • Eliminate redundant write operations
  • Ensure parse error messages raised to correct repository
  • Ensure commander-js using latest APIs
  • Align docs with latest API

🏷️ What kind of change is this?

  • ⚡ New feature (non-breaking change which adds new behaviour)

♻️ Anything particular you want feedback on?

  • Whether should default formatter to run against a features directory (e.g. npx @cucumber/gherkin-utils format) to simplify common usage
  • Whether can remove --from-syntax command line option. Not sure is required as syntax (gherkin or markdown) can be determined

📋 Checklist:

  • I agree to respect and uphold the Cucumber Community Code of Conduct
  • I've changed the behaviour of the code
    • I have added/updated tests to cover my changes.
  • My change requires a change to the documentation.
    • I have updated the documentation accordingly.
  • Users should know about my change
    • I have added an entry to the "Unreleased" section of the CHANGELOG, linking to this pull request.

This text was originally generated from a template, then edited by hand. You can modify the template here.

@kieran-ryan kieran-ryan added the ⚡ enhancement Request for new functionality label Apr 14, 2024
@kieran-ryan kieran-ryan self-assigned this Apr 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚡ enhancement Request for new functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant