Cucumber-js: 7.2.0 рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╕реЗ рдмрд╛рд╣рд░реА рд░рд┐рдкреЛрд░реНрдЯрд░ рдЯреВрдЯрддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдЕрдкреНрд░реИрд▓ 2021  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: cucumber/cucumber-js

рдЕрд░реЗ @davidjgoss рдФрд░ @charlierudolph!

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 7.2.0 (#1589) рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП ESM рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рдХрдИ рдмрд╛рд╣рд░реА рд░рд┐рдкреЛрд░реНрдЯрд░ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рдЙрдк-рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЙрдк-рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╛ рддреЛ рдХреЙрд▓ рдХрд░рдирд╛:

const TestCaseHookDefinition = require('@cucumber/cucumber/lib/models/test_case_hook_definition')

рдпрд╛:

import TestCaseHookDefinition from '@cucumber/cucumber/lib/models/test_case_hook_definition';

рдХрд╛ рдкрд░рд┐рдгрд╛рдо:

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/models/test_case_hook_definition' 
 is not defined by "exports" in /path/to/project/node_modules/@cucumber/cucumber/package.json

рдЬрд┐рди рдкреНрд░рднрд╛рд╡рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ (рдФрд░ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ):

  • Serenity/JS - @serenity-js/cucumber рдореЙрдбреНрдпреВрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдк-рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рддреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:

    • @cucumber/cucumber/package.js (рд╕рдВрд╕реНрдХрд░рдг рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП)

    • @cucumber/cucumber/lib/models/test_case_hook_definition - TestCaseHookDefinition рдХреЛ рддреБрд░рдВрдд рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

  • @jbpros cucumber-pretty-formatter - jbpros/cucumber-pretty-formatter#2 рджреЗрдЦреЗрдВ, рдЬреЛ рд▓реЛрдбрд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:

    • @cucumber/cucumber/lib/formatter - IFormatterOptions

    • @cucumber/cucumber/lib/formatter/helpers - formatLocation

    • @cucumber/cucumber/lib/formatter/helpers/gherkin_document_parser - getGherkinExampleRuleMap , getGherkinScenarioMap , getGherkinStepMap

    • @cucumber/cucumber/lib/formatter/helpers/pickle_parser - getPickleStepMap

  • @ рдИрд╕рд╛рдИ-рдмреНрд░реЛрдорди - @wdio/cucumber-framework , рдЬреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ:

    • @cucumber/cucumber/lib/support_code_library_builder/types - ITestCaseHookParameter

    • @cucumber/cucumber/lib/formatter/helpers/event_data_collector - EventDataCollector

    • @cucumber/cucumber/lib/support_code_library_builder/types - ITestCaseHookParameter

    • @cucumber/cucumber/lib/runtime - IRuntimeOptions

рдХреНрдпрд╛ Cucumber.js рдХреЗ рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдЧреЛрдВ, рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП reporters рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рддрд╣рдд (рдпрд╛ рдРрд╕рд╛ рд╣реА рдХреБрдЫ рддрд╛рдХрд┐ рд╡реЗ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рди рдЖрдПрдВ):

import { reporters } from '@cucumber/cucumber';

reporters.TestCaseHookDefinition

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдХреНрдпрд╛ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,
рдЬрдирд╡рд░реА

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдареАрдХ рд╣реИ, 7.2.1 рдПрдХ рд╡рд╛рдкрд╕реА рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рд╣реИ, рдореИрдВ рдИрдПрд╕рдПрдо рдЪреАрдЬ рдореЗрдВ рд╡рд╛рдкрд╕ рдЦреБрджрд╛рдИ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред @jan-molak . рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ рдЬрд╛рди-рдореЛрд▓рдХ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 7.2.0 (#1589) рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП ESM рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рдХрдИ рдмрд╛рд╣рд░реА рд░рд┐рдкреЛрд░реНрдЯрд░ рдЯреВрдЯ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм рд╕рдм-рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред

рдмрд╕ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ --esm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЖрдЬ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЗрдЦрд╛ рдерд╛, рдореИрдВ рдореБрдЦреНрдп рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдкрд░ рд╣рдо рдЬреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдЪрд┐рдд рд▓рдЧрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдкреАрдЖрдИ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдирдИ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдмрд╛рдж рдореЗрдВ рдкреВрд░реНрд╡рд╡рдд рдХрд░рдирд╛ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред

рд╣рд╛рдп @davidjgoss!

рдмрд╕ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ --esm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣реЛрддрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдирд╣реАрдВ, рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдХреЛрдИ рдмрд╛рд╣рд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ @cucumber/cucumber рд╕реЗ рдХрд┐рд╕реА рдЙрдк-рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╣рд╛рдБ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИ - https://github.com/jan-molak/cucumber-js-1646

git clone https://github.com/jan-molak/cucumber-js-1646.git
cd cucumber-js-1646
npm install
npm start

рддреНрд░реБрдЯрд┐ рджреЗрдЦреЗрдВ:

> [email protected] start /path/to/jan-molak/cucumber-js-1646
> node index.js

internal/modules/cjs/loader.js:438
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/models/test_case_hook_definition' is not defined by "exports" in /path/to/jan-molak/cucumber-js-1646/node_modules/@cucumber/cucumber/package.json
    at throwExportsNotFound (internal/modules/esm/resolve.js:290:9)
    at packageExportsResolve (internal/modules/esm/resolve.js:513:3)
    at resolveExports (internal/modules/cjs/loader.js:432:36)
    at Function.Module._findPath (internal/modules/cjs/loader.js:472:31)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:867:27)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/path/to/jan-molak/cucumber-js-1646/index.js:1:32)

рдареАрдХ рд╣реИ, 7.2.1 рдПрдХ рд╡рд╛рдкрд╕реА рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рд╣реИ, рдореИрдВ рдИрдПрд╕рдПрдо рдЪреАрдЬ рдореЗрдВ рд╡рд╛рдкрд╕ рдЦреБрджрд╛рдИ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред @jan-molak . рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

рдЗрддрдиреА рдЬрд▓реНрджреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @davidjgoss!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

igniteram picture igniteram  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

pellekrogholt picture pellekrogholt  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lamartire picture lamartire  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dblooman picture dblooman  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jechazelle picture jechazelle  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ