рдЕрд░реЗ @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/cucumber
рдореЙрдбреНрдпреВрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдк-рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рддреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:@cucumber/cucumber/package.js
(рд╕рдВрд╕реНрдХрд░рдг рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП)@cucumber/cucumber/lib/models/test_case_hook_definition
- TestCaseHookDefinition
рдХреЛ рддреБрд░рдВрдд рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП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.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!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдареАрдХ рд╣реИ, 7.2.1 рдПрдХ рд╡рд╛рдкрд╕реА рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рд╣реИ, рдореИрдВ рдИрдПрд╕рдПрдо рдЪреАрдЬ рдореЗрдВ рд╡рд╛рдкрд╕ рдЦреБрджрд╛рдИ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред @jan-molak . рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж