xolvio / qualityfaster

An example project showing how to create robust and maintainable acceptance tests
262 stars 58 forks source link

Install issues on Windows #36

Open tomRedox opened 8 years ago

tomRedox commented 8 years ago

I followed the installation instructions but haven't been able to get the project running. I'm guessing this may be because I'm on Windows (8.1 Pro specifically) as there is a symlink warning in one of the messages?

I'm getting warnings and errors at each stage of the process as shown in the copies of the console messages below.

Apologies, I'm not really experienced enough with Git or NPM to work out the causes for all of this.

1) Cloning the repo with Git Bash:

$ git clone https://github.com/xolvio/automated-testing-best-practices.git
Cloning into 'automated-testing-best-practices'...
remote: Counting objects: 1362, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 1362 (delta 19), Receiving obrjects: eused  97%2 ( (132delta2/1 23 pack-reused 1318
Receiving objects: 100% (1362/1362), 826.90 KiB | 547.00 KiB/s, done.
Resolving deltas: 100% (652/652), done.
Checking connectivity... done.
error: unable to create file tests/step_definitions/critical/Then # should have # checks left in (her|his) checkbook.js (Invalid argument)
error: unable to create file tests/step_definitions/domain/Then # should have # checks left in (her|his) checkbook.js (Invalid argument)
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

2) npm install:

$ npm install
npm WARN excluding symbolic link lib\jasmine-core\spec -> ../../spec
npm WARN install Couldn't install optional dependency: Unsupported
npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN excluding symbolic link lib\jasmine-core\spec -> ../../spec

> phantomjs@1.9.20 install C:\websites\automated-testing-best-practices\node_modules\phantomjs
> node install.js

PhantomJS not found on PATH
Download already available at C:\Users\Tom\AppData\Local\Temp\phantomjs\phantomjs-1.9.8-windows.zip
Verified checksum of previously downloaded file
Extracting zip contents
Removing C:\websites\automated-testing-best-practices\node_modules\phantomjs\lib\phantom
Copying extracted folder C:\Users\Tom\AppData\Local\Temp\phantomjs\phantomjs-1.9.8-windows.zip-extract-1460203412973\phantomjs-1.9.8-windows -> C:\websites\automated-testing-best-practices\node_modules\phantomjs\lib\phantom
Writing location.js file
Done. Phantomjs binary available at C:\websites\automated-testing-best-practices\node_modules\phantomjs\lib\phantom\phantomjs.exe

> undefined install C:\websites\automated-testing-best-practices
> cd .scripts && npm install && cd ../src && npm install

npm WARN install Couldn't install optional dependency: Unsupported
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated graceful-fs@2.0.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.

> fibers@1.0.10 install C:\websites\automated-testing-best-practices\.scripts\node_modules\fibers
> node build.js || nodejs build.js

`win32-x64-v8-4.6` exists; testing
Binary is fine; exiting
C:\websites\automated-testing-best-practices\.scripts
└─┬ chimp@0.31.1
  ├── async@0.9.2
  ├─┬ babel-core@6.7.6
  │ ├─┬ babel-code-frame@6.7.5
  │ │ ├── babel-runtime@5.8.38
  │ │ ├─┬ chalk@1.1.3
  │ │ │ ├── ansi-styles@2.2.1
  │ │ │ ├── escape-string-regexp@1.0.5
  │ │ │ ├─┬ has-ansi@2.0.0
  │ │ │ │ └── ansi-regex@2.0.0
  │ │ │ ├── strip-ansi@3.0.1
  │ │ │ └── supports-color@2.0.0
  │ │ ├── esutils@2.0.2
  │ │ ├── js-tokens@1.0.3
  │ │ └─┬ repeating@1.1.3
  │ │   └─┬ is-finite@1.0.1
  │ │     └── number-is-nan@1.0.0
  │ ├─┬ babel-generator@6.7.5
  │ │ ├── babel-runtime@5.8.38
  │ │ ├─┬ detect-indent@3.0.1
  │ │ │ └── get-stdin@4.0.1
  │ │ ├── is-integer@1.0.6
  │ │ └── trim-right@1.0.1
  │ ├─┬ babel-helpers@6.6.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-messages@6.7.2
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-runtime@5.8.38
  │ │ └── core-js@1.2.6
  │ ├─┬ babel-template@6.7.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-traverse@6.7.6
  │ │ ├── babel-runtime@5.8.38
  │ │ ├── globals@8.18.0
  │ │ └─┬ invariant@2.2.1
  │ │   └── loose-envify@1.1.0
  │ ├─┬ babel-types@6.7.2
  │ │ ├── babel-runtime@5.8.38
  │ │ └── to-fast-properties@1.0.2
  │ ├─┬ babylon@6.7.0
  │ │ └── babel-runtime@5.8.38
  │ ├── convert-source-map@1.2.0
  │ ├─┬ debug@2.2.0
  │ │ └── ms@0.7.1
  │ ├── json5@0.4.0
  │ ├── lodash@3.10.1
  │ ├─┬ minimatch@2.0.10
  │ │ └─┬ brace-expansion@1.1.3
  │ │   ├── balanced-match@0.3.0
  │ │   └── concat-map@0.0.1
  │ ├── path-exists@1.0.0
  │ ├── path-is-absolute@1.0.0
  │ ├── private@0.1.6
  │ ├── shebang-regex@1.0.0
  │ ├── slash@1.0.0
  │ └── source-map@0.5.3
  ├─┬ babel-plugin-transform-runtime@6.7.5
  │ └── babel-runtime@5.8.38
  ├─┬ babel-polyfill@6.7.4
  │ ├── babel-regenerator-runtime@6.5.0
  │ ├─┬ babel-runtime@5.8.38
  │ │ └── core-js@1.2.6
  │ └── core-js@2.2.2
  ├─┬ babel-preset-es2015@6.6.0
  │ ├─┬ babel-plugin-check-es2015-constants@6.7.2
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-arrow-functions@6.5.2
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-block-scoped-functions@6.6.5
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-block-scoping@6.7.1
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-classes@6.6.5
  │ │ ├─┬ babel-helper-define-map@6.6.5
  │ │ │ └── babel-runtime@5.8.38
  │ │ ├─┬ babel-helper-function-name@6.6.0
  │ │ │ └── babel-runtime@5.8.38
  │ │ ├─┬ babel-helper-optimise-call-expression@6.6.0
  │ │ │ └── babel-runtime@5.8.38
  │ │ ├─┬ babel-helper-replace-supers@6.7.0
  │ │ │ └── babel-runtime@5.8.38
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-computed-properties@6.6.5
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-destructuring@6.6.5
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-duplicate-keys@6.6.4
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-for-of@6.6.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-function-name@6.5.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-literals@6.5.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.7.4
  │ │ ├─┬ babel-plugin-transform-strict-mode@6.6.5
  │ │ │ └── babel-runtime@5.8.38
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-object-super@6.6.5
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-parameters@6.7.0
  │ │ ├─┬ babel-helper-call-delegate@6.6.5
  │ │ │ ├─┬ babel-helper-hoist-variables@6.6.5
  │ │ │ │ └── babel-runtime@5.8.38
  │ │ │ └── babel-runtime@5.8.38
  │ │ ├─┬ babel-helper-get-function-arity@6.6.5
  │ │ │ └── babel-runtime@5.8.38
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-shorthand-properties@6.5.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-spread@6.6.5
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.5.0
  │ │ ├─┬ babel-helper-regex@6.6.5
  │ │ │ └── babel-runtime@5.8.38
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-template-literals@6.6.5
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-typeof-symbol@6.6.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.5.0
  │ │ ├── babel-runtime@5.8.38
  │ │ └─┬ regexpu-core@1.0.0
  │ │   ├── regenerate@1.2.1
  │ │   ├── regjsgen@0.2.0
  │ │   └─┬ regjsparser@0.1.5
  │ │     └── jsesc@0.5.0
  │ └─┬ babel-plugin-transform-regenerator@6.6.5
  │   ├─┬ babel-plugin-syntax-async-functions@6.5.0
  │   │ └── babel-runtime@5.8.38
  │   └── babel-runtime@5.8.38
  ├─┬ babel-preset-stage-2@6.5.0
  │ ├─┬ babel-plugin-syntax-trailing-function-commas@6.5.0
  │ │ └── babel-runtime@5.8.38
  │ ├─┬ babel-plugin-transform-object-rest-spread@6.6.5
  │ │ ├─┬ babel-plugin-syntax-object-rest-spread@6.5.0
  │ │ │ └── babel-runtime@5.8.38
  │ │ └── babel-runtime@5.8.38
  │ └─┬ babel-preset-stage-3@6.5.0
  │   ├─┬ babel-plugin-transform-async-to-generator@6.7.4
  │   │ ├─┬ babel-helper-remap-async-to-generator@6.7.0
  │   │ │ └── babel-runtime@5.8.38
  │   │ └── babel-runtime@5.8.38
  │   └─┬ babel-plugin-transform-exponentiation-operator@6.5.0
  │     ├─┬ babel-helper-builder-binary-assignment-operator-visitor@6.6.5
  │     │ ├─┬ babel-helper-explode-assignable-expression@6.6.5
  │     │ │ └── babel-runtime@5.8.38
  │     │ └── babel-runtime@5.8.38
  │     ├─┬ babel-plugin-syntax-exponentiation-operator@6.5.0
  │     │ └── babel-runtime@5.8.38
  │     └── babel-runtime@5.8.38
  ├─┬ babel-register@6.7.2
  │ ├─┬ babel-runtime@5.8.38
  │ │ └── core-js@1.2.6
  │ ├── core-js@2.2.2
  │ ├─┬ home-or-tmp@1.0.0
  │ │ ├── os-tmpdir@1.0.1
  │ │ └── user-home@1.1.1
  │ ├─┬ mkdirp@0.5.1
  │ │ └── minimist@0.0.8
  │ └─┬ source-map-support@0.2.10
  │   └─┬ source-map@0.1.32
  │     └── amdefine@1.0.0
  ├─┬ babel-runtime@6.6.1
  │ └── core-js@2.2.2
  ├── bluebird@2.10.2
  ├─┬ chai@3.0.0
  │ ├── assertion-error@1.0.1
  │ ├─┬ deep-eql@0.1.3
  │ │ └── type-detect@0.1.1
  │ └── type-detect@1.0.0
  ├── chai-as-promised@5.1.0
  ├── child-process-debug@0.0.7
  ├── chimp-widgets@0.2.0
  ├─┬ chokidar@1.0.6
  │ ├─┬ anymatch@1.3.0
  │ │ └─┬ micromatch@2.3.7
  │ │   ├─┬ arr-diff@2.0.0
  │ │   │ └── arr-flatten@1.0.1
  │ │   ├── array-unique@0.2.1
  │ │   ├─┬ braces@1.8.3
  │ │   │ ├─┬ expand-range@1.8.1
  │ │   │ │ └─┬ fill-range@2.2.3
  │ │   │ │   ├── is-number@2.1.0
  │ │   │ │   ├── isobject@2.0.0
  │ │   │ │   ├── randomatic@1.1.5
  │ │   │ │   └── repeat-string@1.5.4
  │ │   │ ├── preserve@0.2.0
  │ │   │ └── repeat-element@1.1.2
  │ │   ├─┬ expand-brackets@0.1.5
  │ │   │ └── is-posix-bracket@0.1.1
  │ │   ├── extglob@0.3.2
  │ │   ├── filename-regex@2.0.0
  │ │   ├── is-extglob@1.0.0
  │ │   ├── is-glob@2.0.1
  │ │   ├─┬ kind-of@3.0.2
  │ │   │ └── is-buffer@1.1.3
  │ │   ├── normalize-path@2.0.1
  │ │   ├─┬ object.omit@2.0.0
  │ │   │ ├─┬ for-own@0.1.4
  │ │   │ │ └── for-in@0.1.5
  │ │   │ └── is-extendable@0.1.1
  │ │   ├─┬ parse-glob@3.0.4
  │ │   │ ├─┬ glob-base@0.3.0
  │ │   │ │ ├── glob-parent@2.0.0
  │ │   │ │ └── is-glob@2.0.1
  │ │   │ ├── is-dotfile@1.0.2
  │ │   │ └── is-glob@2.0.1
  │ │   └─┬ regex-cache@0.4.3
  │ │     ├── is-equal-shallow@0.1.3
  │ │     └── is-primitive@2.0.0
  │ ├── arrify@1.0.1
  │ ├── async-each@0.1.6
  │ ├─┬ glob-parent@1.3.0
  │ │ └── is-glob@2.0.1
  │ ├─┬ is-binary-path@1.0.1
  │ │ └── binary-extensions@1.4.0
  │ ├── is-glob@1.1.3
  │ └─┬ readdirp@1.4.0
  │   ├─┬ minimatch@0.2.14
  │   │ ├── lru-cache@2.7.3
  │   │ └── sigmund@1.0.1
  │   └─┬ readable-stream@1.0.33
  │     ├── core-util-is@1.0.2
  │     ├── isarray@0.0.1
  │     └── string_decoder@0.10.31
  ├── colors@1.1.2
  ├─┬ commander@2.9.0
  │ └── graceful-readlink@1.0.1
  ├─┬ cucumber@0.9.4  (git://github.com/xolvio/cucumber-js.git#6ba5fd3786e49b1f76c115286113d56d53f36c48)
  │ ├── callsite@1.0.0
  │ ├─┬ camel-case@1.2.2
  │ │ ├─┬ sentence-case@1.1.3
  │ │ │ └── lower-case@1.1.3
  │ │ └── upper-case@1.1.3
  │ ├─┬ cli-table@0.3.1
  │ │ └── colors@1.0.3
  │ ├── cucumber-html@0.2.3
  │ ├─┬ duration@0.2.0
  │ │ ├── d@0.1.1
  │ │ └─┬ es5-ext@0.10.11
  │ │   ├── es6-iterator@2.0.0
  │ │   └── es6-symbol@3.0.2
  │ ├── gherkin@2.12.2
  │ ├── lodash@4.9.0
  │ ├─┬ meteor-promise@0.5.1
  │ │ └─┬ promise@7.0.4
  │ │   └── asap@2.0.3
  │ └── stack-chain@1.3.7
  ├── deepmerge@0.2.10
  ├── exit@0.1.2
  ├── fibers@1.0.10
  ├── freeport@1.0.5
  ├─┬ fs-extra@0.24.0
  │ ├── graceful-fs@4.1.3
  │ ├── jsonfile@2.2.3
  │ └─┬ rimraf@2.5.2
  │   └── glob@7.0.3
  ├─┬ glob@6.0.4
  │ ├─┬ inflight@1.0.4
  │ │ └── wrappy@1.0.1
  │ ├── inherits@2.0.1
  │ └── once@1.3.3
  ├─┬ hapi@8.8.0
  │ ├── accept@1.0.0
  │ ├── ammo@1.0.0
  │ ├── boom@2.7.2
  │ ├── call@2.0.1
  │ ├── catbox@4.3.0
  │ ├── catbox-memory@1.1.1
  │ ├── cryptiles@2.0.4
  │ ├─┬ h2o2@4.0.1
  │ │ └── wreck@5.6.1
  │ ├─┬ heavy@3.0.0
  │ │ └─┬ joi@5.1.0
  │ │   ├── isemail@1.2.0
  │ │   └── moment@2.12.0
  │ ├── hoek@2.14.0
  │ ├─┬ inert@2.1.5
  │ │ └── lru-cache@2.6.4
  │ ├── iron@2.1.2
  │ ├── items@1.1.0
  │ ├─┬ joi@6.4.1
  │ │ ├── isemail@1.1.1
  │ │ └── moment@2.10.3
  │ ├── kilt@1.1.1
  │ ├─┬ mimos@2.0.2
  │ │ └── mime-db@1.14.0
  │ ├── peekaboo@1.0.0
  │ ├── qs@4.0.0
  │ ├── shot@1.5.3
  │ ├── statehood@2.1.1
  │ ├─┬ subtext@1.1.1
  │ │ ├── content@1.0.1
  │ │ ├─┬ pez@1.0.0
  │ │ │ ├── b64@2.0.0
  │ │ │ └─┬ nigel@1.0.1
  │ │ │   └── vise@1.0.0
  │ │ └── wreck@6.0.0
  │ ├── topo@1.0.2
  │ └── vision@2.0.1
  ├── loglevel@1.4.0
  ├── minimist@1.2.0
  ├─┬ mocha@2.3.4
  │ ├── commander@2.3.0
  │ ├── diff@1.4.0
  │ ├── escape-string-regexp@1.0.2
  │ ├─┬ glob@3.2.3
  │ │ ├── graceful-fs@2.0.3
  │ │ └── minimatch@0.2.14
  │ ├── growl@1.8.1
  │ ├─┬ jade@0.26.3
  │ │ ├── commander@0.6.1
  │ │ └── mkdirp@0.3.0
  │ ├─┬ mkdirp@0.5.0
  │ │ └── minimist@0.0.8
  │ └── supports-color@1.2.0
  ├── phantomjs-bin@1.0.1
  ├── progress@1.1.8
  ├─┬ request@2.67.0
  │ ├── aws-sign2@0.6.0
  │ ├─┬ bl@1.0.3
  │ │ └─┬ readable-stream@2.0.6
  │ │   ├── isarray@1.0.0
  │ │   ├── process-nextick-args@1.0.6
  │ │   └── util-deprecate@1.0.2
  │ ├── caseless@0.11.0
  │ ├─┬ combined-stream@1.0.5
  │ │ └── delayed-stream@1.0.0
  │ ├── extend@3.0.0
  │ ├── forever-agent@0.6.1
  │ ├─┬ form-data@1.0.0-rc4
  │ │ └── async@1.5.2
  │ ├─┬ har-validator@2.0.6
  │ │ ├─┬ is-my-json-valid@2.13.1
  │ │ │ ├── generate-function@2.0.0
  │ │ │ ├─┬ generate-object-property@1.2.0
  │ │ │ │ └── is-property@1.0.2
  │ │ │ ├── jsonpointer@2.0.0
  │ │ │ └── xtend@4.0.1
  │ │ └─┬ pinkie-promise@2.0.0
  │ │   └── pinkie@2.0.4
  │ ├─┬ hawk@3.1.3
  │ │ ├── boom@2.10.1
  │ │ ├── cryptiles@2.0.5
  │ │ ├── hoek@2.16.3
  │ │ └── sntp@1.0.9
  │ ├─┬ http-signature@1.1.1
  │ │ ├── assert-plus@0.2.0
  │ │ ├─┬ jsprim@1.2.2
  │ │ │ ├── extsprintf@1.0.2
  │ │ │ ├── json-schema@0.2.2
  │ │ │ └── verror@1.3.6
  │ │ └─┬ sshpk@1.7.4
  │ │   ├── asn1@0.2.3
  │ │   ├─┬ dashdash@1.13.0
  │ │   │ └── assert-plus@1.0.0
  │ │   ├── ecc-jsbn@0.1.1
  │ │   ├── jodid25519@1.0.2
  │ │   ├── jsbn@0.1.0
  │ │   └── tweetnacl@0.14.3
  │ ├── is-typedarray@1.0.0
  │ ├── isstream@0.1.2
  │ ├── json-stringify-safe@5.0.1
  │ ├─┬ mime-types@2.1.10
  │ │ └── mime-db@1.22.0
  │ ├── node-uuid@1.4.7
  │ ├── oauth-sign@0.8.1
  │ ├── qs@5.2.0
  │ ├── stringstream@0.0.5
  │ ├── tough-cookie@2.2.2
  │ └── tunnel-agent@0.4.2
  ├─┬ requestretry@1.5.0
  │ └─┬ fg-lodash@0.0.2
  │   ├── lodash@2.4.2
  │   └── underscore.string@2.3.3
  ├── saucelabs@0.1.1
  ├─┬ selenium-standalone@4.9.1
  │ ├── async@1.2.1
  │ ├── commander@2.6.0
  │ ├── lodash@3.9.3
  │ ├── minimist@1.1.0
  │ ├─┬ mkdirp@0.5.0
  │ │ └── minimist@0.0.8
  │ ├─┬ request@2.51.0
  │ │ ├── aws-sign2@0.5.0
  │ │ ├── bl@0.9.5
  │ │ ├── caseless@0.8.0
  │ │ ├─┬ combined-stream@0.0.7
  │ │ │ └── delayed-stream@0.0.5
  │ │ ├── forever-agent@0.5.2
  │ │ ├─┬ form-data@0.2.0
  │ │ │ ├── async@0.9.2
  │ │ │ └─┬ mime-types@2.0.14
  │ │ │   └── mime-db@1.12.0
  │ │ ├─┬ hawk@1.1.1
  │ │ │ ├── boom@0.4.2
  │ │ │ ├── cryptiles@0.2.2
  │ │ │ ├── hoek@0.9.1
  │ │ │ └── sntp@0.2.4
  │ │ ├─┬ http-signature@0.10.1
  │ │ │ ├── asn1@0.1.11
  │ │ │ ├── assert-plus@0.1.5
  │ │ │ └── ctype@0.5.3
  │ │ ├── mime-types@1.0.2
  │ │ ├── oauth-sign@0.5.0
  │ │ └── qs@2.3.3
  │ ├─┬ unzip@0.1.11
  │ │ ├─┬ binary@0.3.0
  │ │ │ ├── buffers@0.1.1
  │ │ │ └─┬ chainsaw@0.1.0
  │ │ │   └── traverse@0.3.9
  │ │ ├─┬ fstream@0.1.31
  │ │ │ └── graceful-fs@3.0.8
  │ │ ├── match-stream@0.0.2
  │ │ ├─┬ pullstream@0.4.1
  │ │ │ ├── over@0.0.5
  │ │ │ └── slice-stream@1.0.0
  │ │ └── setimmediate@1.0.4
  │ ├── urijs@1.16.1
  │ └─┬ which@1.1.1
  │   └─┬ is-absolute@0.1.7
  │     └── is-relative@0.1.3
  ├── underscore@1.8.3
  ├─┬ xolvio-ddp@0.12.0
  │ ├── ddp-ejson@0.8.1-3
  │ ├── ddp-underscore-patched@0.8.1-2
  │ ├─┬ faye-websocket@0.9.4
  │ │ └─┬ websocket-driver@0.6.4
  │ │   └── websocket-extensions@0.1.1
  │ └─┬ request@2.53.0
  │   ├── aws-sign2@0.5.0
  │   ├── bl@0.9.5
  │   ├── caseless@0.9.0
  │   ├─┬ combined-stream@0.0.7
  │   │ └── delayed-stream@0.0.5
  │   ├── forever-agent@0.5.2
  │   ├── form-data@0.2.0
  │   ├── hawk@2.3.1
  │   ├─┬ http-signature@0.10.1
  │   │ ├── asn1@0.1.11
  │   │ └── assert-plus@0.1.5
  │   ├─┬ mime-types@2.0.14
  │   │ └── mime-db@1.12.0
  │   ├── oauth-sign@0.6.0
  │   └── qs@2.3.3
  ├─┬ xolvio-jasmine-expect@1.0.0
  │ └── jasmine-core@2.4.1
  └─┬ xolvio-sync-webdriverio@4.1.0
    ├── meteor-promise@0.4.8
    ├─┬ webdriverio@3.4.0
    │ ├─┬ archiver@0.14.4
    │ │ ├── buffer-crc32@0.2.5
    │ │ ├── glob@4.3.5
    │ │ ├── lazystream@0.1.0
    │ │ ├── lodash@3.2.0
    │ │ ├─┬ tar-stream@1.1.5
    │ │ │ ├── bl@0.9.5
    │ │ │ └── end-of-stream@1.1.0
    │ │ └─┬ zip-stream@0.5.2
    │ │   ├─┬ compress-commons@0.2.9
    │ │   │ ├── crc32-stream@0.3.4
    │ │   │ └── node-int64@0.3.3
    │ │   └── lodash@3.2.0
    │ ├── array.from@0.2.0
    │ ├── co@4.6.0
    │ ├─┬ css-parse@2.0.0
    │ │ └─┬ css@2.2.1
    │ │   ├── source-map@0.1.43
    │ │   ├─┬ source-map-resolve@0.3.1
    │ │   │ ├── atob@1.1.3
    │ │   │ ├── resolve-url@0.2.1
    │ │   │ └── source-map-url@0.3.0
    │ │   └── urix@0.1.0
    │ ├── css-value@0.0.1
    │ ├── ejs@2.4.1
    │ ├── glob@5.0.15
    │ ├─┬ inquirer@0.8.5
    │ │ ├── ansi-regex@1.1.1
    │ │ ├── cli-width@1.1.1
    │ │ ├── figures@1.5.0
    │ │ ├─┬ readline2@0.1.1
    │ │ │ ├── mute-stream@0.0.4
    │ │ │ └─┬ strip-ansi@2.0.1
    │ │ │   └── ansi-regex@1.1.1
    │ │ ├── rx@2.5.3
    │ │ └── through@2.3.8
    │ ├── is-generator@1.0.3
    │ ├─┬ optimist@0.6.1
    │ │ ├── minimist@0.0.10
    │ │ └── wordwrap@0.0.3
    │ ├── q@1.3.0
    │ ├─┬ request@2.49.0
    │ │ ├── aws-sign2@0.5.0
    │ │ ├── bl@0.9.5
    │ │ ├── caseless@0.8.0
    │ │ ├─┬ combined-stream@0.0.7
    │ │ │ └── delayed-stream@0.0.5
    │ │ ├── forever-agent@0.5.2
    │ │ ├─┬ form-data@0.1.4
    │ │ │ └── mime@1.2.11
    │ │ ├─┬ hawk@1.1.1
    │ │ │ ├── boom@0.4.2
    │ │ │ ├── cryptiles@0.2.2
    │ │ │ ├── hoek@0.9.1
    │ │ │ └── sntp@0.2.4
    │ │ ├─┬ http-signature@0.10.1
    │ │ │ ├── asn1@0.1.11
    │ │ │ └── assert-plus@0.1.5
    │ │ ├── mime-types@1.0.2
    │ │ ├── oauth-sign@0.5.0
    │ │ └── qs@2.3.3
    │ ├── rgb2hex@0.1.0
    │ ├── supports-color@1.3.1
    │ ├─┬ url@0.10.3
    │ │ ├── punycode@1.3.2
    │ │ └── querystring@0.2.0
    │ └── wgxpath@1.0.0
    └── xolvio-fiber-utils@2.0.3

C:\websites\automated-testing-best-practices\src
├─┬ react@0.14.8
│ ├─┬ envify@3.4.0
│ │ ├─┬ jstransform@10.1.0
│ │ │ ├── base62@0.1.1
│ │ │ ├── esprima-fb@13001.1001.0-dev-harmony-fb
│ │ │ └─┬ source-map@0.1.31
│ │ │   └── amdefine@1.0.0
│ │ └── through@2.3.8
│ └─┬ fbjs@0.6.1
│   ├── core-js@1.2.6
│   ├─┬ loose-envify@1.1.0
│   │ └── js-tokens@1.0.3
│   ├─┬ promise@7.1.1
│   │ └── asap@2.0.3
│   ├── ua-parser-js@0.7.10
│   └── whatwg-fetch@0.9.0
├── react-addons-create-fragment@0.14.8
├── react-addons-css-transition-group@0.14.8
├── react-addons-linked-state-mixin@0.14.8
├── react-addons-perf@0.14.8
├── react-addons-pure-render-mixin@0.14.8
├── react-addons-test-utils@0.14.8
├── react-addons-transition-group@0.14.8
├── react-addons-update@0.14.8
└── react-dom@0.14.8

C:\websites\automated-testing-best-practices
├─┬ babel-core@6.7.6
│ ├─┬ babel-code-frame@6.7.5
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5
│ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ └── ansi-regex@2.0.0
│ │ │ ├── strip-ansi@3.0.1
│ │ │ └── supports-color@2.0.0
│ │ ├── esutils@2.0.2
│ │ ├── js-tokens@1.0.3
│ │ └─┬ repeating@1.1.3
│ │   └─┬ is-finite@1.0.1
│ │     └── number-is-nan@1.0.0
│ ├─┬ babel-generator@6.7.5
│ │ ├─┬ detect-indent@3.0.1
│ │ │ ├── get-stdin@4.0.1
│ │ │ └── minimist@1.2.0
│ │ ├── is-integer@1.0.6
│ │ └── trim-right@1.0.1
│ ├── babel-helpers@6.6.0
│ ├── babel-messages@6.7.2
│ ├─┬ babel-runtime@5.8.38
│ │ └── core-js@1.2.6
│ ├── babel-template@6.7.0
│ ├─┬ babel-traverse@6.7.6
│ │ ├── globals@8.18.0
│ │ └─┬ invariant@2.2.1
│ │   └── loose-envify@1.1.0
│ ├─┬ babel-types@6.7.2
│ │ └── to-fast-properties@1.0.2
│ ├── babylon@6.7.0
│ ├── convert-source-map@1.2.0
│ ├─┬ debug@2.2.0
│ │ └── ms@0.7.1
│ ├── json5@0.4.0
│ ├── lodash@3.10.1
│ ├─┬ minimatch@2.0.10
│ │ └─┬ brace-expansion@1.1.3
│ │   ├── balanced-match@0.3.0
│ │   └── concat-map@0.0.1
│ ├── path-exists@1.0.0
│ ├── path-is-absolute@1.0.0
│ ├── private@0.1.6
│ ├── shebang-regex@1.0.0
│ ├── slash@1.0.0
│ └── source-map@0.5.3
├─┬ babel-loader@6.2.4
│ ├─┬ loader-utils@0.2.13
│ │ └── big.js@3.1.3
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ └── object-assign@4.0.1
├─┬ babel-plugin-transform-decorators-legacy@1.3.4
│ ├── babel-plugin-syntax-decorators@6.5.0
│ └─┬ babel-runtime@6.6.1
│   └── core-js@2.2.2
├── babel-plugin-transform-es2015-modules-commonjs@6.7.4
├── babel-plugin-transform-runtime@6.7.5
├── babel-plugin-transform-strict-mode@6.6.5
├─┬ babel-preset-es2015@6.6.0
│ ├── babel-plugin-check-es2015-constants@6.7.2
│ ├── babel-plugin-transform-es2015-arrow-functions@6.5.2
│ ├── babel-plugin-transform-es2015-block-scoped-functions@6.6.5
│ ├── babel-plugin-transform-es2015-block-scoping@6.7.1
│ ├─┬ babel-plugin-transform-es2015-classes@6.6.5
│ │ ├── babel-helper-define-map@6.6.5
│ │ ├── babel-helper-function-name@6.6.0
│ │ ├── babel-helper-optimise-call-expression@6.6.0
│ │ └── babel-helper-replace-supers@6.7.0
│ ├── babel-plugin-transform-es2015-computed-properties@6.6.5
│ ├── babel-plugin-transform-es2015-destructuring@6.6.5
│ ├── babel-plugin-transform-es2015-duplicate-keys@6.6.4
│ ├── babel-plugin-transform-es2015-for-of@6.6.0
│ ├── babel-plugin-transform-es2015-function-name@6.5.0
│ ├── babel-plugin-transform-es2015-literals@6.5.0
│ ├── babel-plugin-transform-es2015-object-super@6.6.5
│ ├─┬ babel-plugin-transform-es2015-parameters@6.7.0
│ │ ├─┬ babel-helper-call-delegate@6.6.5
│ │ │ └── babel-helper-hoist-variables@6.6.5
│ │ └── babel-helper-get-function-arity@6.6.5
│ ├── babel-plugin-transform-es2015-shorthand-properties@6.5.0
│ ├── babel-plugin-transform-es2015-spread@6.6.5
│ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.5.0
│ │ └── babel-helper-regex@6.6.5
│ ├── babel-plugin-transform-es2015-template-literals@6.6.5
│ ├── babel-plugin-transform-es2015-typeof-symbol@6.6.0
│ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.5.0
│ │ └─┬ regexpu-core@1.0.0
│ │   ├── regenerate@1.2.1
│ │   ├── regjsgen@0.2.0
│ │   └─┬ regjsparser@0.1.5
│ │     └── jsesc@0.5.0
│ └─┬ babel-plugin-transform-regenerator@6.6.5
│   └── babel-plugin-syntax-async-functions@6.5.0
├─┬ babel-preset-react@6.5.0
│ ├── babel-plugin-syntax-flow@6.5.0
│ ├── babel-plugin-syntax-jsx@6.5.0
│ ├── babel-plugin-transform-flow-strip-types@6.7.0
│ ├── babel-plugin-transform-react-display-name@6.5.0
│ ├─┬ babel-plugin-transform-react-jsx@6.7.5
│ │ └── babel-helper-builder-react-jsx@6.7.5
│ └── babel-plugin-transform-react-jsx-source@6.5.0
├─┬ babel-preset-stage-0@6.5.0
│ ├─┬ babel-plugin-transform-do-expressions@6.5.0
│ │ └── babel-plugin-syntax-do-expressions@6.5.0
│ ├─┬ babel-plugin-transform-function-bind@6.5.2
│ │ └── babel-plugin-syntax-function-bind@6.5.0
│ └─┬ babel-preset-stage-1@6.5.0
│   ├─┬ babel-plugin-transform-class-constructor-call@6.6.5
│   │ └── babel-plugin-syntax-class-constructor-call@6.5.0
│   ├─┬ babel-plugin-transform-class-properties@6.6.0
│   │ └── babel-plugin-syntax-class-properties@6.5.0
│   ├─┬ babel-plugin-transform-decorators@6.6.5
│   │ └─┬ babel-helper-explode-class@6.6.5
│   │   └── babel-helper-bindify-decorators@6.6.5
│   ├─┬ babel-plugin-transform-export-extensions@6.5.0
│   │ └── babel-plugin-syntax-export-extensions@6.5.0
│   └─┬ babel-preset-stage-2@6.5.0
│     ├── babel-plugin-syntax-trailing-function-commas@6.5.0
│     ├─┬ babel-plugin-transform-object-rest-spread@6.6.5
│     │ └── babel-plugin-syntax-object-rest-spread@6.5.0
│     └─┬ babel-preset-stage-3@6.5.0
│       ├─┬ babel-plugin-transform-async-to-generator@6.7.4
│       │ └── babel-helper-remap-async-to-generator@6.7.0
│       └─┬ babel-plugin-transform-exponentiation-operator@6.5.0
│         ├─┬ babel-helper-builder-binary-assignment-operator-visitor@6.6.5
│         │ └── babel-helper-explode-assignable-expression@6.6.5
│         └── babel-plugin-syntax-exponentiation-operator@6.5.0
├─┬ babel-register@6.7.2
│ ├── core-js@2.2.2
│ ├─┬ home-or-tmp@1.0.0
│ │ ├── os-tmpdir@1.0.1
│ │ └── user-home@1.1.1
│ └─┬ source-map-support@0.2.10
│   └── source-map@0.1.32
├─┬ jasmine@2.4.1
│ ├── exit@0.1.2
│ ├─┬ glob@3.2.11
│ │ ├── inherits@2.0.1
│ │ └─┬ minimatch@0.3.0
│ │   ├── lru-cache@2.7.3
│ │   └── sigmund@1.0.1
│ └── jasmine-core@2.4.1
├── json-loader@0.5.4
├─┬ karma@0.13.22
│ ├── batch@0.5.3
│ ├── bluebird@2.10.2
│ ├─┬ body-parser@1.15.0
│ │ ├── bytes@2.2.0
│ │ ├── content-type@1.0.1
│ │ ├── depd@1.1.0
│ │ ├─┬ http-errors@1.4.0
│ │ │ └── statuses@1.2.1
│ │ ├── iconv-lite@0.4.13
│ │ ├─┬ on-finished@2.3.0
│ │ │ └── ee-first@1.1.1
│ │ ├── qs@6.1.0
│ │ ├─┬ raw-body@2.1.6
│ │ │ ├── bytes@2.3.0
│ │ │ └── unpipe@1.0.0
│ │ └─┬ type-is@1.6.12
│ │   └── media-typer@0.3.0
│ ├─┬ chokidar@1.4.3
│ │ ├─┬ anymatch@1.3.0
│ │ │ ├── arrify@1.0.1
│ │ │ └─┬ micromatch@2.3.7
│ │ │   ├─┬ arr-diff@2.0.0
│ │ │   │ └── arr-flatten@1.0.1
│ │ │   ├─┬ braces@1.8.3
│ │ │   │ ├─┬ expand-range@1.8.1
│ │ │   │ │ └─┬ fill-range@2.2.3
│ │ │   │ │   ├── is-number@2.1.0
│ │ │   │ │   ├── isobject@2.0.0
│ │ │   │ │   └── randomatic@1.1.5
│ │ │   │ ├── preserve@0.2.0
│ │ │   │ └── repeat-element@1.1.2
│ │ │   ├─┬ expand-brackets@0.1.5
│ │ │   │ └── is-posix-bracket@0.1.1
│ │ │   ├── extglob@0.3.2
│ │ │   ├── filename-regex@2.0.0
│ │ │   ├─┬ kind-of@3.0.2
│ │ │   │ └── is-buffer@1.1.3
│ │ │   ├── normalize-path@2.0.1
│ │ │   ├─┬ object.omit@2.0.0
│ │ │   │ ├─┬ for-own@0.1.4
│ │ │   │ │ └── for-in@0.1.5
│ │ │   │ └── is-extendable@0.1.1
│ │ │   ├─┬ parse-glob@3.0.4
│ │ │   │ ├── glob-base@0.3.0
│ │ │   │ └── is-dotfile@1.0.2
│ │ │   └─┬ regex-cache@0.4.3
│ │ │     ├── is-equal-shallow@0.1.3
│ │ │     └── is-primitive@2.0.0
│ │ ├── async-each@1.0.0
│ │ ├── glob-parent@2.0.0
│ │ ├─┬ is-binary-path@1.0.1
│ │ │ └── binary-extensions@1.4.0
│ │ ├─┬ is-glob@2.0.1
│ │ │ └── is-extglob@1.0.0
│ │ └── readdirp@2.0.0
│ ├── colors@1.1.2
│ ├─┬ connect@3.4.1
│ │ ├─┬ finalhandler@0.4.1
│ │ │ └── escape-html@1.0.3
│ │ ├── parseurl@1.3.1
│ │ └── utils-merge@1.0.0
│ ├── core-js@2.2.2
│ ├── di@0.0.1
│ ├─┬ dom-serialize@2.2.1
│ │ ├── custom-event@1.0.0
│ │ ├── ent@2.2.0
│ │ ├── extend@3.0.0
│ │ └── void-elements@2.0.1
│ ├─┬ expand-braces@0.1.2
│ │ ├── array-slice@0.2.3
│ │ ├── array-unique@0.2.1
│ │ └─┬ braces@0.1.5
│ │   └─┬ expand-range@0.1.1
│ │     ├── is-number@0.1.1
│ │     └── repeat-string@0.2.2
│ ├─┬ glob@7.0.3
│ │ ├─┬ inflight@1.0.4
│ │ │ └── wrappy@1.0.1
│ │ └── once@1.3.3
│ ├── graceful-fs@4.1.3
│ ├─┬ http-proxy@1.13.2
│ │ ├── eventemitter3@1.2.0
│ │ └── requires-port@1.0.0
│ ├── isbinaryfile@3.0.0
│ ├─┬ log4js@0.6.33
│ │ ├─┬ readable-stream@1.0.33
│ │ │ ├── core-util-is@1.0.2
│ │ │ └── isarray@0.0.1
│ │ └── semver@4.3.6
│ ├── mime@1.3.4
│ ├── minimatch@3.0.0
│ ├─┬ optimist@0.6.1
│ │ ├── minimist@0.0.10
│ │ └── wordwrap@0.0.3
│ ├─┬ rimraf@2.5.2
│ │ └── glob@7.0.3
│ ├─┬ socket.io@1.4.5
│ │ ├─┬ engine.io@1.6.8
│ │ │ ├─┬ accepts@1.1.4
│ │ │ │ ├─┬ mime-types@2.0.14
│ │ │ │ │ └── mime-db@1.12.0
│ │ │ │ └── negotiator@0.4.9
│ │ │ ├── base64id@0.1.0
│ │ │ ├─┬ engine.io-parser@1.2.4
│ │ │ │ ├── after@0.8.1
│ │ │ │ ├── arraybuffer.slice@0.0.6
│ │ │ │ ├── base64-arraybuffer@0.1.2
│ │ │ │ ├── blob@0.0.4
│ │ │ │ ├── has-binary@0.1.6
│ │ │ │ └── utf8@2.1.0
│ │ │ └─┬ ws@1.0.1
│ │ │   ├── options@0.0.6
│ │ │   └── ultron@1.0.2
│ │ ├── has-binary@0.1.7
│ │ ├─┬ socket.io-adapter@0.4.0
│ │ │ └─┬ socket.io-parser@2.2.2
│ │ │   ├── debug@0.7.4
│ │ │   └── json3@3.2.6
│ │ ├─┬ socket.io-client@1.4.5
│ │ │ ├── backo2@1.0.2
│ │ │ ├── component-bind@1.0.0
│ │ │ ├── component-emitter@1.2.0
│ │ │ ├─┬ engine.io-client@1.6.8
│ │ │ │ ├── component-inherit@0.0.3
│ │ │ │ ├── has-cors@1.1.0
│ │ │ │ ├── parsejson@0.0.1
│ │ │ │ ├── parseqs@0.0.2
│ │ │ │ ├── xmlhttprequest-ssl@1.5.1
│ │ │ │ └── yeast@0.1.2
│ │ │ ├── indexof@0.0.1
│ │ │ ├── object-component@0.0.3
│ │ │ ├─┬ parseuri@0.0.4
│ │ │ │ └─┬ better-assert@1.0.2
│ │ │ │   └── callsite@1.0.0
│ │ │ └── to-array@0.1.4
│ │ └─┬ socket.io-parser@2.2.6
│ │   ├── benchmark@1.0.0
│ │   ├── component-emitter@1.1.2
│ │   └── json3@3.3.2
│ └─┬ useragent@2.1.9
│   └── lru-cache@2.2.4
├─┬ karma-chrome-launcher@0.2.3
│ ├─┬ fs-access@1.0.0
│ │ └── null-check@1.0.0
│ └─┬ which@1.2.4
│   ├─┬ is-absolute@0.1.7
│   │ └── is-relative@0.1.3
│   └── isexe@1.1.2
├── karma-firefox-launcher@0.1.7
├── karma-jasmine@0.3.8
├── karma-sourcemap-loader@0.3.6
├─┬ karma-webpack@1.7.0
│ ├── async@0.9.2
│ ├─┬ source-map@0.1.43
│ │ └── amdefine@1.0.0
│ └─┬ webpack-dev-middleware@1.6.1
│   └── range-parser@1.0.3
├─┬ phantomjs@1.9.20
│ ├─┬ extract-zip@1.5.0
│ │ ├─┬ concat-stream@1.5.0
│ │ │ └── typedarray@0.0.6
│ │ ├── debug@0.7.4
│ │ ├─┬ mkdirp@0.5.0
│ │ │ └── minimist@0.0.8
│ │ └─┬ yauzl@2.4.1
│ │   └─┬ fd-slicer@1.0.1
│ │     └── pend@1.2.0
│ ├─┬ fs-extra@0.26.7
│ │ ├── jsonfile@2.2.3
│ │ └── klaw@1.1.3
│ ├─┬ hasha@2.2.0
│ │ ├── is-stream@1.0.1
│ │ └─┬ pinkie-promise@2.0.0
│ │   └── pinkie@2.0.4
│ ├── kew@0.7.0
│ ├── progress@1.1.8
│ ├─┬ request@2.67.0
│ │ ├── aws-sign2@0.6.0
│ │ ├── bl@1.0.3
│ │ ├── caseless@0.11.0
│ │ ├─┬ combined-stream@1.0.5
│ │ │ └── delayed-stream@1.0.0
│ │ ├── forever-agent@0.6.1
│ │ ├─┬ form-data@1.0.0-rc4
│ │ │ └── async@1.5.2
│ │ ├─┬ har-validator@2.0.6
│ │ │ ├─┬ commander@2.9.0
│ │ │ │ └── graceful-readlink@1.0.1
│ │ │ └─┬ is-my-json-valid@2.13.1
│ │ │   ├── generate-function@2.0.0
│ │ │   ├─┬ generate-object-property@1.2.0
│ │ │   │ └── is-property@1.0.2
│ │ │   ├── jsonpointer@2.0.0
│ │ │   └── xtend@4.0.1
│ │ ├─┬ hawk@3.1.3
│ │ │ ├── boom@2.10.1
│ │ │ ├── cryptiles@2.0.5
│ │ │ ├── hoek@2.16.3
│ │ │ └── sntp@1.0.9
│ │ ├─┬ http-signature@1.1.1
│ │ │ ├── assert-plus@0.2.0
│ │ │ ├─┬ jsprim@1.2.2
│ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ ├── json-schema@0.2.2
│ │ │ │ └── verror@1.3.6
│ │ │ └─┬ sshpk@1.7.4
│ │ │   ├── asn1@0.2.3
│ │ │   ├─┬ dashdash@1.13.0
│ │ │   │ └── assert-plus@1.0.0
│ │ │   ├── ecc-jsbn@0.1.1
│ │ │   ├── jodid25519@1.0.2
│ │ │   ├── jsbn@0.1.0
│ │ │   └── tweetnacl@0.14.3
│ │ ├── is-typedarray@1.0.0
│ │ ├── isstream@0.1.2
│ │ ├── json-stringify-safe@5.0.1
│ │ ├─┬ mime-types@2.1.10
│ │ │ └── mime-db@1.22.0
│ │ ├── node-uuid@1.4.7
│ │ ├── oauth-sign@0.8.1
│ │ ├── qs@5.2.0
│ │ ├── stringstream@0.0.5
│ │ ├── tough-cookie@2.2.2
│ │ └── tunnel-agent@0.4.2
│ └─┬ request-progress@2.0.1
│   └── throttleit@1.0.0
├── shelljs@0.5.3
├── underscore@1.8.3
├── velocity-cli@0.4.3
├─┬ wallaby-webpack@0.0.10
│ ├── graceful-fs@3.0.8
│ └── minimatch@2.0.1
├─┬ webpack@1.12.14
│ ├── async@1.5.2
│ ├── clone@1.0.2
│ ├─┬ enhanced-resolve@0.9.1
│ │ └── memory-fs@0.2.0
│ ├── esprima@2.7.2
│ ├── interpret@0.6.6
│ ├─┬ memory-fs@0.3.0
│ │ ├─┬ errno@0.1.4
│ │ │ └── prr@0.0.0
│ │ └─┬ readable-stream@2.0.6
│ │   ├── isarray@1.0.0
│ │   ├── process-nextick-args@1.0.6
│ │   └── util-deprecate@1.0.2
│ ├─┬ node-libs-browser@0.5.3
│ │ ├── assert@1.3.0
│ │ ├─┬ browserify-zlib@0.1.4
│ │ │ └── pako@0.2.8
│ │ ├─┬ buffer@3.6.0
│ │ │ ├── base64-js@0.0.8
│ │ │ ├── ieee754@1.1.6
│ │ │ └── isarray@1.0.0
│ │ ├─┬ console-browserify@1.1.0
│ │ │ └── date-now@0.1.4
│ │ ├── constants-browserify@0.0.1
│ │ ├─┬ crypto-browserify@3.2.8
│ │ │ ├── pbkdf2-compat@2.0.1
│ │ │ ├── ripemd160@0.2.0
│ │ │ └── sha.js@2.2.6
│ │ ├── domain-browser@1.1.7
│ │ ├── events@1.1.0
│ │ ├─┬ http-browserify@1.7.0
│ │ │ └── Base64@0.2.1
│ │ ├── https-browserify@0.0.0
│ │ ├── os-browserify@0.1.2
│ │ ├── path-browserify@0.0.0
│ │ ├── process@0.11.2
│ │ ├── punycode@1.4.1
│ │ ├── querystring-es3@0.2.1
│ │ ├── readable-stream@1.1.13
│ │ ├─┬ stream-browserify@1.0.0
│ │ │ └── readable-stream@1.1.13
│ │ ├── string_decoder@0.10.31
│ │ ├── timers-browserify@1.4.2
│ │ ├── tty-browserify@0.0.0
│ │ ├─┬ url@0.10.3
│ │ │ ├── punycode@1.3.2
│ │ │ └── querystring@0.2.0
│ │ ├── util@0.10.3
│ │ └── vm-browserify@0.0.4
│ ├─┬ supports-color@3.1.2
│ │ └── has-flag@1.0.0
│ ├── tapable@0.1.10
│ ├─┬ uglify-js@2.6.2
│ │ ├── async@0.2.10
│ │ ├── uglify-to-browserify@1.0.2
│ │ └─┬ yargs@3.10.0
│ │   ├── camelcase@1.2.1
│ │   ├─┬ cliui@2.1.0
│ │   │ ├─┬ center-align@0.1.3
│ │   │ │ ├─┬ align-text@0.1.4
│ │   │ │ │ ├── longest@1.0.1
│ │   │ │ │ └── repeat-string@1.5.4
│ │   │ │ └── lazy-cache@1.0.3
│ │   │ ├── right-align@0.1.3
│ │   │ └── wordwrap@0.0.2
│ │   ├── decamelize@1.2.0
│ │   └── window-size@0.1.0
│ ├── watchpack@0.2.9
│ └─┬ webpack-core@0.6.8
│   ├── source-list-map@0.1.6
│   └── source-map@0.4.4
└── xolvio-jasmine-expect@1.0.0

3) npm start

$ npm start

> @ start C:\websites\automated-testing-best-practices
> .scripts/start.js

'.scripts' is not recognized as an internal or external command,
operable program or batch file.

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v5.4.0
npm ERR! npm  v3.3.12
npm ERR! code ELIFECYCLE
npm ERR! @ start: `.scripts/start.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ start script '.scripts/start.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the  package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     .scripts/start.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\websites\automated-testing-best-practices\npm-debug.log
tokn136 commented 8 years ago

Same problem on Windows 10 Pro, 64.bit

ghost commented 8 years ago

Yeah, some things are currently not made portable with Windows. E.g.:

tomRedox commented 8 years ago

Ah OK, so it sounds like things won't work with Windows for now without some work? I don't know enough to fix the issues you mention unfortunately, is it something you plan to look at?

In the short term it might be worth adding a line to the install section of the readme noting the instructions aren't for Windows.

ghost commented 8 years ago

Ah OK, so it sounds like things won't work with Windows for now without some work?

Yes. I currently don't have my Windows PC at hand, so I cannot test the fixes myself. But I will fix the portability issues that I know.

tomRedox commented 8 years ago

@samhatoum gave me some pointers and I managed to get the Wallaby test runner working in WebStorm on Windows using these steps:

Do the npm install Run meteor (needs to be running for Wallaby to work in this approach)

Create two wallaby profiles: 1) A client one using wallaby_client.js 2) A server one using 'wallaby_server.js' You can then run both of those simultaneously in WebStorm (just select them and run them)

You will then get errors for both the server and client

To fix the client: change line "NODE_ENV": process.env.NODE_ENV || "development" to "NODE_ENV": "development" in .\src\imports\testing\clientmeteor_runtime_config.js

To fix the server: Change runner: path.resolve(process.env.HOME, '.nvm/v0.10.40/bin/node' to runner: path.resolve("C:\\Program Files (x86)\\nodejs\\node.exe") (or the path to any other 4.x version of Node you have installed on your machine) in .\automated-testing-best-practices\wallaby_server.js:276:20`.

I know have 23 tests passing in both the server and the client. Hope that's useful to others too.

rune-bk commented 8 years ago

Commits 37b1d2f9fffa472e6e8aa2563c2e01c0766ac2b2 and 84c1ce900e29c002479055f65dc4828c0df83d21 seem to fix the latest issues you mentioned here @tomRedox Perhaps mark this as closed @Sanjo?

But add a brief Windows-paragraph on the whole setup process described above without the file fixes.

<- Also a windows user anxious to make use of Wallaby!