Skip to content
New issue

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

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

Already on GitHub? # to your account

Release 0.2.0 #35

Closed
roblarsen opened this issue Jun 26, 2020 · 50 comments · Fixed by #56
Closed

Release 0.2.0 #35

roblarsen opened this issue Jun 26, 2020 · 50 comments · Fixed by #56
Assignees
Labels
Milestone

Comments

@roblarsen
Copy link
Member

I'm happy to release early and often with this as we add more features. I'd like to release 0.2.0. This issue will track those activities.

@roblarsen roblarsen self-assigned this Jun 26, 2020
@roblarsen roblarsen added this to the 0.2.0 milestone Jun 26, 2020
@vltansky
Copy link
Member

What left for 0.2 release?

@roblarsen
Copy link
Member Author

Updating the changelog, I think. @coliff anything else?

@vltansky
Copy link
Member

Changelog:

@coliff @roblarsen did I miss something?

@roblarsen
Copy link
Member Author

Looks good to me. Let's release this one. I'll make a PR for the changelog this afternoon

This was referenced Aug 26, 2020
@roblarsen roblarsen reopened this Aug 27, 2020
@roblarsen
Copy link
Member Author

I'm going to push out an RC release this afternoon.

@roblarsen
Copy link
Member Author

I'm the worst! I will publish this weekend.

@roblarsen
Copy link
Member Author

@vltansky I published the RC1 package yesterday and tested. It works as expected- except it doesn't exit back to the command line. You have to kill the process to get the command line back to being active. That's on Git Bash at least. I didn't test with Powershell and can't test on a Mac. Other than that it's ready to go.

@vltansky
Copy link
Member

@roblarsen till Monday I don't have access to computer. So it's up to you to decide if it's smth critical. Will check it when will back home

@roblarsen
Copy link
Member Author

Hi @vltansky Any idea on what needs to happen here?

@vltansky
Copy link
Member

image

image

Works fine for me both windows cmd and git bash (on windows)

@roblarsen
Copy link
Member Author

@vltansky are you testing it from npm, not the linked local version?

@vltansky
Copy link
Member

@roblarsen you're right I tested with the local version.
But now I deleted it and it still works fine:
image

@roblarsen
Copy link
Member Author

I just tested again and got the same result. I'll run through the specs of the system at some point today

image

@vltansky
Copy link
Member

@roblarsen try with the previous versions to test if it's something that we changed since then:
npx create-html5-boilerplate@0.0.1

@roblarsen
Copy link
Member Author

@vltansky using v0.1.0 works

That system (which is older) has node 10.16.3 and npm 6.9.0 I'm going to upgrade both to see if that does something

@roblarsen
Copy link
Member Author

It also happens on a new machine- node v12.13.1 npm v6.12.1

@vltansky
Copy link
Member

Still can't reproduce... (not in CMD nor in Git Bash)
image

How can we proceed?

@roblarsen
Copy link
Member Author

@vltansky I'll try to take a look to see what's happening on my machines. Once I do that we can actually just release anyway- people are using this now and no one has complained, so it's not a deal-breaker.

@roblarsen
Copy link
Member Author

The problem is with spinner.succeed() We hit that line, it executes, printing the message to the console, but on the machine I'm on right now, it never turns the check mark green. So... it's "succeeding" but not completely. I am currently manually killing the process just so I don't have to type ctrl+c a million times while debugging, but something somewhere is causing an issue. I'll continue to debug, but it's a clearly reproduceable issue on my end, so we'll have to fix it before we can release.

@roblarsen
Copy link
Member Author

I just realized I can't navigate the list of languages. I can hit an select English but I can't select anything else. I'm calling it a night

@vltansky
Copy link
Member

I just merged PR that may fix that. Give a try on the master.

@roblarsen
Copy link
Member Author

That change didn't do anything. I ended up just adding a manual process.exit() in the release branch.

The language list still doesn't scroll in Git Bash. It does works in powershell, but not in Git bash, so the language select feature is basically unusable. I'll continue to plug away at it.

@vltansky
Copy link
Member

What is the version of your Git Bash?

@roblarsen
Copy link
Member Author

3.0.6

@roblarsen
Copy link
Member Author

As an aside I changed the workflow a little bit. We need to use branches. Pushing directly to master dirties the history.

@vltansky
Copy link
Member

Can you give a try on this branch: https://github.com/vltansky/create-html5-boilerplate
I changed prompts to inquirer.

@roblarsen
Copy link
Member Author

Cool. I'll take a look. Do you understand why the coveralls action is failing? Based on the error it should never have worked since the file it's looking for isn't in the repo.

@vltansky
Copy link
Member

vltansky commented Oct 21, 2020

I think its failing cause of process.exit().
File is generated in npm run coverage (jest --coverage --collectCoverageOnlyFrom ./lib/cli.js)

@roblarsen
Copy link
Member Author

When is it generated?

At this point I don't care about anything other than getting the actual app to work. It fails in 2 of 3 systems I have access to. Everything else is just nice to have at this point.

@vltansky
Copy link
Member

vltansky commented Oct 21, 2020

In the coveralls workflow. process.exit() is exiting tests, so jest can't generate coverage file.
see actions log: https://github.com/h5bp/create-html5-boilerplate/pull/62/checks?check_run_id=1287182651

image

Try the branch with the inquirer, I think the main problem is prompts autocomplete in git bash. If it won't work I'll try to downgrade git bash on my PC in order to reproduce the bug.

@roblarsen
Copy link
Member Author

Ah, got it.

I just upgraded Git bash on one of the machines that show errors- the new code exits fine (👍 ) and allows you to scroll down through the list of languages, but doesn't highlight them and doesn't scroll past the first screenful of languages

@vltansky
Copy link
Member

Is inquirer now works on old git bash but without filtering?
Is it working fine on new git bash?

@roblarsen
Copy link
Member Author

video:
https://youtu.be/-1QaFYahrBc

@roblarsen
Copy link
Member Author

The filtering doesn't work at all.

@vltansky
Copy link
Member

So the bug is in git bash 3.0.6, right? New git bash works fine ?
I'm not sure if we can fix it at all, maybe we should open issue to inquirer/prompts?
Anyway I'll downgrade my git bash and will try to find some workaround.

@roblarsen
Copy link
Member Author

roblarsen commented Oct 21, 2020

No, that video is with 3.4 I just upgraded

@roblarsen
Copy link
Member Author

image

@vltansky
Copy link
Member

ionic-team/ionic-cli#2807
SBoudrias/Inquirer.js#570
angular/angular-cli#18163

Looks like it's a common bug with git bash. Try running git bash from vscode.

@roblarsen
Copy link
Member Author

What I don't understand is why it works on some machines and not others.

@roblarsen
Copy link
Member Author

Okay, let's release 0.2.0 (we're not at 1.0.0 so things can be a little wonky, especially in a case like this where it's really weird and outside of our control.)

What I will do is write up an issue to improve the way this works across different console apps. I am also interested in reaching out to some folks to get a better understanding of why it works sometimes and not others. This is all new coding for me so I'll have to do a crash course.

@roblarsen
Copy link
Member Author

The coveralls action is still failing

@vltansky
Copy link
Member

The coveralls action is still failing

You didnt remove process.exit() see line 63

Also try running this in Git Bash:
node --eval "console.log({stdin: process.stdin.isTTY, stdout: process.stdout.isTTY})"

@roblarsen
Copy link
Member Author

Ah, good catch.

@vltansky
Copy link
Member

vltansky commented Oct 21, 2020

Probably you will get false from node --eval "console.log({stdin: process.stdin.isTTY, stdout: process.stdout.isTTY})"
Which windows version do you have?
The good news that we can detect non-interactive consoles (https://www.npmjs.com/package/inquirer#use-in-non-interactive-environments), so we can disable prompts there.
see: vltansky@5477da1
nodejs/node#3006

@roblarsen
Copy link
Member Author

On both machines I get:

{ stdin: true, stdout: true }

@roblarsen
Copy link
Member Author

Win 10 on both machines

@vltansky
Copy link
Member

Then I don't know...
Looks the same issue like in Angular CLI:
angular/angular-cli#18163 (comment)_

@roblarsen
Copy link
Member Author

Yeah, super weird. It's fine for now. I'll open a detailed issue and post it to twitter and write it up on my blog. Let me fix the coveralls issue and then I'll release 0.2.0

@vltansky
Copy link
Member

We can release with semantic-release if you're interested #73

@roblarsen
Copy link
Member Author

(Done, I'm writing it up today.)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
2 participants