diff --git a/CHANGELOG.md b/CHANGELOG.md index e8f01438..7004faf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Changed +- Use latest React components from new package `@cucumber/react-components` ### Fixed - JavaScript assets were not included in the Java package ([#65](https://github.com/cucumber/html-formatter/issues/65)) diff --git a/README.md b/README.md index 50b8b286..578f0dc2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ This is a cross-platform formatter that produces a pretty HTML report for Cucumber runs. -It is built on top of [@cucumber/react](https://github.com/cucumber/cucumber-react) and works with *any* +It is built on top of [@cucumber/react-components](https://github.com/cucumber/react-components) and works with *any* Cucumber implementation with a `message` formatter that outputs [cucumber messages](https://github.com/cucumber/common/tree/main/messages). This formatter is built into the following Cucumber implementations: diff --git a/java/README.md b/java/README.md index 5340ff88..7d79cbeb 100644 --- a/java/README.md +++ b/java/README.md @@ -1,6 +1,10 @@ [![Maven Central](https://img.shields.io/maven-central/v/io.cucumber/html-formatter.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.cucumber%22%20AND%20a:%22html-formatter%22) +⚠️ This is an internal package; you don't need to install it in order to use the html formatter in `cucumber-jvm` as it's built in there. + # Cucumber HTML Formatter for Java +> Takes a stream of Cucumber messages and outputs a standalone HTML report using Cucumber's React components + [![Maven Central](https://img.shields.io/maven-central/v/io.cucumber/html-formatter.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.cucumber%22%20AND%20a:%22html-formatter%22) diff --git a/javascript/README.md b/javascript/README.md new file mode 100644 index 00000000..ee0d7737 --- /dev/null +++ b/javascript/README.md @@ -0,0 +1,5 @@ +⚠️ This is an internal package; you don't need to install it in order to use the html formatter in `@cucumber/cucumber` as it's built in there. + +# html-formatter + +> Takes a stream of Cucumber messages and outputs a standalone HTML report using Cucumber's React components diff --git a/javascript/package-lock.json b/javascript/package-lock.json index 8196cca1..b3653a43 100644 --- a/javascript/package-lock.json +++ b/javascript/package-lock.json @@ -17,7 +17,7 @@ "@cucumber/message-streams": "^4.0.1", "@cucumber/messages": "^18.0.0", "@cucumber/query": "^11.0.0", - "@cucumber/react": "^19.2.0", + "@cucumber/react-components": "^20.0.2", "@types/glob": "^7.2.0", "@types/mocha": "9.1.0", "@types/node": "17.0.23", @@ -508,23 +508,23 @@ "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==", "dev": true }, - "node_modules/@cucumber/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@cucumber/react/-/react-19.2.0.tgz", - "integrity": "sha512-NcDbPhfrzl547V+C5STeInu0d3q25Ayv77P+6kDudOyt9NPPvnMd6+BV/QwjyhEuvo+Z3n0UdLm+9RGuNpiCKQ==", + "node_modules/@cucumber/react-components": { + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/react-components/-/react-components-20.0.2.tgz", + "integrity": "sha512-q5mIpQb7gyWZz91EaITvipbIqSapuXTQq2RfanKAojFrn5W9UE7FbumY3Gv/fSiAQ0ZBdHkLCx0wmZ1PkH/eZg==", "dev": true, "dependencies": { "@cucumber/gherkin-utils": "^7.0.0", - "@cucumber/messages": "^17.1.1", + "@cucumber/messages": "^18.0.0", "@cucumber/query": "^11.0.0", "@cucumber/tag-expressions": "^4.1.0", - "@fortawesome/fontawesome-svg-core": "6.1.0", - "@fortawesome/free-solid-svg-icons": "6.1.0", - "@fortawesome/react-fontawesome": "0.1.18", + "@fortawesome/fontawesome-svg-core": "1.2.36", + "@fortawesome/free-solid-svg-icons": "5.15.4", + "@fortawesome/react-fontawesome": "0.1.16", "@teppeis/multimaps": "2.0.0", "@types/elasticlunr": "0.9.4", "ansi-to-html": "0.7.2", - "color": "4.2.1", + "color": "4.2.3", "date-fns": "2.28.0", "elasticlunr": "0.9.5", "hast-util-sanitize": "3.0.2", @@ -540,30 +540,6 @@ "react-dom": "~17" } }, - "node_modules/@cucumber/react/node_modules/@cucumber/messages": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-17.1.1.tgz", - "integrity": "sha512-KQMn2Ag+1g1CXp/zKQ7LLqmuHjuQwuXw0N2u5SrDk8r72zPt36SxmDSJK7w6HiFTI+3p5ZuzwLi4S5jop3Tx4g==", - "dev": true, - "dependencies": { - "@types/uuid": "8.3.1", - "class-transformer": "0.4.0", - "reflect-metadata": "0.1.13", - "uuid": "8.3.2" - } - }, - "node_modules/@cucumber/react/node_modules/@types/uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==", - "dev": true - }, - "node_modules/@cucumber/react/node_modules/class-transformer": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz", - "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==", - "dev": true - }, "node_modules/@cucumber/tag-expressions": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-4.1.0.tgz", @@ -615,9 +591,9 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.0.tgz", - "integrity": "sha512-lFIJ5opxOKG9q88xOsuJJAdRZ+2WRldsZwUR/7MJoOMUMhF/LkHUjwWACIEPTa5Wo6uTDHvGRIX+XutdN7zYxA==", + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", "dev": true, "hasInstallScript": true, "engines": { @@ -625,41 +601,41 @@ } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.0.tgz", - "integrity": "sha512-racj+/EDnMZN0jcuHePOa+9kdHHOCpCAbBvVRnEi4G4DA5SWQiT/uXJ8WcfVEbLN51vPJjhukP4o+zH0cfYplg==", + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", "dev": true, "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.1.0" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.0.tgz", - "integrity": "sha512-OOr0jRHl5d41RzBS3sZh5Z3HmdPjMr43PxxKlYeLtQxFSixPf4sJFVM12/rTepB2m0rVShI0vtjHQmzOTlBaXg==", + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", "dev": true, "hasInstallScript": true, "dependencies": { - "@fortawesome/fontawesome-common-types": "6.1.0" + "@fortawesome/fontawesome-common-types": "^0.2.36" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/react-fontawesome": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.18.tgz", - "integrity": "sha512-RwLIB4TZw0M9gvy5u+TusAA0afbwM4JQIimNH/j3ygd6aIvYPQLqXMhC9ErY26J23rDPyDZldIfPq/HpTTJ/tQ==", + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.16.tgz", + "integrity": "sha512-aLmzDwC9rEOAJv2UJdMns89VZR5Ry4IHu5dQQh24Z/lWKEm44lfQr1UNalZlkUaQN8d155tNh+CS7ntntj1VMA==", "dev": true, "dependencies": { - "prop-types": "^15.8.1" + "prop-types": "^15.7.2" }, "peerDependencies": { - "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "@fortawesome/fontawesome-svg-core": "~1 || >=1.3.0-beta1", "react": ">=16.x" } }, @@ -1957,9 +1933,9 @@ } }, "node_modules/color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz", - "integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, "dependencies": { "color-convert": "^2.0.1", @@ -7989,23 +7965,23 @@ } } }, - "@cucumber/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@cucumber/react/-/react-19.2.0.tgz", - "integrity": "sha512-NcDbPhfrzl547V+C5STeInu0d3q25Ayv77P+6kDudOyt9NPPvnMd6+BV/QwjyhEuvo+Z3n0UdLm+9RGuNpiCKQ==", + "@cucumber/react-components": { + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/@cucumber/react-components/-/react-components-20.0.2.tgz", + "integrity": "sha512-q5mIpQb7gyWZz91EaITvipbIqSapuXTQq2RfanKAojFrn5W9UE7FbumY3Gv/fSiAQ0ZBdHkLCx0wmZ1PkH/eZg==", "dev": true, "requires": { "@cucumber/gherkin-utils": "^7.0.0", - "@cucumber/messages": "^17.1.1", + "@cucumber/messages": "^18.0.0", "@cucumber/query": "^11.0.0", "@cucumber/tag-expressions": "^4.1.0", - "@fortawesome/fontawesome-svg-core": "6.1.0", - "@fortawesome/free-solid-svg-icons": "6.1.0", - "@fortawesome/react-fontawesome": "0.1.18", + "@fortawesome/fontawesome-svg-core": "1.2.36", + "@fortawesome/free-solid-svg-icons": "5.15.4", + "@fortawesome/react-fontawesome": "0.1.16", "@teppeis/multimaps": "2.0.0", "@types/elasticlunr": "0.9.4", "ansi-to-html": "0.7.2", - "color": "4.2.1", + "color": "4.2.3", "date-fns": "2.28.0", "elasticlunr": "0.9.5", "hast-util-sanitize": "3.0.2", @@ -8015,32 +7991,6 @@ "rehype-raw": "5.1.0", "rehype-sanitize": "4.0.0", "remark-gfm": "1.0.0" - }, - "dependencies": { - "@cucumber/messages": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-17.1.1.tgz", - "integrity": "sha512-KQMn2Ag+1g1CXp/zKQ7LLqmuHjuQwuXw0N2u5SrDk8r72zPt36SxmDSJK7w6HiFTI+3p5ZuzwLi4S5jop3Tx4g==", - "dev": true, - "requires": { - "@types/uuid": "8.3.1", - "class-transformer": "0.4.0", - "reflect-metadata": "0.1.13", - "uuid": "8.3.2" - } - }, - "@types/uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==", - "dev": true - }, - "class-transformer": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz", - "integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==", - "dev": true - } } }, "@cucumber/tag-expressions": { @@ -8084,36 +8034,36 @@ } }, "@fortawesome/fontawesome-common-types": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.0.tgz", - "integrity": "sha512-lFIJ5opxOKG9q88xOsuJJAdRZ+2WRldsZwUR/7MJoOMUMhF/LkHUjwWACIEPTa5Wo6uTDHvGRIX+XutdN7zYxA==", + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz", + "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==", "dev": true }, "@fortawesome/fontawesome-svg-core": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.0.tgz", - "integrity": "sha512-racj+/EDnMZN0jcuHePOa+9kdHHOCpCAbBvVRnEi4G4DA5SWQiT/uXJ8WcfVEbLN51vPJjhukP4o+zH0cfYplg==", + "version": "1.2.36", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz", + "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==", "dev": true, "requires": { - "@fortawesome/fontawesome-common-types": "6.1.0" + "@fortawesome/fontawesome-common-types": "^0.2.36" } }, "@fortawesome/free-solid-svg-icons": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.0.tgz", - "integrity": "sha512-OOr0jRHl5d41RzBS3sZh5Z3HmdPjMr43PxxKlYeLtQxFSixPf4sJFVM12/rTepB2m0rVShI0vtjHQmzOTlBaXg==", + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz", + "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==", "dev": true, "requires": { - "@fortawesome/fontawesome-common-types": "6.1.0" + "@fortawesome/fontawesome-common-types": "^0.2.36" } }, "@fortawesome/react-fontawesome": { - "version": "0.1.18", - "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.18.tgz", - "integrity": "sha512-RwLIB4TZw0M9gvy5u+TusAA0afbwM4JQIimNH/j3ygd6aIvYPQLqXMhC9ErY26J23rDPyDZldIfPq/HpTTJ/tQ==", + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.16.tgz", + "integrity": "sha512-aLmzDwC9rEOAJv2UJdMns89VZR5Ry4IHu5dQQh24Z/lWKEm44lfQr1UNalZlkUaQN8d155tNh+CS7ntntj1VMA==", "dev": true, "requires": { - "prop-types": "^15.8.1" + "prop-types": "^15.7.2" } }, "@humanwhocodes/config-array": { @@ -9085,9 +9035,9 @@ } }, "color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz", - "integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dev": true, "requires": { "color-convert": "^2.0.1", diff --git a/javascript/package.json b/javascript/package.json index 29ef8a3d..ea2516b3 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -34,7 +34,7 @@ "@cucumber/message-streams": "^4.0.1", "@cucumber/messages": "^18.0.0", "@cucumber/query": "^11.0.0", - "@cucumber/react": "^19.2.0", + "@cucumber/react-components": "^20.0.2", "@types/glob": "^7.2.0", "@types/mocha": "9.1.0", "@types/node": "17.0.23", diff --git a/javascript/src/main.tsx b/javascript/src/main.tsx index 8620e47c..6db90170 100644 --- a/javascript/src/main.tsx +++ b/javascript/src/main.tsx @@ -1,7 +1,7 @@ import './styles.scss' import * as messages from '@cucumber/messages' -import { components, searchFromURLParams } from '@cucumber/react' +import { components, searchFromURLParams } from '@cucumber/react-components' import React from 'react' import ReactDOM from 'react-dom' diff --git a/ruby/README.md b/ruby/README.md new file mode 100644 index 00000000..bcdad773 --- /dev/null +++ b/ruby/README.md @@ -0,0 +1,5 @@ +⚠️ This is an internal package; you don't need to install it in order to use the html formatter in `cucumber` as it's built in there. + +# html-formatter + +> Takes a stream of Cucumber messages and outputs a standalone HTML report using Cucumber's React components