Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
runtime: Enable customization of parallel workers (#1588)
* [#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 <aurelien.reeves@smartbear.com> Co-authored-by: davidgoss <david@davidgoss.co> * 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 <1000+aslakhellesoy@users.noreply.github.com> * 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 <bot@renovateapp.com> * chore(deps): update dependency @types/lodash to v4.14.170 (#1678) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <aurelien.reeves@smartbear.com> * clarify changelog entry audience * cleanup Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> * chore(deps): update dependency @types/node to v14.17.1 (#1680) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/express to v4.17.12 (#1677) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/semver to v7.3.6 (#1679) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update unit test packages (#1684) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency typescript to v4.3.2 (#1682) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency sinon to v11 (#1686) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <aurelien.reeves@smartbear.com> * 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 <aurelien.reeves@smartbear.com> Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> * Empty rerun file exits running no scenarios (#1302) (#1568) Co-authored-by: Aslak Hellesøy <1000+aslakhellesoy@users.noreply.github.com> Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> Co-authored-by: David Goss <david@davidgoss.co> * chore(deps): update eslint packages (#1683) * chore(deps): update eslint packages * autofix prettier Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: Charles Rudolph <charles.w.rudolph@gmail.com> * 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 <david@davidgoss.co> * update supported node versions (#1704) * update supported node versions * fix changelog * update package json Co-authored-by: David Goss <david@davidgoss.co> * chore(deps): update dependency ts-node to v10 (#1687) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency fs-extra to v10 (#1685) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <bot@renovateapp.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * 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 <david@davidgoss.co> Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> * fix(deps): update dependency commander to v8 (#1720) * fix(deps): update dependency commander to v8 * Fix commander upgrade issue Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * chore(deps): update dependency @types/node to v14.17.4 (#1715) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency typescript to v4.3.5 (#1716) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency mocha to v9 (#1719) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/chai to v4.2.19 (#1714) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1718) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update cucumber packages (#1717) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <ludeknovy@fastmail.com> * bringing back v6/5 props (#1732) * bringing back v6/5 props * changelog update * Update CHANGELOG.md Co-authored-by: David Goss <david@davidgoss.co> Co-authored-by: Ludek Novy <ludeknovy@fastmail.com> Co-authored-by: David Goss <david@davidgoss.co> * remove support for generators (#1725) * Explain how to use yarn to list commands (#1730) Co-authored-by: Matt Wynne <matt@mattwynne.net> * 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 <bot@renovateapp.com> * chore(deps): pin dependency reindent-template-literals to 1.1.0 (#1743) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/glob to v7.1.4 (#1746) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/mustache to v4.1.2 (#1747) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/fs-extra to v9.0.12 (#1745) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/node to v14.17.6 (#1749) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/mz to v2.7.4 (#1748) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/progress to v2.0.4 (#1750) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/resolve to v1.20.1 (#1751) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/node to v14.17.7 (#1757) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/semver to v7.3.8 (#1752) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/stream-buffers to v3.0.4 (#1753) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/tmp to v0.2.1 (#1754) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1756) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/verror to v1.10.5 (#1755) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update unit test packages (#1758) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency ts-node to v10.1.0 (#1760) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/mocha to v9 (#1761) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <matt@cucumber.io> * Changed the contributing guide use to npm Co-authored-by: Matt Wynne <matt@cucumber.io> * 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 <matt@cucumber.io> Co-authored-by: David Goss <david@davidgoss.co> * Use typescript incremental build to speed up compilation (#1766) Co-authored-by: David Goss <david@davidgoss.co> * chore(deps): update dependency @types/node to v14.17.12 (#1778) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/progress to v2.0.5 (#1779) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency mocha to v9.1.1 (#1780) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency ts-node to v10.2.1 (#1781) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency typescript to v4.4.2 (#1782) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/node to v14.17.14 (#1785) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1787) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1786) * chore(deps): update eslint packages * Fix linting errors Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * 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 <54252717+deepziem@users.noreply.github.com> * 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 <aurelien.reeves@smartbear.com> Co-authored-by: Aslak Hellesøy <1000+aslakhellesoy@users.noreply.github.com> * 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 <aurelien.reeves@smartbear.com> * Update features/esm.feature Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> * 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 <aurelien.reeves@smartbear.com> * docs: add rule to keywords for i18n command (#1800) * add rule to keywords for i18n command * Fix i18n example Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * 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 <bot@renovateapp.com> * chore(deps): update dependency @types/node to v14.17.20 (#1804) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency typescript to v4.4.3 (#1805) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @sinonjs/fake-timers to v8 (#1810) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1809) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency coffeescript to v2.6.0 (#1808) Co-authored-by: Renovate Bot <bot@renovateapp.com> * fix(deps): update cucumber packages (#1807) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update unit test packages (#1806) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <bot@renovateapp.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * 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 <bot@renovateapp.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * 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 <1000+aslakhellesoy@users.noreply.github.com> * 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 <bot@renovateapp.com> * chore(deps): pin dependencies (#1828) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): pin dependency mocha to 9.1.3 (#1829) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/node to v14.17.32 (#1830) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/semver to v7.3.9 (#1831) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/tmp to v0.2.2 (#1832) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency coffeescript to v2.6.1 (#1833) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @cucumber/compatibility-kit to v9.1.2 (#1834) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency ts-node to v10.4.0 (#1836) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/glob to v7.2.0 (#1835) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency tsd to v0.18.0 (#1837) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1838) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <blaise@gmail.com> Co-authored-by: Matt Wynne <matt@mattwynne.net> * update cspotcode/source-map-support * remove .DS_Store * updates unit test to support paths on windows Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> * Removes assertion for a failing test that's no longer needed Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> * Removes exception for the custom stack trace feature Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> * Updates changelog Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> * fixed linting for previous commit Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Matt Wynne <matt@mattwynne.net> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> * chore(deps): update dependency @types/node to v16.11.11 (#1854) Co-authored-by: Renovate Bot <bot@renovateapp.com> * fix(deps): update dependency @cucumber/create-meta to v6.0.4 (#1856) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update eslint packages (#1855) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency tsd to v0.19.0 (#1857) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency eslint-plugin-promise to v5.2.0 (#1861) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update unit test packages (#1860) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update unit test packages (#1859) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency typescript to v4.5.2 (#1858) Co-authored-by: Renovate Bot <bot@renovateapp.com> * 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 <aurelien.reeves@smartbear.com> * 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 <aurelien.reeves@smartbear.com> * 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 <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> * 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 <matt@cucumber.io> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> Co-authored-by: Aslak Hellesøy <1000+aslakhellesoy@users.noreply.github.com> * 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 <blaise@gmail.com> Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Dane Parchment Jr <dparchmentjr@gmail.com> * Fix linting issues Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Dane Parchment Jr <dparchmentjr@gmail.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * 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 <bot@renovateapp.com> * chore(deps): update dependency @types/tmp to v0.2.3 (#1876) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency express to v4.17.2 (#1877) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency @types/node to v16.11.17 (#1875) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency tsd to v0.19.1 (#1879) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency prettier to v2.5.1 (#1878) Co-authored-by: Renovate Bot <bot@renovateapp.com> * chore(deps): update dependency typescript to v4.5.4 (#1880) Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: David Goss <david@davidgoss.co> * fix(deps): update dependency @cucumber/ci-environment to v8.0.1 (#1881) Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: David Goss <david@davidgoss.co> * chore(deps): update unit test packages (#1882) Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: David Goss <david@davidgoss.co> * 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 <bot@renovateapp.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> * chore: remove defunct npm script * fix: update colors@1.4.0 cli-table2@0.6.1 (#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 cli-table3@0.6.1 * chore: update CHANGELOG * chore: update lockfile with new pinned versions * Release 8.0.0-rc.2 * Add a retro Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Kate Dames <kate.funficient@gmail.com> * 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 <kate.funficient@gmail.com> Co-authored-by: Emmanuel Ola <54866720+eoola@users.noreply.github.com> * Replace use of `any` with a custom World in CCK example Part of #1648 Co-authored-by: Emmanuel Ola <54866720+eoola@users.noreply.github.com> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Kate Dames <kate.funficient@gmail.com> * Replace another use of `any` with a custom type Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Kate Dames <kate.funficient@gmail.com> * Replace another use of `any` type Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Kate Dames <kate.funficient@gmail.com> Co-authored-by: Kate Dames <kate.funficient@gmail.com> Co-authored-by: Emmanuel Ola <54866720+eoola@users.noreply.github.com> Co-authored-by: Blaise Pabon <blaise@gmail.com> * docs: improve profiles documentation (#1897) * Update profiles.md * Update docs/profiles.md Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> Co-authored-by: Aurélien Reeves <aurelien.reeves@smartbear.com> * Add new-contributors retro Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Kate Dames <kate.funficient@gmail.com> * Consolidate retro files * Removing usage of lodash Co-authored-by: Aslak Hellesøy <1000+aslakhellesoy@users.noreply.github.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> Co-authored-by: davidgoss <david@davidgoss.co> Co-authored-by: Aslak Hellesøy <aslak.hellesoy@gmail.com> Co-authored-by: David Goss <dgoss@whiteclarkegroup.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: jshifflet <jason.shifflet@gmail.com> Co-authored-by: Charles Rudolph <charles.w.rudolph@gmail.com> Co-authored-by: Nico Jansen <jansennico@gmail.com> Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Ludek <13610612+ludeknovy@users.noreply.github.com> Co-authored-by: Ludek Novy <ludeknovy@fastmail.com> Co-authored-by: Cucumber Ensemble <87445349+cucumber-ensemble@users.noreply.github.com> Co-authored-by: Matt Wynne <matt@mattwynne.net> Co-authored-by: 16sheep <marjutubli@gmail.com> Co-authored-by: Dmytro Shpakovskyi <Marketionist@users.noreply.github.com> Co-authored-by: abelalmeida <abelalmeida@u.boisestate.edu> Co-authored-by: deepziem <54252717+deepziem@users.noreply.github.com> Co-authored-by: Joaquín Sorianello <joac@users.noreply.github.com> Co-authored-by: Jan Molak <1089173+jan-molak@users.noreply.github.com> Co-authored-by: David Goss <david.goss@matillion.com> Co-authored-by: Tomer Ben-Rachel <tomerpacific@gmail.com> Co-authored-by: Emmanuel Ola <54866720+eoola@users.noreply.github.com> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> Co-authored-by: Karla Aparecida Justen <justen.karla@gmail.com> Co-authored-by: Manny <mannyis@typingona.computer> Co-authored-by: Kate Dames <kate.funficient@gmail.com> Co-authored-by: Michael Morris <35374244+michaelm-rsi@users.noreply.github.com> * 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 <1000+aslakhellesoy@users.noreply.github.com> Co-authored-by: aurelien-reeves <aurelien.reeves@smartbear.com> Co-authored-by: davidgoss <david@davidgoss.co> Co-authored-by: Aslak Hellesøy <aslak.hellesoy@gmail.com> Co-authored-by: David Goss <dgoss@whiteclarkegroup.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: jshifflet <jason.shifflet@gmail.com> Co-authored-by: Charles Rudolph <charles.w.rudolph@gmail.com> Co-authored-by: Nico Jansen <jansennico@gmail.com> Co-authored-by: Matt Wynne <matt@cucumber.io> Co-authored-by: Ludek <13610612+ludeknovy@users.noreply.github.com> Co-authored-by: Ludek Novy <ludeknovy@fastmail.com> Co-authored-by: Cucumber Ensemble <87445349+cucumber-ensemble@users.noreply.github.com> Co-authored-by: Matt Wynne <matt@mattwynne.net> Co-authored-by: 16sheep <marjutubli@gmail.com> Co-authored-by: Dmytro Shpakovskyi <Marketionist@users.noreply.github.com> Co-authored-by: abelalmeida <abelalmeida@u.boisestate.edu> Co-authored-by: deepziem <54252717+deepziem@users.noreply.github.com> Co-authored-by: Joaquín Sorianello <joac@users.noreply.github.com> Co-authored-by: Jan Molak <1089173+jan-molak@users.noreply.github.com> Co-authored-by: David Goss <david.goss@matillion.com> Co-authored-by: Tomer Ben-Rachel <tomerpacific@gmail.com> Co-authored-by: Emmanuel Ola <54866720+eoola@users.noreply.github.com> Co-authored-by: Blaise Pabon <blaise@gmail.com> Co-authored-by: Dane Parchment <dparchmentjr@gmail.com> Co-authored-by: Karla Aparecida Justen <justen.karla@gmail.com> Co-authored-by: Manny <mannyis@typingona.computer> Co-authored-by: Kate Dames <kate.funficient@gmail.com> Co-authored-by: Michael Morris <35374244+michaelm-rsi@users.noreply.github.com>
- Loading branch information