Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update eslint packages (major) #1840

Merged
merged 8 commits into from
Jan 5, 2022

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@typescript-eslint/eslint-plugin 4.33.0 -> 5.6.0 age adoption passing confidence
@typescript-eslint/parser 4.33.0 -> 5.6.0 age adoption passing confidence
eslint (source) 7.32.0 -> 8.4.1 age adoption passing confidence

Release Notes

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v5.6.0

Compare Source

Features
  • scope-manager: support TS4.5 import/export specifier kind (#​4234) (833f822)

v5.5.0

Compare Source

Bug Fixes
  • eslint-plugin: [member-ordering] order literal names correctly in (#​4054) (d57141a)
  • eslint-plugin: [no-duplicate-imports] remove unnecessary type checking for node.source (#​4196) (637722a)
  • eslint-plugin: [no-var-requires] do not report require created from createRequire (#​4221) (0040186)
  • eslint-plugin: [prefer-for-of] do nor error when iterating over this (#​4176) (258ddb0)
  • eslint-plugin: [require-await] treat yield* asynciterable as an await (#​4125) (5a4ce6a)
  • eslint-plugin: remove all whitespaces in comparison #​4220 (#​4223) (853d799)
Features
  • eslint-plugin: [member-ordering] add option to sort case insensitive (#​3896) (e3533d5)
  • eslint-plugin: array-type distinguish whether readonly or not (#​4066) (314af44)

v5.4.0

Compare Source

Bug Fixes
  • correct issues with circular imports (#​4140) (4c87b24)
  • eslint-plugin: [explicit-member-accessibility] private fields cannot have accessibility modifiers (#​4117) (81b25c1)
  • eslint-plugin: [no-implied-eval] ignore locally declared functions (#​4049) (d97140e)
  • eslint-plugin: check optional chaining for floating promises (#​4096) (d724777)
Features

5.3.1 (2021-11-08)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

v5.3.1

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

v5.3.0

Compare Source

Bug Fixes
  • eslint-plugin: ignore private identifiers in explicit-module-boundary-types (#​4046) (80b853d)
  • eslint-plugin: skip seenTypes for unions in isTypeReadonly (#​4043) (6af7ca7)
Features
  • eslint-plugin: [no-shadow] exclude external type declaration merging (#​3959) (a93cebf)

v5.2.0

Compare Source

Bug Fixes
Features

v5.1.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-restricted-imports]: report type-only imports properly (#​3996) (283cdf2)
  • eslint-plugin: [strict-bool-expr] treat unconstrained generic as any (#​3981) (9b29ca7)

v5.0.0

Compare Source

Bug Fixes
  • eslint-plugin: [explicit-member-accessibility] report TSAbstractPropertyDefinition and TSAbstractMethodDefinition properly (#​3901) (82016f9)
  • eslint-plugin: update new rules from master (#​3840) (d88a6b4)
  • update new rules from master (b34fb7e)
  • eslint-plugin: crash in no-dupe-class-members (v5) (#​3813) (4b09644)
Features
BREAKING CHANGES
  • eslint-plugin: ban-types no longer reports object by default
typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

v5.6.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

v5.5.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

v5.4.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

5.3.1 (2021-11-08)

Note: Version bump only for package @​typescript-eslint/parser

v5.3.1

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

v5.3.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

v5.2.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

v5.1.0

Compare Source

Note: Version bump only for package @​typescript-eslint/parser

v5.0.0

Compare Source

Features
eslint/eslint

v8.4.1

Compare Source

Bug Fixes

  • 234e3d9 fix: revert changes to reported locations in max-lines-per-function (#​15397) (Milos Djermanovic)

Documentation

  • fa4d483 docs: fix typo in example for sort-keys rule (#​15393) (Nitin Kumar)

v8.4.0

Compare Source

Features

Bug Fixes

  • 4940cc5 fix: mark --rulesdir option as deprecated in CLI docs (#​15310) (Kevin Partington)

Documentation

  • 54deec5 docs: update integrations.md (#​15380) (Vlad Sholokhov)
  • fa0423a docs: fix typo in PR template (#​15365) (Nitin Kumar)
  • e233920 docs: enable a few more markdownlint rules and fix violations (#​15368) (Bryan Mishkin)
  • 632176d docs: Dedent needlessly indented example in getter-return docs (#​15363) (Jordan Eldredge)
  • 4497e88 docs: Update release notes blog post template (#​15285) (Nicholas C. Zakas)

Chores

v8.3.0

Compare Source

Features

  • 60b0a29 feat: add allowProperties option to require-atomic-updates (#​15238) (Milos Djermanovic)
  • 79278a1 feat: update no-use-before-define for class static blocks (#​15312) (Milos Djermanovic)
  • ddd01dc feat: update no-redeclare for class static blocks (#​15313) (Milos Djermanovic)
  • de69cec feat: update no-inner-declarations for class static blocks (#​15290) (Milos Djermanovic)
  • e2fe7ef feat: support for private-in syntax (fixes #​14811) (#​15060) (Yosuke Ota)
  • 34bc8d7 feat: Update espree and eslint-scope (#​15338) (Brandon Mills)
  • b171cd7 feat: update max-depth for class static blocks (#​15316) (Milos Djermanovic)
  • 6487df3 feat: update padded-blocks for class static blocks (#​15333) (Milos Djermanovic)
  • 194f36d feat: update the complexity rule for class static blocks (#​15328) (Milos Djermanovic)
  • 3530337 feat: update the indent rule for class static blocks (#​15324) (Milos Djermanovic)
  • f03cd14 feat: update lines-around-comment for class static blocks (#​15323) (Milos Djermanovic)
  • 5c64747 feat: update brace-style for class static blocks (#​15322) (Milos Djermanovic)
  • df2f1cc feat: update max-statements for class static blocks (#​15315) (Milos Djermanovic)
  • fd5a0b8 feat: update prefer-const for class static blocks (#​15325) (Milos Djermanovic)
  • b3669fd feat: code path analysis for class static blocks (#​15282) (Milos Djermanovic)
  • 15c1397 feat: update eslint-scope for class static blocks (#​15321) (Milos Djermanovic)
  • 1a1bb4b feat: update one-var for class static blocks (#​15317) (Milos Djermanovic)
  • 9b666e0 feat: update padding-line-between-statements for class static blocks (#​15318) (Milos Djermanovic)
  • d3a267f feat: update class-methods-use-this for class static blocks (#​15298) (Milos Djermanovic)
  • cdaa541 feat: update no-lone-blocks for class static blocks (#​15295) (Milos Djermanovic)
  • 8611538 feat: update block-spacing for class static blocks (#​15297) (Milos Djermanovic)
  • 7b56844 feat: update keyword-spacing for class static blocks (#​15289) (Milos Djermanovic)
  • ea18711 feat: update no-extra-semi for class static blocks (#​15287) (Milos Djermanovic)
  • 0f0971f feat: update semi rule for class static blocks (#​15286) (Milos Djermanovic)
  • abe740c feat: add examples for block-scoped-var with class static blocks (#​15302) (Milos Djermanovic)
  • 0338fd2 feat: Normalize ecmaVersion to eslint-scope when using custom parser (#​15268) (Yosuke Ota)

Bug Fixes

  • 8aa7645 fix: update vars-on-top for class static blocks (#​15306) (Milos Djermanovic)
  • 479a4cb fix: update semi-style for class static blocks (#​15309) (Milos Djermanovic)
  • 6d1c666 fix: update no-invalid-this and no-eval for class static blocks (#​15300) (Milos Djermanovic)

Documentation

  • 6b85426 docs: Expand --debug option description in the CLI documentation (#​15308) (darkred)
  • 3ae5258 docs: the strict rule does not apply to class static blocks (#​15314) (Milos Djermanovic)
  • 9309841 docs: Remove inconsistent colon in pull request docs (#​15303) (Jordan Eldredge)
  • da238cc docs: remove deprecation note from lines-around-comment (#​15293) (Milos Djermanovic)
  • 1055f16 docs: no-unused-expressions - class static blocks don't have directives (#​15283) (Milos Djermanovic)
  • 4c55216 docs: Add variables option to no-use-before-define (#​15276) (Mathias Rasmussen)

Chores

  • edd8d24 chore: upgrade eslint-visitor-keys for class static blocks (#​15277) (Milos Djermanovic)

v8.2.0

Compare Source

Features

  • c9fefd2 feat: report class evaluation TDZ errors in no-use-before-define (#​15134) (Milos Djermanovic)

Documentation

  • c415c04 docs: Use string rule severity in CLI examples (#​15253) (Kevin Partington)
  • 12b627d docs: fix typo in working-with-rules.md (#​15233) (Nitin Kumar)
  • a86ffc0 docs: fix broken anchor in configuration files (#​15223) (Pierre Berger)
  • ee8af5f docs: Link to unit tests from rule documentation (#​15207) (Brandon Mills)
  • 1c0ca3c docs: add ci and perf tags for commit (#​15215) (Nitin Kumar)

Build Related

  • 796587a build: upgrade eslint-release to v3.2.0 to support conventional commits (#​15246) (Milos Djermanovic)

Chores

v8.1.0

Compare Source

v8.0.1

Compare Source

v8.0.0

Compare Source


Configuration

📅 Schedule: "on the first day of the month" (UTC).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate
Copy link
Contributor Author

renovate bot commented Nov 1, 2021

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm notice 
npm notice New minor version of npm available! 8.1.2 -> 8.2.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.2.0>
npm notice Run `npm install -g [email protected]` to update!
npm notice 
npm WARN using --force Recommended protections disabled.
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: [email protected]
npm WARN Found: [email protected]
npm WARN node_modules/eslint
npm WARN   dev eslint@"8.4.1" from the root project
npm WARN   11 more (eslint-config-prettier, eslint-plugin-es, ...)
npm WARN 
npm WARN Could not resolve dependency:
npm WARN peer eslint@"^7.12.1" from [email protected]
npm WARN node_modules/eslint-config-standard
npm WARN   eslint-config-standard@"^16.0.0" from [email protected]
npm WARN   node_modules/eslint-config-standard-with-typescript
npm WARN 
npm WARN Conflicting peer dependency: [email protected]
npm WARN node_modules/eslint
npm WARN   peer eslint@"^7.12.1" from [email protected]
npm WARN   node_modules/eslint-config-standard
npm WARN     eslint-config-standard@"^16.0.0" from [email protected]
npm WARN     node_modules/eslint-config-standard-with-typescript
npm notice 
npm notice New minor version of npm available! 8.1.2 -> 8.2.0
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.2.0>
npm notice Run `npm install -g [email protected]` to update!
npm notice 
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: @typescript-eslint/[email protected]
npm ERR! node_modules/@typescript-eslint/eslint-plugin
npm ERR!   dev @typescript-eslint/eslint-plugin@"5.6.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer @typescript-eslint/eslint-plugin@"^4.0.1" from [email protected]
npm ERR! node_modules/eslint-config-standard-with-typescript
npm ERR!   dev eslint-config-standard-with-typescript@"21.0.1" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: @typescript-eslint/[email protected]
npm ERR! node_modules/@typescript-eslint/eslint-plugin
npm ERR!   peer @typescript-eslint/eslint-plugin@"^4.0.1" from [email protected]
npm ERR!   node_modules/eslint-config-standard-with-typescript
npm ERR!     dev eslint-config-standard-with-typescript@"21.0.1" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /tmp/renovate-cache/others/npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/renovate-cache/others/npm/_logs/2021-12-07T03_47_55_242Z-debug.log

@renovate renovate bot force-pushed the renovate/major-eslint-packages branch 7 times, most recently from 77b9708 to dc4ca32 Compare November 3, 2021 16:25
@davidjgoss
Copy link
Contributor

See this upstream PR which should resolve the conflict mightyiam/eslint-config-love#702

@renovate renovate bot force-pushed the renovate/major-eslint-packages branch 3 times, most recently from 9f94ed1 to 2e2047d Compare November 12, 2021 17:24
@renovate renovate bot force-pushed the renovate/major-eslint-packages branch 2 times, most recently from 3850ccd to 6ce8332 Compare November 21, 2021 10:39
@aurelien-reeves
Copy link
Contributor

At the moment, eslint-plugin-promise and eslint-config-standard-with-typescript are not yet compatible with eslint 8

This seems to be in progress for eslint-plugin-promise: eslint-community/eslint-plugin-promise#219
and for eslint-config-standard-with-typescript: mightyiam/eslint-config-love#728

@davidjgoss
Copy link
Contributor

@aurelien-reeves the standard one looks like it's heading for being unmaintained - it might be worth reevaluating whether we need it. Do we use it in the common ones?

@renovate renovate bot force-pushed the renovate/major-eslint-packages branch 13 times, most recently from 3ccfa54 to ebeeb10 Compare December 6, 2021 20:09
@renovate renovate bot force-pushed the renovate/major-eslint-packages branch from ebeeb10 to 5cad930 Compare December 7, 2021 03:48
- remove plugins which prevent upgrading eslint
- update the configuration based on the one from cucumber-expression
- update a piece of code to make linting happy

Note: some rules have been deactivated to make the update of eslint
possible without breaking our build. Those rules may be deactivated
later as part of dedicated pull requests.
@aurelien-reeves
Copy link
Contributor

@davidjgoss I have done some updates here:

  • I have removed the eslint plugins which prevent the upgrade
  • I have took some inspiration from cucumber-expressions for the configuration of eslint
  • I had to deactivate some rules to make the build happy

Those rules were actually certainly already not applied. Later we may consider trying to turn those on and fix the code accordingly

What do you think?

@coveralls
Copy link

coveralls commented Dec 7, 2021

Coverage Status

Coverage decreased (-0.05%) to 98.212% when pulling 277f130 on renovate/major-eslint-packages into 50710b6 on main.

@guilhermeledes
Copy link

waiting 🤓

@aurelien-reeves aurelien-reeves enabled auto-merge (squash) January 5, 2022 08:02
@aurelien-reeves aurelien-reeves merged commit 05e0080 into main Jan 5, 2022
@aurelien-reeves aurelien-reeves deleted the renovate/major-eslint-packages branch January 5, 2022 08:05
@davidjgoss
Copy link
Contributor

Sorry I missed this @aurelien-reeves - looks good.

@guilhermeledes
Copy link

Sorry I missed this @aurelien-reeves - looks good.

no problem, thank you!

eman2673 added a commit to eman2673/cucumber-js that referenced this pull request Jan 28, 2022
* Cleaning up feature file

* Cleaning up feature file

* Use new messages without protobuf dependencies, and Markdown support. (cucumber#1645)

* Start refactoring the code to use the new messages from the json-schema branch.

To use those messages, first `npm link` every @cucumber/* module we depend on in the monorepo.
Then, `npm link [all the modules]` from this repo.

* Everything compiles

* Fix import of messages module

* Fix import of messages in coordinator

* Update predictableTimestamp to work with new messages

* Fix tests related to capture groups

* Fix some more tests

* Fix another spec

* All unit tests passing

* cck fixes

* Make more scenarios pass

* Fix import

* Export Status

* All features passing

* npm test is now passing

* Update @cucumber dependencies

* Add support for Markdown

* update yarn lockfile

* Fix npm dependencies

* Use .feature.md extension. Update dependencies.

Co-authored-by: aurelien-reeves <[email protected]>
Co-authored-by: davidgoss <[email protected]>

* Update @cucumber/* dependencies (cucumber#1671)

* Bump @cucumber/html-formatter

* cli: have gherkin emit uris relative to the cwd (cucumber#1672)

* pass relativeTo to gherkin-streams

* fix json formatter

* remove more usages of relative

* another one

* another one

* last one

* lint

* fix this test

* fix this test

* add changelog

Co-authored-by: Aslak Hellesøy <[email protected]>

* Revert "cli: have gherkin emit uris relative to the cwd (cucumber#1672)"

This reverts commit 5a21c22.

* cli: relative path fix again, now with windows (cucumber#1673)

* generate html report on runs

* reinstate original change

This reverts commit 8a54a1b.

* update test

* fix pickle filter for windows

* debt: add retry for publish tests (cucumber#1674)

* add tag to feature

* retry config for feature-test run

* chore(deps): update dependency @types/bluebird to v3.5.35 (cucumber#1676)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/lodash to v4.14.170 (cucumber#1678)

Co-authored-by: Renovate Bot <[email protected]>

* format: report total steps correctly in progress bar (cucumber#1669)

* make cck fail: remove reordering of testCase messages

* add new function to deal with testCase

* dont emit testCase from PickleRunner

* include in result

* fix up some tests

* move tests to right places

* emit test cases from serial runtime

* scrappy impl to get serial working

* remove unused field

* refactor structures, fix tests

* make coordinator api more promisey

* start to hook up parallel

* assemble test cases without ITestStep

* remove unused function

* TestCase is source of truth

* TestCaseRunner is more accurate than PickleRunner?

* make parallel runtime work with this

* add explanatory comment

* fix progress bar formatter counts

* changelog

* remove temp tag

Co-authored-by: Aurélien Reeves <[email protected]>

* clarify changelog entry audience

* cleanup

Co-authored-by: Aurélien Reeves <[email protected]>

* chore(deps): update dependency @types/node to v14.17.1 (cucumber#1680)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/express to v4.17.12 (cucumber#1677)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/semver to v7.3.6 (cucumber#1679)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (cucumber#1684)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.3.2 (cucumber#1682)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency sinon to v11 (cucumber#1686)

Co-authored-by: Renovate Bot <[email protected]>

* Publish reports to https://reports.cucumber.io

* Revert "Publish reports to https://reports.cucumber.io"

This reverts commit 85b0f1a.

* docs: more clarification on setDefaultTimeout

* docs: mention that coord process.env copies to workers (cucumber#1693)

Co-authored-by: Aurélien Reeves <[email protected]>

* docs: call out change of after hook result in migration guide (cucumber#1692)

* document change of after hook result

* better wording

* whoops

* Update docs/migration.md

Co-authored-by: Aurélien Reeves <[email protected]>

Co-authored-by: Aurélien Reeves <[email protected]>

* Empty rerun file exits running no scenarios (cucumber#1302) (cucumber#1568)

Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: Aurélien Reeves <[email protected]>
Co-authored-by: David Goss <[email protected]>

* chore(deps): update eslint packages (cucumber#1683)

* chore(deps): update eslint packages

* autofix prettier

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Charles Rudolph <[email protected]>

* Update migration guide links (cucumber#1694)

* typescript: type this as IWorld in user functions (cucumber#1690)

* type this as any in user fns, add test

* update changelog

* setWorldConstructor for completeness

* use generics to do it right

* Update CHANGELOG.md

* use a clearer generic type name

* Pass --tags correctly, remove duplication

* Revert "Pass --tags correctly, remove duplication"

This reverts commit dbcb177.

* debt: add things to main entry point that people need (cucumber#1697)

* ensure hook parameters are exported

* dont need to mark this arg as possibly undefined

* export runtime options

* expose formatter options

* build: only audit production dependencies

* chore: remove redundant profile config

* Release 7.3.0

* 7.3.0

* refactor documentation (part 1) (cucumber#1699)

* add export of cli --help

* dont need note about sync

* update world docs

* document retry

* document profiles

* start to trim stuff from cli

* more on profiles

* document parallel

* add linsk to readmr

* Fixed reports banner to point to https://cucumber.io/docs/cucumber/environment-variables/ (cucumber#1703)

* Add more arrow function warnings (cucumber#1705)

* Add more arrow function warnings

* Update links

* fix(cli): allow targetting same file multiple times (cucumber#1708)

* fix(cli): allow targetting same file multiple times

* Add example to "run multiple scenarios" scenario outline

* Update CHANGELOG.md

* Deduplicate deduplicate message

Co-authored-by: David Goss <[email protected]>

* update supported node versions (cucumber#1704)

* update supported node versions

* fix changelog

* update package json

Co-authored-by: David Goss <[email protected]>

* chore(deps): update dependency ts-node to v10 (cucumber#1687)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency fs-extra to v10 (cucumber#1685)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.17.0 (cucumber#1681)

* chore(deps): update dependency tsd to v0.17.0

* Add @tsd/typescript to dependency-lint ignore list

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* cli: remove deprecated retryTagFilter option (cucumber#1713)

* remove retryTagFilter camelCased option

* add changelog entry

* [WIP] remove lodash (cucumber#1709)

* remove lodash wip

* compiles

* most unit tests + lint

* passing unit tests

* fix features

* fix feature tests

Co-authored-by: David Goss <[email protected]>
Co-authored-by: Aurélien Reeves <[email protected]>

* fix(deps): update dependency commander to v8 (cucumber#1720)

* fix(deps): update dependency commander to v8

* Fix commander upgrade issue

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* chore(deps): update dependency @types/node to v14.17.4 (cucumber#1715)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.3.5 (cucumber#1716)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency mocha to v9 (cucumber#1719)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/chai to v4.2.19 (cucumber#1714)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1718)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update cucumber packages (cucumber#1717)

Co-authored-by: Renovate Bot <[email protected]>

* docs: fix node version mentioned in example

* Fix import in docs

* expose promise timeout helper (cucumber#1566)

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* IParameterTypeDefinition fix (cucumber#1733)

Co-authored-by: Ludek Novy <[email protected]>

* bringing back v6/5 props (cucumber#1732)

* bringing back v6/5 props

* changelog update

* Update CHANGELOG.md

Co-authored-by: David Goss <[email protected]>

Co-authored-by: Ludek Novy <[email protected]>
Co-authored-by: David Goss <[email protected]>

* remove support for generators (cucumber#1725)

* Explain how to use yarn to list commands (cucumber#1730)

Co-authored-by: Matt Wynne <[email protected]>

* Add a 'reindent' test helper (cucumber#1722)

* Upgrade dependencies (cucumber#1736)

* (deps) update dependency lint (cucumber#1726)

* chore: update changelog on main

* add release step to edit+publish gh release

* Bump reindent-template-literals to 1.1.0 (cucumber#1742)

* chore(deps): update dependency @types/express to v4.17.13 (cucumber#1744)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): pin dependency reindent-template-literals to 1.1.0 (cucumber#1743)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/glob to v7.1.4 (cucumber#1746)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/mustache to v4.1.2 (cucumber#1747)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/fs-extra to v9.0.12 (cucumber#1745)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.6 (cucumber#1749)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/mz to v2.7.4 (cucumber#1748)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/progress to v2.0.4 (cucumber#1750)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/resolve to v1.20.1 (cucumber#1751)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.7 (cucumber#1757)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/semver to v7.3.8 (cucumber#1752)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/stream-buffers to v3.0.4 (cucumber#1753)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/tmp to v0.2.1 (cucumber#1754)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1756)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/verror to v1.10.5 (cucumber#1755)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (cucumber#1758)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-node to v10.1.0 (cucumber#1760)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/mocha to v9 (cucumber#1761)

Co-authored-by: Renovate Bot <[email protected]>

* Make parameter type generic for value checker (cucumber#1764)

* Add retro notes from new contributors ensemble (cucumber#1765)

* Add retro folder and notes from last Friday

* Add retro doc from the previous new-contributors session

* Add some more actions from previous retro

* Add pointer to retro-tools

* Use youtube link for stream which is permanent

* Move retro stuff into docs folder

* Fix link to issue

* Tweak CONTRIBUTING guide to be more beginner-friendly (cucumber#1767)

As mentioned in the new contributors ensemble retro[1]

[1]: https://github.com/cucumber/cucumber-js/blob/main/docs/retro/2021/07/17.md#what-should-we-decide--change-for-next-time

* docs: minor fixes for the styling consistency (cucumber#1769)

* Yarn to npm (cucumber#1774)

* Change yarn to npm

Co-authored-by: Matt Wynne <[email protected]>

* Changed the contributing guide use to npm

Co-authored-by: Matt Wynne <[email protected]>

* fixed the autoformat from vscode

* updated the build.yml to now work npm commands

* fixed the update-dependencies

* try using npm 7 with all node versions

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: David Goss <[email protected]>

* Use typescript incremental build to speed up compilation (cucumber#1766)

Co-authored-by: David Goss <[email protected]>

* chore(deps): update dependency @types/node to v14.17.12 (cucumber#1778)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/progress to v2.0.5 (cucumber#1779)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency mocha to v9.1.1 (cucumber#1780)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-node to v10.2.1 (cucumber#1781)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.4.2 (cucumber#1782)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.14 (cucumber#1785)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1787)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1786)

* chore(deps): update eslint packages

* Fix linting errors

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* Deactivate renovate dependency dashboard

As discussed at our last community meeting, we do not want those dashboards.

* chore: update @cucumber/* dependencies, fix willBeRetried usage (cucumber#1776)

* latest dependencies

* make it just about compile

* fix test case runner

* fix summary helper

* fix formatters (ish)

* fix last bit in formatters

* update fixtures for feature tests

* fix attachments cck

* hook up retry cck

* lint

* update doc

* update lockfile

* Add configuration cli option (cucumber#1794)

* Config file Option update

* Add --config option in the argv parser

* Add a scenario in profiles.feature

* Add unit tests and refactorize profile_loader

* Consider the new --config option when loading profiles

* Add some documentation

* Add an entry in the changelog

Co-authored-by: deepziem <[email protected]>

* feat: add pickleStep to step hook function arg (cucumber#1775)

* add to interface

* implement

* update api ref

* update changelgo

* add test

* Increase precision of test case duration measurements. (cucumber#1793)

* fix(formatter): Enable calling parseTestCaseAttempt on test cases that haven't completed (cucumber#1531)

* fix(formatter): Enable calling parseTestCaseAttempt on test cases that haven't completed yet

* Instanciate a proper TestStepResult when parsing TestCaseAttempt

* Add unit tests

* Refactor testCaseAttemptParser unit tests

Co-authored-by: Aurélien Reeves <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>

* add ESM support (take 2) (cucumber#1649)

* Revert "temporarily revert ESM change (cucumber#1647)"

This reverts commit 084c1f2.

* add failing scenario for deep imports

* define entry point with dot

* make deep imports work via export patterns

* move doc to own file

* link to doc from readme

* add changelog entry

* add example to doc

* remove confusing comment

* remove cli option, use import by default

* update documentation

* remove redundant describe

* fix ordering

* Update features/esm.feature

Co-authored-by: Aurélien Reeves <[email protected]>

* Update features/esm.feature

Co-authored-by: Aurélien Reeves <[email protected]>

* simplify tagging

* use import only if a javascript file

* add note about no transpilers

* inline to avoid confusing reassignment

* whoops, re-add try/catch

* use require with transpilers; import otherwise

* remove pointless return

* support .cjs config file

* type and import the importer

* actually dont import - causes issues

Co-authored-by: Aurélien Reeves <[email protected]>

* docs: add rule to keywords for i18n command (cucumber#1800)

* add rule to keywords for i18n command

* Fix i18n example

Co-authored-by: aurelien-reeves <[email protected]>

* set correct version

* debt: remove --predictable-ids option (cucumber#1801)

* WIP

* fix up testing

* add changelog entry

* chore(deps): update dependency @types/fs-extra to v9.0.13 (cucumber#1803)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.20 (cucumber#1804)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.4.3 (cucumber#1805)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @sinonjs/fake-timers to v8 (cucumber#1810)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1809)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency coffeescript to v2.6.0 (cucumber#1808)

Co-authored-by: Renovate Bot <[email protected]>

* fix(deps): update cucumber packages (cucumber#1807)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (cucumber#1806)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update cucumber packages (major) (cucumber#1791)

* chore(deps): update cucumber packages

* Implement new CCK tests from CCK 8.0.0

* Bump compatibility-kit to v9.0.0

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* fix(deps): update cucumber packages (major) (cucumber#1811)

* chore(deps): update cucumber packages

* Implement new CCK tests from CCK 8.0.0

* Bump compatibility-kit to v9.0.0

* fix(deps): update cucumber packages

* Fix requires of cucumber-expressions GeneratedExpression class

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* Fix link to 7.3.1

* support: re-add setDefinitionFunctionWrapper (minus generator step logic) (cucumber#1795)

* Revert "remove support for generators (cucumber#1725)"

This reverts commit a2dcce6.

* Remove bluebird and related dependencies

* Remove support for generator functions

* Update mocha config

* Add forbid-pending to mocharc too

* Update migration and api_reference documents

* Update changelog

* Update CHANGELOG entry

* Fix dependency audit issue

* List formatters in help command (cucumber#1798)

* feature/list-formatters-in-help-command adding documentation field to Formatter class

* feature/list-formatters-in-help-command refactoring getConstructorByType method to hold a Record<string, typeof Formatter>

* feature/list-formatters-in-help-command improving return statement to deal with cases where the default formatter should be returned

* feature/list-formatters-in-help-command after running lint fix

* feature/list-formatters-in-help-command fixing ternary so logic does not invoke load customFormatter

* feature/list-formatters-in-help-command creating class that will hold the description of the formatters

* feature/list-formatters-in-help-command adding logic to extract the correct documentation for each formatter and altering the IFormatter type to have this field

* feature/list-formatters-in-help-command reverting changes made by adding the documentation field to the formatter object

* feature/list-formatters-in-help-command adding documentation field to html formatter

* feature/list-formatters-in-help-command adding documentation member to json/message/progress/rerun/summary/usage formatters

* feature/list-formatters-in-help-command removing formatterDocumentationHelper class as it is no longer needed

* feature/list-formatters-in-help-command adding documentation field to rerun formatter

* feature/list-formatters-in-help-command fixing return type of getConstructorByType method and running linter

* feature/list-formatters-in-help-command removing unnecessary await

* feature/list-formatters-in-help-command creating Formatters class to hold different formatters and extracting them from the builder class

* feature/list-formatters-in-help-command adding documentation field to progress-bar/snippets/usage-json formatters

* feature/list-formatters-in-help-command added method in formatters class to help build the documentation string

* feature/list-formatters-in-help-command used recently added method to list all available formatters

* feature/list-formatters-in-help-command adding documentation to snippets/progress-bar/usage-json formatters

* feature/list-formatters-in-help-command adding new line to format option so that formatters will appear on new line

* feature/list/formatters-in-help-command converting documentation field inside formatter to be public and static. Refactoring buildFormatterDocumentationString

* feature/list/formatters-in-help-command indenting formatters and removing extra space

* feature/list-formatters-in-help-command refactoring building the documentation string

* feature/list-formatters-in-help-command adding feature to changelog

* (docs,snippets): redo formatter docs, new loading strategy for snippet syntaxes (cucumber#1812)

* start the formatters doc

* document summary formatter

* document progress formatter

* progress bar

* regenerate gifs

* clutching at straws here

* optimise gifs

* edit out the summary failure one for mpw

* describe unhappy path for summary

* html formatter doco

* usage and usage-json doco

* replace html formatter screenshot

* try again?

* update git attrs

* wip snippets doco

* readd png

* better version of html screenshot

* better again

* document message and json formatters

* fix messages link

* more info on snippets

* finish up snippets

* rerun docs

* finish up

* load snippet syntax in same way as formatters

* clarify what the options are

* tweak rerun docs

* differentiate retry vs rerun in docs

* simplify readme

* add changelog

* make promise interface return a promise

* add example output for snippet interfaces

* runtime: don't fail the test run for undefined/ambiguous when in dry run (cucumber#1814)

* update scenario (failing)

* clarify

* change logic

* refactor to share logic across serial+parallel

* add changelog

* add doco for dry run

* add link to changelog entry

* Fix github diff link to use main instead of master

* Delete .whitesource

We have renovate.json

* Upgrade dependencies 20211018 (cucumber#1820)

* Update @cucumber dependencies

* Update mocha,ts-node,typescript

* fall back to require where file doesnt have a native js extension (cucumber#1819)

Co-authored-by: Aslak Hellesøy <[email protected]>

* Add Release workflow - see https://github.com/cucumber/.github/blob/main/RELEASING.md

* Add missing changelog and contributor entries

* Add missing comma

* Format changelog (cucumber#1821)

* Format changelog

* Fix links

* Fix release workflow

* Update release process, use .yaml extension for workflows

* Release 8.0.0-rc.1

* Refactor build helpers (cucumber#1826)

* Extract functions into their own files

* Allow injection of exclusion filter to make easier to test

* Make sure we always exclude ourselves

* chore(deps): pin dependencies (cucumber#1827)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): pin dependencies (cucumber#1828)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): pin dependency mocha to 9.1.3 (cucumber#1829)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.32 (cucumber#1830)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/semver to v7.3.9 (cucumber#1831)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/tmp to v0.2.2 (cucumber#1832)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency coffeescript to v2.6.1 (cucumber#1833)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @cucumber/compatibility-kit to v9.1.2 (cucumber#1834)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-node to v10.4.0 (cucumber#1836)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/glob to v7.2.0 (cucumber#1835)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.18.0 (cucumber#1837)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1838)

Co-authored-by: Renovate Bot <[email protected]>

* Ignore OS X files

* chore(deps): update dependency @types/node to v16 (cucumber#1839)

* Factor out instructions about dependency upgrades into central file

* Update RELEASING.md

* Fix-1735 Parentheses in developers' paths break cucumber's own tests WIP (cucumber#1824)

* Extract functions into their own files

* Allow injection of exclusion filter to make easier to test

* Make sure we always exclude ourselves

* Add unit test for getDefinitionLineAndUri

* -adds regex pattern for stack traces
-removes dependencies for StackFram library

* - adds "source-map-support" dependency
- progress towards fixing bug for paths with parentheses Cucumber's own features fail when parent directory contains parentheses cucumber#1735
- gets accurate line numbers for Error stacks in typescript

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>

* update cspotcode/source-map-support

* remove .DS_Store

* updates unit test to support paths on windows

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* Removes assertion for a failing test that's no longer needed

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* Removes exception for the custom stack trace feature

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* Updates changelog

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* fixed linting for previous commit

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* chore(deps): update dependency @types/node to v16.11.11 (cucumber#1854)

Co-authored-by: Renovate Bot <[email protected]>

* fix(deps): update dependency @cucumber/create-meta to v6.0.4 (cucumber#1856)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (cucumber#1855)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.19.0 (cucumber#1857)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency eslint-plugin-promise to v5.2.0 (cucumber#1861)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (cucumber#1860)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (cucumber#1859)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.5.2 (cucumber#1858)

Co-authored-by: Renovate Bot <[email protected]>

* Update esm.md (cucumber#1862)

Move the chapter about configuration file at the top of the doc to give it more visibility

* Smoother onboarding for Windows developers (cucumber#1863)

* Add a warning for Windows developers

The tests won't work if you don't have "Developer Mode" enabled. See cucumber#1852

Co-authored-by: Aurelien Reeves <[email protected]>

* Explain about Developer Mode in contributing guide

* Use cross-platform command for copying files

* Update changelog

* No need to npx in a node script

Co-authored-by: Aurelien Reeves <[email protected]>

* api: add runCucumber function internally (cucumber#1849)

* Export version number of cucumber-js (cucumber#1866)

* Export version number of cucumber-js

* Update CHANGELOG.md

* Add package.json to node module exports (cucumber#1870)

* Add package.json to node module exports

* Update changelog

* Add a scenario to validate we can export package.json and version numbers

* Use template literal rather than string concatenation in direct_imports.feature

* Change entry in the changelog

* handle spaces in the absolute path (cucumber#1845) (cucumber#1847)

* put quotes around the absolute path (cucumber#1845)

added quotes to wrap the path to summary.txt
to ensure that paths containing spaces are read properly

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* fix indentations in feature file

* fixed the bug but needs unit testing

* fixed linting

* adds unit testing for handling paths with quotes

* adds the fix to option splitter files

* updated changelog and removed wip tag

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>

* Update contributing guide

* chore: use new ci-environment package instead of create-meta (cucumber#1868)

* install lib

* WIP

* bump other cucumber deps

* finish impl

* add changelog

* redundant comment

* update library, simplify mapping

* simplify again

* update changelog

* build: add build artifact for reports

* Replace 1 instance of regex with cucumber expression (cucumber#1872)

* Replace regex with cucumber expression.

We decided to split the step definition into two. So that the patterns used be simpler.

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Dane Parchment Jr <[email protected]>

* Fix linting issues

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Dane Parchment Jr <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* Replace 2 instances of regex with cucumber expression (cucumber#1873)

* Replace 2 instance of regex with cucumber expression

* Fixing linting issues

* Optimizing const string

* Making Prettier: from " to '

* chore(deps): pin dependencies (cucumber#1874)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/tmp to v0.2.3 (cucumber#1876)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency express to v4.17.2 (cucumber#1877)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v16.11.17 (cucumber#1875)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.19.1 (cucumber#1879)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency prettier to v2.5.1 (cucumber#1878)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.5.4 (cucumber#1880)

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: David Goss <[email protected]>

* fix(deps): update dependency @cucumber/ci-environment to v8.0.1 (cucumber#1881)

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: David Goss <[email protected]>

* chore(deps): update unit test packages (cucumber#1882)

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: David Goss <[email protected]>

* chore(deps): update eslint packages (major) (cucumber#1840)

* chore(deps): update eslint packages

* Update eslint configuration

- remove plugins which prevent upgrading eslint
- update the configuration based on the one from cucumber-expression
- update a piece of code to make linting happy

Note: some rules have been deactivated to make the update of eslint
possible without breaking our build. Those rules may be deactivated
later as part of dedicated pull requests.

* Activate eslint-plugin-simple-import-sort

* Add simple-import-sort to dependency-lint ignore list

* Revert "Add simple-import-sort to dependency-lint ignore list"

This reverts commit 1bd2f32.

* Revert "Activate eslint-plugin-simple-import-sort"

This reverts commit a0075e7.

* Remove eslint-plugin-simple-import-sort

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* chore: remove defunct npm script

* fix: update [email protected] [email protected]  (cucumber#1886)

* Update package.json

A Security Vuln was identified in the Colors package for >1.4.0, offending packages being `1.4.1`, `1.4.44-liberty`
- [source1](https://twitter.com/snyksec/status/1480286811482206216?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet)
- [source2](https://twitter.com/snyksec/status/1480286811482206216?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet)
- [source3](https://security.snyk.io/vuln/SNYK-JS-COLORS-2331906)

This PR pins the color package to `1.4.0` as advised on the [snyk page](https://snyk.io/blog/open-source-maintainer-pulls-the-plug-on-npm-packages-colors-and-faker-now-what/)

* chore: update changelog

* fix: update and pin [email protected]

* chore: update CHANGELOG

* chore: update lockfile with new pinned versions

* Release 8.0.0-rc.2

* Add a retro

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Extract prettier config from eslintrc (cucumber#1893)

This is a more conventional place to store prettier config, and it means
that VSCode's prettier plugin can automatically find it.

* chore: bump dependency with vulnerability

* build: only build on main and for PRs

* chore: switch from colors to chalk (cucumber#1895)

* swap out dependencies

* reimpl

* add changelog entry

* remove unused import

* Replace some uses of `any` type (cucumber#1892)

* Replace use of `any` type with `messages.Envelope`

Part of cucumber#1648

Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>

* Replace use of `any` with a custom World in CCK example

Part of cucumber#1648

Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Replace another use of `any` with a custom type

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Replace another use of `any` type

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>

* docs: improve profiles documentation (cucumber#1897)

* Update profiles.md

* Update docs/profiles.md

Co-authored-by: Aurélien Reeves <[email protected]>

Co-authored-by: Aurélien Reeves <[email protected]>

* Add new-contributors retro

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Consolidate retro files

* Removing usage of lodash

Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>
Co-authored-by: davidgoss <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: David Goss <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: jshifflet <[email protected]>
Co-authored-by: Charles Rudolph <[email protected]>
Co-authored-by: Nico Jansen <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Ludek <[email protected]>
Co-authored-by: Ludek Novy <[email protected]>
Co-authored-by: Cucumber Ensemble <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: 16sheep <[email protected]>
Co-authored-by: Dmytro Shpakovskyi <[email protected]>
Co-authored-by: abelalmeida <[email protected]>
Co-authored-by: deepziem <[email protected]>
Co-authored-by: Joaquín Sorianello <[email protected]>
Co-authored-by: Jan Molak <[email protected]>
Co-authored-by: David Goss <[email protected]>
Co-authored-by: Tomer Ben-Rachel <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>
Co-authored-by: Karla Aparecida Justen <[email protected]>
Co-authored-by: Manny <[email protected]>
Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Michael Morris <[email protected]>
davidjgoss added a commit that referenced this pull request Feb 20, 2022
* [#1044] allow assignment of work using api hook

* [#1044] Using array instead of iterable
adding id to IWorker for easy lookup of in progress pickles

* [#1044] Adding type for parallelCanAssign
Simplifying tests

* [#1044] Using variable for workers instead of repeating _.values.
No need for oneWokeWorker check. inProgressPickles is adequate for starters

* [#1044] Mansplaining the custom worker assignment process

* [#1044] Making casing consistent

* Instead of killing the job, make sure at least 1 worker is assigned

* Detailing example a bit more.
Slight adjustments for fallback to serial processing

* Put close worker back. No longer reused

* Utilizing ParallelAssignmentValidator type for ISupportCodeLibrary.parallelCanAssign
1 member in IWorker to cover all states

* Moving idle state to worker ready message
Defaulting state to new

* [#1044] Emitting warning for all workers idle
Correct contradiction in README.md
Simplifying example in README.md

* Resolving some minor README issues

* [#1044] Refactoring out nextPickleIndex + README example as test

* Omitting complex 3 cause cannot guaranty the worker as both will be ready for work

* Dropping use of _.values to iterate for waking workers

* copy the pickleIds to leave the passed argument intact

* Parsing test cases to verify order and parallelism

* Using spawn tag to get errorOutput for warning validation
Explicit step definitions for parallel test verification

* Simplify tests (#4)

Cleaning up feature file

* Resolve conflicts (#5)

* Cleaning up feature file

* Cleaning up feature file

* Use new messages without protobuf dependencies, and Markdown support. (#1645)

* Start refactoring the code to use the new messages from the json-schema branch.

To use those messages, first `npm link` every @cucumber/* module we depend on in the monorepo.
Then, `npm link [all the modules]` from this repo.

* Everything compiles

* Fix import of messages module

* Fix import of messages in coordinator

* Update predictableTimestamp to work with new messages

* Fix tests related to capture groups

* Fix some more tests

* Fix another spec

* All unit tests passing

* cck fixes

* Make more scenarios pass

* Fix import

* Export Status

* All features passing

* npm test is now passing

* Update @cucumber dependencies

* Add support for Markdown

* update yarn lockfile

* Fix npm dependencies

* Use .feature.md extension. Update dependencies.

Co-authored-by: aurelien-reeves <[email protected]>
Co-authored-by: davidgoss <[email protected]>

* Update @cucumber/* dependencies (#1671)

* Bump @cucumber/html-formatter

* cli: have gherkin emit uris relative to the cwd (#1672)

* pass relativeTo to gherkin-streams

* fix json formatter

* remove more usages of relative

* another one

* another one

* last one

* lint

* fix this test

* fix this test

* add changelog

Co-authored-by: Aslak Hellesøy <[email protected]>

* Revert "cli: have gherkin emit uris relative to the cwd (#1672)"

This reverts commit 5a21c22.

* cli: relative path fix again, now with windows (#1673)

* generate html report on runs

* reinstate original change

This reverts commit 8a54a1b.

* update test

* fix pickle filter for windows

* debt: add retry for publish tests (#1674)

* add tag to feature

* retry config for feature-test run

* chore(deps): update dependency @types/bluebird to v3.5.35 (#1676)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/lodash to v4.14.170 (#1678)

Co-authored-by: Renovate Bot <[email protected]>

* format: report total steps correctly in progress bar (#1669)

* make cck fail: remove reordering of testCase messages

* add new function to deal with testCase

* dont emit testCase from PickleRunner

* include in result

* fix up some tests

* move tests to right places

* emit test cases from serial runtime

* scrappy impl to get serial working

* remove unused field

* refactor structures, fix tests

* make coordinator api more promisey

* start to hook up parallel

* assemble test cases without ITestStep

* remove unused function

* TestCase is source of truth

* TestCaseRunner is more accurate than PickleRunner?

* make parallel runtime work with this

* add explanatory comment

* fix progress bar formatter counts

* changelog

* remove temp tag

Co-authored-by: Aurélien Reeves <[email protected]>

* clarify changelog entry audience

* cleanup

Co-authored-by: Aurélien Reeves <[email protected]>

* chore(deps): update dependency @types/node to v14.17.1 (#1680)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/express to v4.17.12 (#1677)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/semver to v7.3.6 (#1679)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (#1684)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.3.2 (#1682)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency sinon to v11 (#1686)

Co-authored-by: Renovate Bot <[email protected]>

* Publish reports to https://reports.cucumber.io

* Revert "Publish reports to https://reports.cucumber.io"

This reverts commit 85b0f1a.

* docs: more clarification on setDefaultTimeout

* docs: mention that coord process.env copies to workers (#1693)

Co-authored-by: Aurélien Reeves <[email protected]>

* docs: call out change of after hook result in migration guide (#1692)

* document change of after hook result

* better wording

* whoops

* Update docs/migration.md

Co-authored-by: Aurélien Reeves <[email protected]>

Co-authored-by: Aurélien Reeves <[email protected]>

* Empty rerun file exits running no scenarios (#1302) (#1568)

Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: Aurélien Reeves <[email protected]>
Co-authored-by: David Goss <[email protected]>

* chore(deps): update eslint packages (#1683)

* chore(deps): update eslint packages

* autofix prettier

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Charles Rudolph <[email protected]>

* Update migration guide links (#1694)

* typescript: type this as IWorld in user functions (#1690)

* type this as any in user fns, add test

* update changelog

* setWorldConstructor for completeness

* use generics to do it right

* Update CHANGELOG.md

* use a clearer generic type name

* Pass --tags correctly, remove duplication

* Revert "Pass --tags correctly, remove duplication"

This reverts commit dbcb177.

* debt: add things to main entry point that people need (#1697)

* ensure hook parameters are exported

* dont need to mark this arg as possibly undefined

* export runtime options

* expose formatter options

* build: only audit production dependencies

* chore: remove redundant profile config

* Release 7.3.0

* 7.3.0

* refactor documentation (part 1) (#1699)

* add export of cli --help

* dont need note about sync

* update world docs

* document retry

* document profiles

* start to trim stuff from cli

* more on profiles

* document parallel

* add linsk to readmr

* Fixed reports banner to point to https://cucumber.io/docs/cucumber/environment-variables/ (#1703)

* Add more arrow function warnings (#1705)

* Add more arrow function warnings

* Update links

* fix(cli): allow targetting same file multiple times (#1708)

* fix(cli): allow targetting same file multiple times

* Add example to "run multiple scenarios" scenario outline

* Update CHANGELOG.md

* Deduplicate deduplicate message

Co-authored-by: David Goss <[email protected]>

* update supported node versions (#1704)

* update supported node versions

* fix changelog

* update package json

Co-authored-by: David Goss <[email protected]>

* chore(deps): update dependency ts-node to v10 (#1687)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency fs-extra to v10 (#1685)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.17.0 (#1681)

* chore(deps): update dependency tsd to v0.17.0

* Add @tsd/typescript to dependency-lint ignore list

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* cli: remove deprecated retryTagFilter option (#1713)

* remove retryTagFilter camelCased option

* add changelog entry

* [WIP] remove lodash (#1709)

* remove lodash wip

* compiles

* most unit tests + lint

* passing unit tests

* fix features

* fix feature tests

Co-authored-by: David Goss <[email protected]>
Co-authored-by: Aurélien Reeves <[email protected]>

* fix(deps): update dependency commander to v8 (#1720)

* fix(deps): update dependency commander to v8

* Fix commander upgrade issue

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* chore(deps): update dependency @types/node to v14.17.4 (#1715)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.3.5 (#1716)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency mocha to v9 (#1719)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/chai to v4.2.19 (#1714)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1718)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update cucumber packages (#1717)

Co-authored-by: Renovate Bot <[email protected]>

* docs: fix node version mentioned in example

* Fix import in docs

* expose promise timeout helper (#1566)

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* IParameterTypeDefinition fix (#1733)

Co-authored-by: Ludek Novy <[email protected]>

* bringing back v6/5 props (#1732)

* bringing back v6/5 props

* changelog update

* Update CHANGELOG.md

Co-authored-by: David Goss <[email protected]>

Co-authored-by: Ludek Novy <[email protected]>
Co-authored-by: David Goss <[email protected]>

* remove support for generators (#1725)

* Explain how to use yarn to list commands (#1730)

Co-authored-by: Matt Wynne <[email protected]>

* Add a 'reindent' test helper (#1722)

* Upgrade dependencies (#1736)

* (deps) update dependency lint (#1726)

* chore: update changelog on main

* add release step to edit+publish gh release

* Bump reindent-template-literals to 1.1.0 (#1742)

* chore(deps): update dependency @types/express to v4.17.13 (#1744)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): pin dependency reindent-template-literals to 1.1.0 (#1743)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/glob to v7.1.4 (#1746)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/mustache to v4.1.2 (#1747)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/fs-extra to v9.0.12 (#1745)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.6 (#1749)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/mz to v2.7.4 (#1748)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/progress to v2.0.4 (#1750)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/resolve to v1.20.1 (#1751)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.7 (#1757)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/semver to v7.3.8 (#1752)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/stream-buffers to v3.0.4 (#1753)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/tmp to v0.2.1 (#1754)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1756)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/verror to v1.10.5 (#1755)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (#1758)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-node to v10.1.0 (#1760)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/mocha to v9 (#1761)

Co-authored-by: Renovate Bot <[email protected]>

* Make parameter type generic for value checker (#1764)

* Add retro notes from new contributors ensemble (#1765)

* Add retro folder and notes from last Friday

* Add retro doc from the previous new-contributors session

* Add some more actions from previous retro

* Add pointer to retro-tools

* Use youtube link for stream which is permanent

* Move retro stuff into docs folder

* Fix link to issue

* Tweak CONTRIBUTING guide to be more beginner-friendly (#1767)

As mentioned in the new contributors ensemble retro[1]

[1]: https://github.com/cucumber/cucumber-js/blob/main/docs/retro/2021/07/17.md#what-should-we-decide--change-for-next-time

* docs: minor fixes for the styling consistency (#1769)

* Yarn to npm (#1774)

* Change yarn to npm

Co-authored-by: Matt Wynne <[email protected]>

* Changed the contributing guide use to npm

Co-authored-by: Matt Wynne <[email protected]>

* fixed the autoformat from vscode

* updated the build.yml to now work npm commands

* fixed the update-dependencies

* try using npm 7 with all node versions

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: David Goss <[email protected]>

* Use typescript incremental build to speed up compilation (#1766)

Co-authored-by: David Goss <[email protected]>

* chore(deps): update dependency @types/node to v14.17.12 (#1778)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/progress to v2.0.5 (#1779)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency mocha to v9.1.1 (#1780)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-node to v10.2.1 (#1781)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.4.2 (#1782)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.14 (#1785)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1787)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1786)

* chore(deps): update eslint packages

* Fix linting errors

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* Deactivate renovate dependency dashboard

As discussed at our last community meeting, we do not want those dashboards.

* chore: update @cucumber/* dependencies, fix willBeRetried usage (#1776)

* latest dependencies

* make it just about compile

* fix test case runner

* fix summary helper

* fix formatters (ish)

* fix last bit in formatters

* update fixtures for feature tests

* fix attachments cck

* hook up retry cck

* lint

* update doc

* update lockfile

* Add configuration cli option (#1794)

* Config file Option update

* Add --config option in the argv parser

* Add a scenario in profiles.feature

* Add unit tests and refactorize profile_loader

* Consider the new --config option when loading profiles

* Add some documentation

* Add an entry in the changelog

Co-authored-by: deepziem <[email protected]>

* feat: add pickleStep to step hook function arg (#1775)

* add to interface

* implement

* update api ref

* update changelgo

* add test

* Increase precision of test case duration measurements. (#1793)

* fix(formatter): Enable calling parseTestCaseAttempt on test cases that haven't completed (#1531)

* fix(formatter): Enable calling parseTestCaseAttempt on test cases that haven't completed yet

* Instanciate a proper TestStepResult when parsing TestCaseAttempt

* Add unit tests

* Refactor testCaseAttemptParser unit tests

Co-authored-by: Aurélien Reeves <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>

* add ESM support (take 2) (#1649)

* Revert "temporarily revert ESM change (#1647)"

This reverts commit 084c1f2.

* add failing scenario for deep imports

* define entry point with dot

* make deep imports work via export patterns

* move doc to own file

* link to doc from readme

* add changelog entry

* add example to doc

* remove confusing comment

* remove cli option, use import by default

* update documentation

* remove redundant describe

* fix ordering

* Update features/esm.feature

Co-authored-by: Aurélien Reeves <[email protected]>

* Update features/esm.feature

Co-authored-by: Aurélien Reeves <[email protected]>

* simplify tagging

* use import only if a javascript file

* add note about no transpilers

* inline to avoid confusing reassignment

* whoops, re-add try/catch

* use require with transpilers; import otherwise

* remove pointless return

* support .cjs config file

* type and import the importer

* actually dont import - causes issues

Co-authored-by: Aurélien Reeves <[email protected]>

* docs: add rule to keywords for i18n command (#1800)

* add rule to keywords for i18n command

* Fix i18n example

Co-authored-by: aurelien-reeves <[email protected]>

* set correct version

* debt: remove --predictable-ids option (#1801)

* WIP

* fix up testing

* add changelog entry

* chore(deps): update dependency @types/fs-extra to v9.0.13 (#1803)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.20 (#1804)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.4.3 (#1805)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @sinonjs/fake-timers to v8 (#1810)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1809)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency coffeescript to v2.6.0 (#1808)

Co-authored-by: Renovate Bot <[email protected]>

* fix(deps): update cucumber packages (#1807)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (#1806)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update cucumber packages (major) (#1791)

* chore(deps): update cucumber packages

* Implement new CCK tests from CCK 8.0.0

* Bump compatibility-kit to v9.0.0

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* fix(deps): update cucumber packages (major) (#1811)

* chore(deps): update cucumber packages

* Implement new CCK tests from CCK 8.0.0

* Bump compatibility-kit to v9.0.0

* fix(deps): update cucumber packages

* Fix requires of cucumber-expressions GeneratedExpression class

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* Fix link to 7.3.1

* support: re-add setDefinitionFunctionWrapper (minus generator step logic) (#1795)

* Revert "remove support for generators (#1725)"

This reverts commit a2dcce6.

* Remove bluebird and related dependencies

* Remove support for generator functions

* Update mocha config

* Add forbid-pending to mocharc too

* Update migration and api_reference documents

* Update changelog

* Update CHANGELOG entry

* Fix dependency audit issue

* List formatters in help command (#1798)

* feature/list-formatters-in-help-command adding documentation field to Formatter class

* feature/list-formatters-in-help-command refactoring getConstructorByType method to hold a Record<string, typeof Formatter>

* feature/list-formatters-in-help-command improving return statement to deal with cases where the default formatter should be returned

* feature/list-formatters-in-help-command after running lint fix

* feature/list-formatters-in-help-command fixing ternary so logic does not invoke load customFormatter

* feature/list-formatters-in-help-command creating class that will hold the description of the formatters

* feature/list-formatters-in-help-command adding logic to extract the correct documentation for each formatter and altering the IFormatter type to have this field

* feature/list-formatters-in-help-command reverting changes made by adding the documentation field to the formatter object

* feature/list-formatters-in-help-command adding documentation field to html formatter

* feature/list-formatters-in-help-command adding documentation member to json/message/progress/rerun/summary/usage formatters

* feature/list-formatters-in-help-command removing formatterDocumentationHelper class as it is no longer needed

* feature/list-formatters-in-help-command adding documentation field to rerun formatter

* feature/list-formatters-in-help-command fixing return type of getConstructorByType method and running linter

* feature/list-formatters-in-help-command removing unnecessary await

* feature/list-formatters-in-help-command creating Formatters class to hold different formatters and extracting them from the builder class

* feature/list-formatters-in-help-command adding documentation field to progress-bar/snippets/usage-json formatters

* feature/list-formatters-in-help-command added method in formatters class to help build the documentation string

* feature/list-formatters-in-help-command used recently added method to list all available formatters

* feature/list-formatters-in-help-command adding documentation to snippets/progress-bar/usage-json formatters

* feature/list-formatters-in-help-command adding new line to format option so that formatters will appear on new line

* feature/list/formatters-in-help-command converting documentation field inside formatter to be public and static. Refactoring buildFormatterDocumentationString

* feature/list/formatters-in-help-command indenting formatters and removing extra space

* feature/list-formatters-in-help-command refactoring building the documentation string

* feature/list-formatters-in-help-command adding feature to changelog

* (docs,snippets): redo formatter docs, new loading strategy for snippet syntaxes (#1812)

* start the formatters doc

* document summary formatter

* document progress formatter

* progress bar

* regenerate gifs

* clutching at straws here

* optimise gifs

* edit out the summary failure one for mpw

* describe unhappy path for summary

* html formatter doco

* usage and usage-json doco

* replace html formatter screenshot

* try again?

* update git attrs

* wip snippets doco

* readd png

* better version of html screenshot

* better again

* document message and json formatters

* fix messages link

* more info on snippets

* finish up snippets

* rerun docs

* finish up

* load snippet syntax in same way as formatters

* clarify what the options are

* tweak rerun docs

* differentiate retry vs rerun in docs

* simplify readme

* add changelog

* make promise interface return a promise

* add example output for snippet interfaces

* runtime: don't fail the test run for undefined/ambiguous when in dry run (#1814)

* update scenario (failing)

* clarify

* change logic

* refactor to share logic across serial+parallel

* add changelog

* add doco for dry run

* add link to changelog entry

* Fix github diff link to use main instead of master

* Delete .whitesource

We have renovate.json

* Upgrade dependencies 20211018 (#1820)

* Update @cucumber dependencies

* Update mocha,ts-node,typescript

* fall back to require where file doesnt have a native js extension (#1819)

Co-authored-by: Aslak Hellesøy <[email protected]>

* Add Release workflow - see https://github.com/cucumber/.github/blob/main/RELEASING.md

* Add missing changelog and contributor entries

* Add missing comma

* Format changelog (#1821)

* Format changelog

* Fix links

* Fix release workflow

* Update release process, use .yaml extension for workflows

* Release 8.0.0-rc.1

* Refactor build helpers (#1826)

* Extract functions into their own files

* Allow injection of exclusion filter to make easier to test

* Make sure we always exclude ourselves

* chore(deps): pin dependencies (#1827)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): pin dependencies (#1828)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): pin dependency mocha to 9.1.3 (#1829)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v14.17.32 (#1830)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/semver to v7.3.9 (#1831)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/tmp to v0.2.2 (#1832)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency coffeescript to v2.6.1 (#1833)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @cucumber/compatibility-kit to v9.1.2 (#1834)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency ts-node to v10.4.0 (#1836)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/glob to v7.2.0 (#1835)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.18.0 (#1837)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1838)

Co-authored-by: Renovate Bot <[email protected]>

* Ignore OS X files

* chore(deps): update dependency @types/node to v16 (#1839)

* Factor out instructions about dependency upgrades into central file

* Update RELEASING.md

* Fix-1735 Parentheses in developers' paths break cucumber's own tests WIP (#1824)

* Extract functions into their own files

* Allow injection of exclusion filter to make easier to test

* Make sure we always exclude ourselves

* Add unit test for getDefinitionLineAndUri

* -adds regex pattern for stack traces
-removes dependencies for StackFram library

* - adds "source-map-support" dependency
- progress towards fixing bug for paths with parentheses Cucumber's own features fail when parent directory contains parentheses #1735
- gets accurate line numbers for Error stacks in typescript

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>

* update cspotcode/source-map-support

* remove .DS_Store

* updates unit test to support paths on windows

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* Removes assertion for a failing test that's no longer needed

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* Removes exception for the custom stack trace feature

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* Updates changelog

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* fixed linting for previous commit

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* chore(deps): update dependency @types/node to v16.11.11 (#1854)

Co-authored-by: Renovate Bot <[email protected]>

* fix(deps): update dependency @cucumber/create-meta to v6.0.4 (#1856)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update eslint packages (#1855)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.19.0 (#1857)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency eslint-plugin-promise to v5.2.0 (#1861)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (#1860)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update unit test packages (#1859)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.5.2 (#1858)

Co-authored-by: Renovate Bot <[email protected]>

* Update esm.md (#1862)

Move the chapter about configuration file at the top of the doc to give it more visibility

* Smoother onboarding for Windows developers (#1863)

* Add a warning for Windows developers

The tests won't work if you don't have "Developer Mode" enabled. See #1852

Co-authored-by: Aurelien Reeves <[email protected]>

* Explain about Developer Mode in contributing guide

* Use cross-platform command for copying files

* Update changelog

* No need to npx in a node script

Co-authored-by: Aurelien Reeves <[email protected]>

* api: add runCucumber function internally (#1849)

* Export version number of cucumber-js (#1866)

* Export version number of cucumber-js

* Update CHANGELOG.md

* Add package.json to node module exports (#1870)

* Add package.json to node module exports

* Update changelog

* Add a scenario to validate we can export package.json and version numbers

* Use template literal rather than string concatenation in direct_imports.feature

* Change entry in the changelog

* handle spaces in the absolute path (#1845) (#1847)

* put quotes around the absolute path (#1845)

added quotes to wrap the path to summary.txt
to ensure that paths containing spaces are read properly

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>

* fix indentations in feature file

* fixed the bug but needs unit testing

* fixed linting

* adds unit testing for handling paths with quotes

* adds the fix to option splitter files

* updated changelog and removed wip tag

Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>

* Update contributing guide

* chore: use new ci-environment package instead of create-meta (#1868)

* install lib

* WIP

* bump other cucumber deps

* finish impl

* add changelog

* redundant comment

* update library, simplify mapping

* simplify again

* update changelog

* build: add build artifact for reports

* Replace 1 instance of regex with cucumber expression (#1872)

* Replace regex with cucumber expression.

We decided to split the step definition into two. So that the patterns used be simpler.

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Dane Parchment Jr <[email protected]>

* Fix linting issues

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Dane Parchment Jr <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* Replace 2 instances of regex with cucumber expression (#1873)

* Replace 2 instance of regex with cucumber expression

* Fixing linting issues

* Optimizing const string

* Making Prettier: from " to '

* chore(deps): pin dependencies (#1874)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/tmp to v0.2.3 (#1876)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency express to v4.17.2 (#1877)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency @types/node to v16.11.17 (#1875)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency tsd to v0.19.1 (#1879)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency prettier to v2.5.1 (#1878)

Co-authored-by: Renovate Bot <[email protected]>

* chore(deps): update dependency typescript to v4.5.4 (#1880)

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: David Goss <[email protected]>

* fix(deps): update dependency @cucumber/ci-environment to v8.0.1 (#1881)

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: David Goss <[email protected]>

* chore(deps): update unit test packages (#1882)

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: David Goss <[email protected]>

* chore(deps): update eslint packages (major) (#1840)

* chore(deps): update eslint packages

* Update eslint configuration

- remove plugins which prevent upgrading eslint
- update the configuration based on the one from cucumber-expression
- update a piece of code to make linting happy

Note: some rules have been deactivated to make the update of eslint
possible without breaking our build. Those rules may be deactivated
later as part of dedicated pull requests.

* Activate eslint-plugin-simple-import-sort

* Add simple-import-sort to dependency-lint ignore list

* Revert "Add simple-import-sort to dependency-lint ignore list"

This reverts commit 1bd2f32.

* Revert "Activate eslint-plugin-simple-import-sort"

This reverts commit a0075e7.

* Remove eslint-plugin-simple-import-sort

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>

* chore: remove defunct npm script

* fix: update [email protected] [email protected]  (#1886)

* Update package.json

A Security Vuln was identified in the Colors package for >1.4.0, offending packages being `1.4.1`, `1.4.44-liberty`
- [source1](https://twitter.com/snyksec/status/1480286811482206216?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet)
- [source2](https://twitter.com/snyksec/status/1480286811482206216?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet)
- [source3](https://security.snyk.io/vuln/SNYK-JS-COLORS-2331906)

This PR pins the color package to `1.4.0` as advised on the [snyk page](https://snyk.io/blog/open-source-maintainer-pulls-the-plug-on-npm-packages-colors-and-faker-now-what/)

* chore: update changelog

* fix: update and pin [email protected]

* chore: update CHANGELOG

* chore: update lockfile with new pinned versions

* Release 8.0.0-rc.2

* Add a retro

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Extract prettier config from eslintrc (#1893)

This is a more conventional place to store prettier config, and it means
that VSCode's prettier plugin can automatically find it.

* chore: bump dependency with vulnerability

* build: only build on main and for PRs

* chore: switch from colors to chalk (#1895)

* swap out dependencies

* reimpl

* add changelog entry

* remove unused import

* Replace some uses of `any` type (#1892)

* Replace use of `any` type with `messages.Envelope`

Part of #1648

Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>

* Replace use of `any` with a custom World in CCK example

Part of #1648

Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Replace another use of `any` with a custom type

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Replace another use of `any` type

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>

* docs: improve profiles documentation (#1897)

* Update profiles.md

* Update docs/profiles.md

Co-authored-by: Aurélien Reeves <[email protected]>

Co-authored-by: Aurélien Reeves <[email protected]>

* Add new-contributors retro

Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Kate Dames <[email protected]>

* Consolidate retro files

* Removing usage of lodash

Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>
Co-authored-by: davidgoss <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: David Goss <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: jshifflet <[email protected]>
Co-authored-by: Charles Rudolph <[email protected]>
Co-authored-by: Nico Jansen <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Ludek <[email protected]>
Co-authored-by: Ludek Novy <[email protected]>
Co-authored-by: Cucumber Ensemble <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: 16sheep <[email protected]>
Co-authored-by: Dmytro Shpakovskyi <[email protected]>
Co-authored-by: abelalmeida <[email protected]>
Co-authored-by: deepziem <[email protected]>
Co-authored-by: Joaquín Sorianello <[email protected]>
Co-authored-by: Jan Molak <[email protected]>
Co-authored-by: David Goss <[email protected]>
Co-authored-by: Tomer Ben-Rachel <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>
Co-authored-by: Karla Aparecida Justen <[email protected]>
Co-authored-by: Manny <[email protected]>
Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Michael Morris <[email protected]>

* update feature helper

* change table structure

* reduce timeout, attempt to make more reliable on windows

* fix timing issue, larger time window to reduce flakes

* Update CHANGELOG.md

* update docs

* increase time to decrease chance of flakes

Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: aurelien-reeves <[email protected]>
Co-authored-by: davidgoss <[email protected]>
Co-authored-by: Aslak Hellesøy <[email protected]>
Co-authored-by: David Goss <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: jshifflet <[email protected]>
Co-authored-by: Charles Rudolph <[email protected]>
Co-authored-by: Nico Jansen <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: Ludek <[email protected]>
Co-authored-by: Ludek Novy <[email protected]>
Co-authored-by: Cucumber Ensemble <[email protected]>
Co-authored-by: Matt Wynne <[email protected]>
Co-authored-by: 16sheep <[email protected]>
Co-authored-by: Dmytro Shpakovskyi <[email protected]>
Co-authored-by: abelalmeida <[email protected]>
Co-authored-by: deepziem <[email protected]>
Co-authored-by: Joaquín Sorianello <[email protected]>
Co-authored-by: Jan Molak <[email protected]>
Co-authored-by: David Goss <[email protected]>
Co-authored-by: Tomer Ben-Rachel <[email protected]>
Co-authored-by: Emmanuel Ola <[email protected]>
Co-authored-by: Blaise Pabon <[email protected]>
Co-authored-by: Dane Parchment <[email protected]>
Co-authored-by: Karla Aparecida Justen <[email protected]>
Co-authored-by: Manny <[email protected]>
Co-authored-by: Kate Dames <[email protected]>
Co-authored-by: Michael Morris <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants