h5bp/create-html5-boilerplate

Release 0.2.0

roblarsen opened this issue ยท 50 comments

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.

What left for 0.2 release?

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

Changelog:

  • prompt: remove jQuery in < v8 #12 #24
  • readme fixes
  • lang select #19
  • check if the folder is empty #22
  • update dependencies

@coliff @roblarsen did I miss something?

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

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

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

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

@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

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

image

image

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

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

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

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

image

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

@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

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

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

How can we proceed?

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

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.

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

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

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.

What is the version of your Git Bash?

3.0.6

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

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

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.

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

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.

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.

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

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

The filtering doesn't work at all.

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.

No, that video is with 3.4 I just upgraded

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.

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

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.

The coveralls action is still failing

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})"

Ah, good catch.

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

On both machines I get:

{ stdin: true, stdout: true }

Win 10 on both machines

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

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

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

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