Releases: badeball/cypress-cucumber-preprocessor
v23.2.0
-
Add a flag to turn expectation errors soft. Relates to #1313 and #1222.
-
During creation of message reports, which the JSON & HTML reports are products of, some test state is tracked by this library. This requires taking into account a myriad of edge cases, mostly related to Cypress' reload behavior. There are however likely several remaining edge cases that are unaccounted for.
In case of #1222, the fail fast strategy adopted here appeared to mask an underlying issue. I suspect this might also be the case for #1313 and similar issues. Thus an option for erroring softly is introduced. With this option, instead of throwing fast in Cypress' event handlers, the preprocessor will emit an error message to stderr at the end of a run.
My hope is that this will make it easier for the end-user to provide proper reproducible examples when running into these errors. Additionally, it can be useful for users whom which reports aren't strictly a necessity but do encounter such errors.
This option can be configured similar to other options, with examples shown below.
// package.json { "dependencies": { "@badeball/cypress-cucumber-preprocessor": "latest" }, "cypress-cucumber-preprocessor": { "state": { "softErrors": true } } }
// .cypress-cucumber-preprocessorrc.json { "state": { "softErrors": true } }
$ cypress run -e stateSoftErrors=true
$ env CYPRESS_stateSoftErrors=true cypress run
-
v23.1.0
-
Bumb engine requirement to Node v20.
- This was accidentally left out during release of v23.0.0, where dropped support for v18 was announced. Due to the announcement, I don't consider this to be another breaking change.
-
Expand type signature of scenario and step hooks, to allow tags to be defined using pure string arguments. This is in line with how cucumber-js behaves.
-
Add support for attachments with filenames. This is in line with how cucumber-js behaves.
-
Implement
log
, as seen in cucumber-js. -
Implement
link
, as seen in cucumber-js. -
Minor changes to the messages report, to ensure compatibility with
cucumber-js
.
v23.0.0
v22.2.0
v22.1.0
-
Gracefully handle sourcemaps when running component tests with webpack and chunks enabled (default behavior), fixes #1296.
-
Avoid setting
sourcesContent: false
to esbuild when using theprettySourceMap
option, relates to #1285.-
This means that the default bundle when using
prettySourceMap
is larger and may affect performance. However, the in-app experience is likely more aligned with user expectation. Users can disable this behavior by explicitly configuringsourcesContent: false
themselves, as shown below.on( "file:preprocessor", createBundler({ sourcesContent: false, plugins: [createEsbuildPlugin(config, { prettySourceMap: true })], }) );
-