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

refactor(git): use execa to invoke git #414

Merged
merged 3 commits into from
Jan 8, 2017
Merged

Conversation

LinusU
Copy link
Contributor

@LinusU LinusU commented Jan 8, 2017

No description provided.

Use the execa library when invoing git
On my system `stdout` was undeifned and resulted in "Cannot read property 'trim' of undefined".
Switching this code to also use execa fixes that issue.
@LinusU
Copy link
Contributor Author

LinusU commented Jan 8, 2017

Oh shit, execa doesn't support Node.js 0.x...

I've been actually meaning to suggest this anyhow, but now it seems even more appropriate. How about dropping support for Node.js 0.12?

I think that there is a number of reasons in favour of this, first of all Node.js 0.12 is officially unsupported as of 2016-12-31. Also, I don't think that anyone that is using commitizen is actually using that old of a version, or doesn't have the ability to upgrade. As I have understood it, the majority of the still running Node.js 0.x versions are on servers that have been running it for ages; applications that works and that have no benefit of upgrading.

When people are developing locally, I think that they are running the latest Stable, or possibly the latest LTS, and this is where the commits will happen.

This should probably happen in a major version though 🤔

Another very interesting thing that dropping 0.x would give would be the ability to stop using babel. I think that most of the language features that we are using are already supported natively in Node 4.x. The only exception that I can think of is import/export, but I personally don't mind using require/exports. I think that dropping babel would help speed up development, I got bit by it as recent as today, when I was trying out the binary and didn't realise that I hadn't run npm run build...

This is of course all up to you @jimthedev, please give me your thoughts and I'll proceed accordingly 👍

@jimthedev
Copy link
Member

Let's do this all in 3.0 and drop Node 0.12 support.

@LinusU
Copy link
Contributor Author

LinusU commented Jan 8, 2017

Awesome, shall I create a v3.x branch and start merging PRs there?

Is this list up to date or do you want something more in? I'll also add dropping 0.12 to that list

@jimthedev
Copy link
Member

Yep, that list should still be good. Add in 0.12 as well.

We were thinking about requiring adapters to self import inquirer, do you think we should still do this? I was thinking we could at least provide a patched version of inquirer that writes a warning to stdout if the loaded adapter doesn't require inquirer. This would let adapter authors get PRs about the coming breaking API change. Although we could go make PRs for public adapters, private adapters need a cli based alert.

@LinusU LinusU changed the base branch from master to v3.x January 8, 2017 18:24
BREAKING CHANGE: Node.js 0.12 is no longer supported
@LinusU
Copy link
Contributor Author

LinusU commented Jan 8, 2017

Yes, I think making a version that prints a deprecation message is very good, no rush in removing it :)

@LinusU
Copy link
Contributor Author

LinusU commented Jan 8, 2017

I think deprecating it in 3.x and removing in 4.x sounds good, that way we won't nag anyone that stays on 2.x. Thoughts?

also, merging this to the 3.x branch now, I'll start sending some more PRs shortly :)

@LinusU LinusU merged commit d0772db into commitizen:v3.x Jan 8, 2017
@LinusU LinusU deleted the execa branch January 8, 2017 19:46
@jimthedev
Copy link
Member

Perfect!

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

Successfully merging this pull request may close these issues.

None yet

2 participants