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

Add create-nightwatch docs. #156

Open
wants to merge 3 commits into
base: versions/2.0
Choose a base branch
from
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions guide/getting-started/onboarding-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## Nightwatch Onboarding CLI

#### Overview

This CLI tool lets you setup Nightwatch.js in your new or existing project, with all the required configs and dependencies, with just one command.

#### Usage

All you need to do is, run:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be really cool to have an animated gif that demo's the tool in action, such as the one in the schematics project or this video: https://vimeo.com/376838936


##### 1) If you're in your existing project's root directory:

<pre><code class="language-bash">npm init nightwatch</code></pre>

##### 2) If you want to create a new project:

<pre><code class="language-bash">npm init nightwatch path/to/new/project</code></pre>

and answer a few questons. We'll setup everything for you based on your preferences.


If you'd like to skip all the questions (we'd assume best defualts for you), you can use the above commands with `--yes` or `-y` flag:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

```suggestion
If you'd like to skip all the questions (we'd assume best defaults for you), you can use the above commands with `--yes` or `-y` flag:


##### 1) If you're in your existing project's root directory:

<pre><code class="language-bash">npm init nightwatch -- --yes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is necessary because it's not intuitive at all what all those defaults will be and what will happen. I think if users will use this tool, they will always want to go through the questions, which in my opinion are very sensible and the number is pretty low.

Also many questions aren't yes/no, such as JavaScript vs TypeScript. Does the answer yes means JS? Or the test runner (default / mocha / cucumber)?

So I think we should simply remove this completely.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about just generating the default Nightwatch config file for them if they use the --yes option? The same config file which gets generated now when the users run their first test.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On second thought, it wouldn't be a good idea to do so because we don't just generate the configuration file with this tool but also install all the required dependencies and if we just generate the same config file as we do now, we'd have to install a lot of unnecessary dependencies which is not a good idea at all.

# or
npm init nightwatch -- -y</code></pre>

##### 2) If you want to create a new project:

<pre><code class="language-bash">npm init nightwatch path/to/new/project -- --yes
# or
npm init nightwatch path/to/new/project -- -y</code></pre>


#### Generating a new config file

While it's completely safe to run `npm init nightwatch` again in your existing Nightwatch project, if you want to just generate a new config file and install all the required dependencies and nothing else, you can use this tool with the `--generate-config` flag:

##### 1) Generate new config file based on your preferences:

<pre><code class="language-bash">npm init nightwatch -- --generate-config</code></pre>

##### 2) Generate new config file with default configurations:

<pre><code class="language-bash">npm init nightwatch -- --generate-config --yes</code></pre>