Skip to content

Releases: rtfeldman/node-test-runner

0.19.1-revision17

18 Nov 09:36
2666e9a

Choose a tag to compare

Fixed

When running tests, elm-test needs to merge "dependencies" and "test-dependencies" in your elm.json. To do this, elm-test uses elm-solve-deps.

Previously, this merging step could result in ignoring the "indirect" parts of dependencies in elm.json, and getting a later (but still semver compatible) version instead. For example, you might have had "elm/virtual-dom": "1.0.4" in "indirect" in elm.json, but ended up getting 1.0.5 installed in tests.

Now, elm-test prefers the version mentioned in "indirect" if possible, so that you end up getting the same code in your source code and in tests.

See issue 652 for more details.

Thanks to Juliano Solanho for reporting and fixing!

0.19.1-revision16

06 Jul 15:08
1f19768

Choose a tag to compare

Fixed

elm-test now works with an upcoming version of the Lamdera compiler. Lamdera has a cool new optimization, that unfortunately made elm-test unable to find tests. Now that is fixed! Thanks to Leonardo Taglialegne!

0.19.1-revision15

15 Feb 23:42

Choose a tag to compare

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 than glob, 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

15 Feb 09:46

Choose a tag to compare

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

14 Feb 22:12
8ef89c8

Choose a tag to compare

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 of glob 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 in node_modules/ instead of two, saving about 288 KB.

0.19.1-revision12

16 Feb 18:28
59a8666

Choose a tag to compare

Fixed

  • elm-test --report junit now works with elm-program-test. The junit 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

02 Jan 19:50
9c4ffdc

Choose a tag to compare

Fixed

  • elm-test init now prints a working link to the elm-explorations/test package. Thanks to Max Strübing!
  • If you ever saw RuntimeError: unreachable when trying to use elm-test, that should not be possible to happen anymore. elm-test now depends on the latest version of elm-solve-deps-wasm which solved that problem. (Previously, you had to make sure you had that version installed yourself).

0.19.1-revision10

11 Oct 20:46
dc3ac90

Choose a tag to compare

⚠️ Updating to this version also requires upgrading to the just released elm-explorations/test 2.0.0!

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 and elm-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 want elm-test --watch to clear away output from other commands.

0.19.1-revision9

03 Jul 19:27
026581e

Choose a tag to compare

Fixed

  • elm-test install-unstable-test-master (added in the previous version) now works with packages.

0.19.1-revision8

20 Jun 17:00
91b6f69

Choose a tag to compare

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
  • 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.