Tsdx: Document Node version support / add a warning to tsdx create

Created on 16 Jan 2020  ·  6Comments  ·  Source: formium/tsdx

Current Behavior

If you're on Node 8 you get errors when trying to run tsdx create, but the reason for the failures are unclear.

nvm use 8.11.3

npx tsdx create bar

Failed to install dependencies
Error: Command failed with exit code 1: yarn add @types/jest @types/react @types/react-dom husky react react-dom tsdx tslib typescript --dev

Desired Behavior

When I run tsdx create it should tell me that my current Node version is not compatible.

Suggested Solution

Add a deprecation warning for unsupported Node versions when running tsdx create, as well as add Node versions supported in the README.md, and probably add a engines attribute to the package.json describing the same limitations.

Who does this impact? Who is this for?

All users.

Additional context

I only knew this by seeing the recent releases including this PR https://github.com/jaredpalmer/tsdx/pull/426

good first issue help wanted

All 6 comments

yup, sure thing. we can add an engines field https://stackoverflow.com/questions/29349684/how-can-i-specify-the-required-node-js-version-in-package-json and use something like check-version.js in the SO reply or something like https://www.npmjs.com/package/check-node-version

Attempting to resolve this myself ✋

Mentioned this in https://github.com/formium/tsdx/pull/507#issuecomment-683453786 :

[this is exclusively] an issue with tsdx create because it doesn't pin anything (including husky) and so it gets the most up to date versions of things, which can be breaking or have incompatible versions with TSDX core

TSDX itself does not yet require Node 10+, I've specifically batched various dependencies' upgrades to Node 10 together to go into v0.14.0, which is a breaking change

hmmm. whats the logic for still supporting node <10?

@sw-yx I think you misinterpreted me.

It should be formally dropped in a breaking change (same as all the deps that dropped it did -- it _is_ breaking), which is what v0.14.0 is. It was not officially dropped before and is actually still supported (v0.14.0 is the next release with several breaking changes, mostly dependencies).

ahh, makes perfect sense 👍🏽

Was this page helpful?
0 / 5 - 0 ratings