Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discussion] Concerning the reversal made in 2.0.4 #135

Closed
favna opened this issue Mar 17, 2019 · 7 comments
Closed

[Discussion] Concerning the reversal made in 2.0.4 #135

favna opened this issue Mar 17, 2019 · 7 comments

Comments

@favna
Copy link

favna commented Mar 17, 2019

I see in the changelog that you reverted a dependency upgrade for the fact that the upgraded version does not support NodeJS v4. However v4 is by now a very old version of NodeJS with v10 being LTS and that after V8 was LTS already for a very long time.

Should NodeJS v4 really still be supported in the library, especially if that means making compromises elsewhere?

In my opinion it is perfectly acceptable to go to 3.0.0 of this lib and drop Node v4 support. I'm saying 3.0.0 as I assume you would like to adhere by semver spec since you went from 2.0.3 to 2.0.4 for fixing a breaking bug, however bumping major version and introducing breaking API changes is perfectly acceptable.

@favna
Copy link
Author

favna commented Mar 17, 2019

It should also be noted that @types/leven is deprecated as for leven v3. As we speak (for lack of a better word) I am preparing a PR to DefinitelyTyped to deprecated their types in favor of the in-lib ones.


The 2 commits that should be analyzed for this discussion are:

@foray1010
Copy link
Owner

foray1010 commented Mar 17, 2019

@favna you are correct, I reverted 2.0.3 just because it breaks the semver. I released 2.0.4 before 3.0.0 to make sure it doesn't break anyone's package for any reason. It is possible because package does not have its own lock file and always use newest version for its sub-dependencies

I will release 3.0.0 on the end of March along with TypeScript 3.4 upgrade (microsoft/TypeScript#30281), seems it could introduce some breaking changes like as const, readonly syntax

@foray1010
Copy link
Owner

It should also be noted that @types/leven is deprecated as for leven v3.

yes, it is included in fc4ea25 too

@favna
Copy link
Author

favna commented Mar 17, 2019

Looks like you ninja'd a reply in before I was able to finish a lengthier explanation of my reasons. Just to not let my effort go to waste I'm dumping it below:


Reading over my original comment I would also like to clarify why I think NodeJS deprecation is acceptable.

First of all like I said it's old and it's been for a long time that v8 was in LTS with right now v10 being LTS. NodeJS v4 has entered EOL since 2018-04-30, it is no longer maintained. The lowest maintained version is technically v6 however that's until April 2019 which is quite literally right around the corner. In my opinion requiring at least Node v8 should be the goal of the lib. It should however be noted that v8 is scheduled to EOL December 2019 to align with the scheduled EOL of OpenSSL-1.0.2. See more details on the NodeJS Release schedule page.

All the mumbojumbo about release schedules aside this lib clearly promotes modern JS practices, for example by using TypeScript with it's static type checker. Many of modern JS practices are however not supported in Node v4. If they are they are only by means of backported features which at the end of the day are simply not as efficient as their older brothers as it were.

@favna
Copy link
Author

favna commented Mar 17, 2019

And aforementioned PR to DefinitelyTyped is now live as well: DefinitelyTyped/DefinitelyTyped#33955

@foray1010
Copy link
Owner

thank you @favna! I think we could close this issue?

@favna
Copy link
Author

favna commented Mar 17, 2019

Yes I'd say so.

@favna favna closed this as completed Mar 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants