Releases: rtfeldman/node-test-runner
0.19.1-revision15
Fixed
This version replaces the glob
dependency with tinyglobby
, which is used by elm-review, and many other popular projects. This has a couple of benefits:
- Restores the Node.js 12 support lost in 0.19.1-revision13.
- Fixes globs that resolve to directories on Windows. Regression since 0.19.1-revision13, due to the
glob
upgrade. The test suite was previously missing coverage for this. tinyglobby
is much smaller thanglob
, reducing the installation size and number of indirect dependencies.
Thanks to Jeroen Engels for making the pull request fixing this, and to @lishaduck for introducing tinyglobby
to elm-review and suggesting elm-test should use it too!
0.19.1-revision14
Fixed
0.19.1-revision13 unfortunately did not work out of the box in Node.js 12–18 due to a bug in npm versions older than v10. This version is a quick-fix that restores support for Node.js 14–18, while still not causing deprecation warnings. Thanks to @lishaduck for reporting!
Unfortunately, Node.js 12 is still broken. You need to stay on 0.19.1-revision12 if you use Node.js 12.
(For those interested, the fix was changing the glob
version range to ^8.0.3
to ^8.0.3 || ^9.0.0 || ^10.0.0
. ^11.0.0
was removed from it due to the linked npm bug.)
0.19.1-revision13
Fixed
- elm-test no longer fails with an error about duplicate source directories if your
elm.json
contains"source-directories": ["tests"]
. - The
glob
dependency version has been updated from^8.0.3
to^8.0.3 || ^9.0.0 || ^10.0.0 || ^11.0.0
. This allows npm (or your package manager of choice) to install the latest version ofglob
that works with your Node.js version. Versions 8 and 9 are deprecated. If you use Node.js 16 or later, this allows you to get rid of deprecation warnings. - The
elm-solve-deps-wasm
dependency version has been updated from^1.0.2
to^1.0.2 || ^2.0.0
, which is the same version constraint that elm-review 2.13.0 uses. If you install the latest version of both elm-test and elm-review, you only get one copy of elm-solve-deps-wasm innode_modules/
instead of two, saving about 288 KB.
0.19.1-revision12
Fixed
elm-test --report junit
now works with elm-program-test. Thejunit
report is XML.elm-program-test
uses some characters that are not allowed in XML. This version replaces such disallowed characters with an Elm-style escape sequence, instead of crashing like it did before. Thanks to Christoph Hermann for reporting and to Ilias Van Peer for fixing!
0.19.1-revision11
Fixed
elm-test init
now prints a working link to theelm-explorations/test
package. Thanks to Max Strübing!- If you ever saw
RuntimeError: unreachable
when trying to useelm-test
, that should not be possible to happen anymore. elm-test now depends on the latest version ofelm-solve-deps-wasm
which solved that problem. (Previously, you had to make sure you had that version installed yourself).
0.19.1-revision10
Breaking
-
This version of
elm-test
only works with elm-explorations/test 2.x (2.0.0 <= v < 3.0.0), which was just released. The versions table should make it clear which versions work together. -
Removed
elm-test install-unstable-test-master
andelm-test uninstall-unstable-test-master
. They are no longer needed since elm-explorations/test 2.0.0 has been released.
Added
-
Fuzzer distribution statistics report. Fuzzer distribution is new in elm-explorations/test 2.0.0, and it required a change in how things are reported from Elm to the test runner, which is why elm-test 0.19.1-revision10 is not compatible with older elm-explorations/test versions.
-
The
--no-clear-console
flag. By default,elm-test --watch
clears the screen on every re-run, so you only see up-to-date output. With--no-clear-console
, the console is not cleared and a separator is instead printed between the old and new output instead (similar to how elm-test-rs works). This is useful if you are running several commands in the same terminal and don’t wantelm-test --watch
to clear away output from other commands.
0.19.1-revision9
Fixed
elm-test install-unstable-test-master
(added in the previous version) now works with packages.
0.19.1-revision8
Breaking
- Removed support for Node.js 10 (which reached end of life 2021-04-30). Node.js 12.20.0 is now the minimum supported Node.js version. (Node.js 12 actually reached end of life 2022-04-30, but we decided to keep support for it for a while longer since there was no need of dropping it right now.)
Added
elm-test install-unstable-test-master
- which installs the
master
version of the elm-explorations/test library in place of the1.2.2
version in yourELM_HOME
- which installs the
elm-test uninstall-unstable-test-master
- which undoes that
This let’s you test the upcoming major version of elm-explorations/test. Big thanks to Martin Janiczek!
Changed
-
elm-test no longer uses elm-json to calculate the set of dependencies needed to run your tests. Instead, we use elm-solve-deps-wasm which basically is a WebAssembly port of the dependency solver in elm-test-rs. Big thanks to Matthieu Pizenberg! Benefits of this change:
- elm-test no longer needs to download the elm-json binary at install time or run time. elm-solve-deps-wasm is a regular, cross platform npm package.
- Improves compatibility with Lamdera.
- elm-solve-deps-wasm works offline to a greater extent than elm-json. Many times it doesn’t need to make any calls to package.elm-lang.org at all!
-
elm-test now shows suggestions on misspelled CLI flags.
0.19.1-revision7
Fixed
- elm-test now works if you have
{ "type": "module" }
in your package.json. --output=/dev/null
is now ignored. This is needed by Emacs’ flycheck-elm package, which calls bothelm make
andelm-test make
with--output=/dev/null
.elm-test make
does not produce any output files, so the flag doesn’t change anything. (Before 0.19.1-revision5, all unknown flags were silently ignored.)- The “no tests found” error message now works with
--report=json
and--report=junit
again (regression in 0.19.1-revision5). - Better error message for
--fuzz=0
.
0.18.13
This is 0.18.13-beta4 with one change: it downloads elm-interface-to-json from the below release assets rather than from Bintray which was sunset 2021-05-01.
This allows people who still are on Elm 0.18 to run their tests (use npm install [email protected]
to install Elm 0.18 itself – requires Node.js 10).