zinserjan / mocha-webpack

mocha test runner with integrated webpack precompiler
http://zinserjan.github.io/mocha-webpack/
MIT License
486 stars 75 forks source link

`--watch` works, otherwise crash on `import` token #7

Closed haf closed 8 years ago

haf commented 8 years ago
screen shot 2016-04-26 at 11 12 51

The right hand side runs all tests successfully. The left not so.

Repro: https://github.com/logary/logary-js/commit/5e2db69163d19fd794eda71545c37f3b2bfe1235

npm install && npm build && npm run test versus npm install && npm build && npm run test:watch.

Misc

Log:

> logary@1.0.0 test /Users/h/dev/haf/logary-js
> NODE_ENV=dev mocha-webpack --webpack-config webpack-test.config.js --colors --require source-map-support/register ./test/unit/*.js

SyntaxError: Unexpected token import
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at /Users/h/dev/haf/logary-js/node_modules/mocha-webpack/lib/cli/index.js:42:3
    at Array.forEach (native)
    at Object.<anonymous> (/Users/h/dev/haf/logary-js/node_modules/mocha-webpack/lib/cli/index.js:41:17)

webpack-test.config.js:

var path = require("path"),
    webpack = require("webpack"),
    loaders = require('./webpack-loaders');

var createConfig = function(version) {
  return {
    cache: true,
    devtool: 'inline-source-map',
    output: {
      devtoolModuleFilenameTemplate: '[absolute-resource-path]',
      devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]',
      libraryTarget: "umd",
      library: "logary"
    },
    module: {
      loaders: loaders
    },
    resolve: {
      extensions: ['', '.js']
    }
  }
};

module.exports = createConfig('1.0.0');

Versions

logary@1.0.0 /Users/h/dev/haf/logary-js
├─┬ babel-core@6.7.7
│ ├─┬ babel-code-frame@6.7.7
│ │ └── js-tokens@1.0.3
│ ├─┬ babel-generator@6.7.7
│ │ ├─┬ detect-indent@3.0.1
│ │ │ ├── get-stdin@4.0.1
│ │ │ └── minimist@1.2.0
│ │ ├─┬ is-integer@1.0.6
│ │ │ └─┬ is-finite@1.0.1
│ │ │   └── number-is-nan@1.0.0
│ │ ├── repeating@1.1.3
│ │ └── trim-right@1.0.1
│ ├── babel-helpers@6.6.0
│ ├── babel-messages@6.7.2
│ ├─┬ babel-register@6.7.2
│ │ ├── core-js@2.3.0
│ │ ├─┬ 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
│ ├─┬ babel-runtime@5.8.38
│ │ └── core-js@1.2.6
│ ├── babel-template@6.7.0
│ ├─┬ babel-traverse@6.7.6
│ │ └── globals@8.18.0
│ ├─┬ babel-types@6.7.7
│ │ └── 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.5
├─┬ babel-eslint@6.0.4
│ ├─┬ lodash.assign@4.0.8
│ │ ├── lodash.keys@4.0.6
│ │ └── lodash.rest@4.0.2
│ └─┬ lodash.pickby@4.3.0
│   ├─┬ lodash._baseiteratee@4.6.1
│   │ └── lodash._stringtopath@4.7.1
│   └── lodash.keysin@4.1.3
├─┬ babel-loader@6.2.4
│ ├─┬ loader-utils@0.2.14
│ │ ├── big.js@3.1.3
│ │ ├── emojis-list@1.0.1
│ │ └── json5@0.5.0
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ └── object-assign@4.0.1
├── babel-plugin-syntax-flow@6.5.0
├── babel-plugin-transform-flow-strip-types@6.7.0
├── babel-plugin-typecheck@3.8.0
├─┬ babel-preset-es2015@6.6.0
│ ├── babel-plugin-check-es2015-constants@6.7.2
│ ├── babel-plugin-transform-es2015-arrow-functions@6.7.7
│ ├── 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.7.7
│ │ ├── 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-modules-commonjs@6.7.7
│ │ └── babel-plugin-transform-strict-mode@6.6.5
│ ├── 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-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
├─┬ chai@3.5.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.3.0
├─┬ eslint@2.8.0
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├── has-ansi@2.0.0
│ │ └── supports-color@2.0.0
│ ├─┬ concat-stream@1.5.1
│ │ ├── inherits@2.0.1
│ │ ├─┬ readable-stream@2.0.6
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── process-nextick-args@1.0.6
│ │ │ └── util-deprecate@1.0.2
│ │ └── typedarray@0.0.6
│ ├─┬ doctrine@1.2.1
│ │ ├── esutils@1.1.6
│ │ └── isarray@1.0.0
│ ├─┬ es6-map@0.1.3
│ │ ├── d@0.1.1
│ │ ├── es5-ext@0.10.11
│ │ ├── es6-iterator@2.0.0
│ │ ├── es6-set@0.1.4
│ │ ├── es6-symbol@3.0.2
│ │ └── event-emitter@0.3.4
│ ├─┬ escope@3.6.0
│ │ ├── es6-weak-map@2.0.1
│ │ └─┬ esrecurse@4.1.0
│ │   └── estraverse@4.1.1
│ ├─┬ espree@3.1.3
│ │ └─┬ acorn-jsx@2.0.1
│ │   └── acorn@2.7.0
│ ├── estraverse@4.2.0
│ ├── esutils@2.0.2
│ ├─┬ file-entry-cache@1.2.4
│ │ └─┬ flat-cache@1.0.10
│ │   ├─┬ del@2.2.0
│ │   │ ├─┬ globby@4.0.0
│ │   │ │ ├─┬ array-union@1.0.1
│ │   │ │ │ └── array-uniq@1.0.2
│ │   │ │ └── glob@6.0.4
│ │   │ ├── is-path-cwd@1.0.0
│ │   │ ├─┬ is-path-in-cwd@1.0.0
│ │   │ │ └── is-path-inside@1.0.0
│ │   │ ├── pify@2.3.0
│ │   │ └─┬ pinkie-promise@2.0.1
│ │   │   └── pinkie@2.0.4
│ │   ├── read-json-sync@1.1.1
│ │   └── write@0.2.1
│ ├─┬ glob@7.0.3
│ │ ├─┬ inflight@1.0.4
│ │ │ └── wrappy@1.0.1
│ │ └── once@1.3.3
│ ├── globals@9.5.0
│ ├── ignore@3.1.1
│ ├── imurmurhash@0.1.4
│ ├─┬ inquirer@0.12.0
│ │ ├── ansi-escapes@1.4.0
│ │ ├── ansi-regex@2.0.0
│ │ ├─┬ cli-cursor@1.0.2
│ │ │ └─┬ restore-cursor@1.0.1
│ │ │   ├── exit-hook@1.1.1
│ │ │   └── onetime@1.1.0
│ │ ├── cli-width@2.1.0
│ │ ├── figures@1.5.0
│ │ ├── lodash@4.11.1
│ │ ├─┬ readline2@1.0.1
│ │ │ ├── code-point-at@1.0.0
│ │ │ ├── is-fullwidth-code-point@1.0.0
│ │ │ └── mute-stream@0.0.5
│ │ ├── run-async@0.1.0
│ │ ├── rx-lite@3.1.2
│ │ ├── string-width@1.0.1
│ │ └── through@2.3.8
│ ├─┬ 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
│ ├─┬ is-resolvable@1.0.0
│ │ └── tryit@1.0.2
│ ├─┬ js-yaml@3.6.0
│ │ ├─┬ argparse@1.0.7
│ │ │ └── sprintf-js@1.0.3
│ │ └── esprima@2.7.2
│ ├─┬ json-stable-stringify@1.0.1
│ │ └── jsonify@0.0.0
│ ├── lodash@4.11.1
│ ├─┬ optionator@0.8.1
│ │ ├── deep-is@0.1.3
│ │ ├── fast-levenshtein@1.1.3
│ │ ├── levn@0.3.0
│ │ ├── prelude-ls@1.1.2
│ │ ├── type-check@0.3.2
│ │ └── wordwrap@1.0.0
│ ├── path-is-inside@1.0.1
│ ├── pluralize@1.2.1
│ ├── progress@1.1.8
│ ├─┬ require-uncached@1.0.2
│ │ ├─┬ caller-path@0.1.0
│ │ │ └── callsites@0.2.0
│ │ └── resolve-from@1.0.1
│ ├── shelljs@0.6.0
│ ├── strip-json-comments@1.0.4
│ ├─┬ table@3.7.8
│ │ ├── bluebird@3.3.5
│ │ ├── lodash@4.11.1
│ │ ├── slice-ansi@0.0.4
│ │ ├── tv4@1.2.7
│ │ └── xregexp@3.1.0
│ ├── text-table@0.2.0
│ └─┬ user-home@2.0.0
│   └── os-homedir@1.0.1
├── eslint-loader@1.3.0
├── jssha@2.0.2
├─┬ 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
│ │ ├── async-each@1.0.0
│ │ ├─┬ fsevents@1.0.11
│ │ │ ├── nan@2.2.1
│ │ │ └─┬ node-pre-gyp@0.6.25
│ │ │   ├─┬ mkdirp@0.5.1
│ │ │   │ └── minimist@0.0.8
│ │ │   ├─┬ nopt@3.0.6
│ │ │   │ └── abbrev@1.0.7
│ │ │   ├─┬ npmlog@2.0.3
│ │ │   │ ├── ansi@0.3.1
│ │ │   │ ├─┬ are-we-there-yet@1.1.2
│ │ │   │ │ └── delegates@1.0.0
│ │ │   │ └─┬ gauge@1.2.7
│ │ │   │   ├── has-unicode@2.0.0
│ │ │   │   ├─┬ lodash.pad@4.1.0
│ │ │   │   │ ├── lodash.repeat@4.0.0
│ │ │   │   │ └── lodash.tostring@4.1.2
│ │ │   │   ├── lodash.padend@4.2.0
│ │ │   │   └── lodash.padstart@4.2.0
│ │ │   ├─┬ rc@1.1.6
│ │ │   │ ├── deep-extend@0.4.1
│ │ │   │ ├── ini@1.3.4
│ │ │   │ ├── minimist@1.2.0
│ │ │   │ └── strip-json-comments@1.0.4
│ │ │   ├─┬ request@2.69.0
│ │ │   │ ├── aws-sign2@0.6.0
│ │ │   │ ├─┬ aws4@1.3.2
│ │ │   │ │ └─┬ lru-cache@4.0.1
│ │ │   │ │   ├── pseudomap@1.0.2
│ │ │   │ │   └── yallist@2.0.0
│ │ │   │ ├── bl@1.0.3
│ │ │   │ ├── 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
│ │ │   │ │ ├─┬ 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
│ │ │   │ │ ├─┬ 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
│ │ │   │ │ └─┬ 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@6.0.2
│ │ │   │ ├── stringstream@0.0.5
│ │ │   │ ├── tough-cookie@2.2.2
│ │ │   │ └── tunnel-agent@0.4.2
│ │ │   ├─┬ rimraf@2.5.2
│ │ │   │ └─┬ glob@7.0.3
│ │ │   │   ├─┬ inflight@1.0.4
│ │ │   │   │ └── wrappy@1.0.1
│ │ │   │   ├── inherits@2.0.1
│ │ │   │   ├─┬ minimatch@3.0.0
│ │ │   │   │ └─┬ brace-expansion@1.1.3
│ │ │   │   │   ├── balanced-match@0.3.0
│ │ │   │   │   └── concat-map@0.0.1
│ │ │   │   ├─┬ once@1.3.3
│ │ │   │   │ └── wrappy@1.0.1
│ │ │   │   └── path-is-absolute@1.0.0
│ │ │   ├── semver@5.1.0
│ │ │   ├─┬ tar@2.2.1
│ │ │   │ ├── block-stream@0.0.8
│ │ │   │ ├─┬ fstream@1.0.8
│ │ │   │ │ └── graceful-fs@4.1.3
│ │ │   │ └── inherits@2.0.1
│ │ │   └─┬ tar-pack@3.1.3
│ │ │     ├─┬ debug@2.2.0
│ │ │     │ └── ms@0.7.1
│ │ │     ├─┬ fstream-ignore@1.0.3
│ │ │     │ └─┬ minimatch@3.0.0
│ │ │     │   └─┬ brace-expansion@1.1.3
│ │ │     │     ├── balanced-match@0.3.0
│ │ │     │     └── concat-map@0.0.1
│ │ │     ├─┬ once@1.3.3
│ │ │     │ └── wrappy@1.0.1
│ │ │     ├─┬ readable-stream@2.0.6
│ │ │     │ ├── core-util-is@1.0.2
│ │ │     │ ├── isarray@1.0.0
│ │ │     │ ├── process-nextick-args@1.0.6
│ │ │     │ ├── string_decoder@0.10.31
│ │ │     │ └── util-deprecate@1.0.2
│ │ │     └── uid-number@0.0.6
│ │ ├─┬ is-binary-path@1.0.1
│ │ │ └── binary-extensions@1.4.0
│ │ └── readdirp@2.0.0
│ ├── colors@1.1.2
│ ├─┬ connect@3.4.1
│ │ ├── finalhandler@0.4.1
│ │ ├── parseurl@1.3.1
│ │ └── utils-merge@1.0.0
│ ├── core-js@2.3.0
│ ├── 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
│ ├── 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.35
│ │ ├─┬ readable-stream@1.0.34
│ │ │ └── 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
│ ├─┬ 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
│ │ │ │ │ └── isarray@0.0.1
│ │ │ │ └── utf8@2.1.0
│ │ │ └─┬ ws@1.0.1
│ │ │   ├── options@0.0.6
│ │ │   └── ultron@1.0.2
│ │ ├─┬ has-binary@0.1.7
│ │ │ └── isarray@0.0.1
│ │ ├─┬ socket.io-adapter@0.4.0
│ │ │ └─┬ socket.io-parser@2.2.2
│ │ │   ├── debug@0.7.4
│ │ │   ├── isarray@0.0.1
│ │ │   └── 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
│ │   ├── isarray@0.0.1
│ │   └── json3@3.3.2
│ └─┬ useragent@2.1.9
│   └── lru-cache@2.2.4
├── karma-chai@0.1.0
├─┬ 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-fixture@0.2.6
├── karma-html2js-preprocessor@0.1.0
├── karma-jquery@0.1.0
├── karma-mocha@0.2.2
├── karma-sinon@1.0.4
├── karma-sourcemap-loader@0.3.7
├─┬ mocha@2.4.5
│ ├── 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
│ │   └── sigmund@1.0.1
│ ├── growl@1.8.1
│ ├─┬ jade@0.26.3
│ │ ├── commander@0.6.1
│ │ └── mkdirp@0.3.0
│ └── supports-color@1.2.0
├─┬ mocha-webpack@0.3.0
│ ├─┬ anymatch@1.3.0
│ │ ├── arrify@1.0.1
│ │ └─┬ micromatch@2.3.8
│ │   ├─┬ arr-diff@2.0.0
│ │   │ └── arr-flatten@1.0.1
│ │   ├─┬ braces@1.8.4
│ │   │ ├─┬ expand-range@1.8.1
│ │   │ │ └─┬ fill-range@2.2.3
│ │   │ │   ├── is-number@2.1.0
│ │   │ │   ├── isobject@2.1.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
│ │   ├─┬ kind-of@3.0.2
│ │   │ └── is-buffer@1.1.3
│ │   ├─┬ 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
│ ├─┬ fs-extra@0.26.7
│ │ ├── jsonfile@2.3.0
│ │ └── klaw@1.2.0
│ ├── glob-parent@2.0.0
│ ├─┬ invariant@2.2.1
│ │ └── loose-envify@1.1.0
│ ├─┬ is-glob@2.0.1
│ │ └── is-extglob@1.0.0
│ ├── lodash@4.11.1
│ ├── normalize-path@2.0.1
│ ├── object-hash@1.1.2
│ ├── webpack-info-plugin@0.1.0
│ ├─┬ webpack-sources@0.1.2
│ │ └── source-list-map@0.1.6
│ └─┬ yargs@3.32.0
│   ├── camelcase@2.1.1
│   ├─┬ cliui@3.2.0
│   │ └── wrap-ansi@2.0.0
│   ├── decamelize@1.2.0
│   ├─┬ os-locale@1.4.0
│   │ └─┬ lcid@1.0.0
│   │   └── invert-kv@1.0.0
│   ├── window-size@0.1.4
│   └── y18n@3.2.1
├─┬ sinon@1.17.3
│ ├── formatio@1.1.1
│ ├── lolex@1.3.2
│ ├── samsam@1.1.2
│ └── util@0.10.3
├── sinon-chai@2.8.0
├─┬ source-map-support@0.4.0
│ └─┬ source-map@0.1.32
│   └── amdefine@1.0.0
├─┬ stacktrace-js@1.1.1
│ ├─┬ error-stack-parser@1.3.5
│ │ └── stackframe@0.3.1
│ ├── stack-generator@1.0.7
│ └── stacktrace-gps@2.4.1
├─┬ string-replace-webpack-plugin@0.0.3
│ ├── async@0.2.10
│ ├─┬ css-loader@0.9.1
│ │ ├── csso@1.3.12
│ │ └── source-map@0.1.43
│ ├── file-loader@0.8.5
│ └── style-loader@0.8.3
├─┬ webpack@1.13.0
│ ├── acorn@3.1.0
│ ├── async@1.5.2
│ ├── clone@1.0.2
│ ├─┬ enhanced-resolve@0.9.1
│ │ └── memory-fs@0.2.0
│ ├── interpret@0.6.6
│ ├─┬ memory-fs@0.3.0
│ │ └─┬ errno@0.1.4
│ │   └── prr@0.0.0
│ ├─┬ 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
│ │ ├─┬ 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.14
│ │ │ └── isarray@0.0.1
│ │ ├─┬ stream-browserify@1.0.0
│ │ │ └─┬ readable-stream@1.1.14
│ │ │   └── isarray@0.0.1
│ │ ├── 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
│ │ └── vm-browserify@0.0.4
│ ├─┬ supports-color@3.1.2
│ │ └── has-flag@1.0.0
│ ├── tapable@0.1.10
│ ├─┬ uglify-js@2.6.2
│ │ ├── 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
│ │   │ │ └── lazy-cache@1.0.4
│ │   │ ├── right-align@0.1.3
│ │   │ └── wordwrap@0.0.2
│ │   └── window-size@0.1.0
│ ├─┬ watchpack@0.2.9
│ │ └── async@0.9.2
│ └─┬ webpack-core@0.6.8
│   └── source-map@0.4.4
└─┬ webpack-dev-server@1.14.1
  ├─┬ compression@1.6.1
  │ ├─┬ accepts@1.3.2
  │ │ └── negotiator@0.6.0
  │ ├─┬ compressible@2.0.7
  │ │ └── mime-db@1.22.0
  │ ├── on-headers@1.0.1
  │ └── vary@1.1.0
  ├── connect-history-api-fallback@1.1.0
  ├─┬ express@4.13.4
  │ ├─┬ accepts@1.2.13
  │ │ └── negotiator@0.5.3
  │ ├── array-flatten@1.1.1
  │ ├── content-disposition@0.5.1
  │ ├── cookie@0.1.5
  │ ├── cookie-signature@1.0.6
  │ ├── escape-html@1.0.3
  │ ├── etag@1.7.0
  │ ├── fresh@0.3.0
  │ ├── merge-descriptors@1.0.1
  │ ├── methods@1.1.2
  │ ├── path-to-regexp@0.1.7
  │ ├─┬ proxy-addr@1.0.10
  │ │ ├── forwarded@0.1.0
  │ │ └── ipaddr.js@1.0.5
  │ ├── qs@4.0.0
  │ ├── range-parser@1.0.3
  │ ├─┬ send@0.13.1
  │ │ ├── destroy@1.0.4
  │ │ └── http-errors@1.3.1
  │ ├── serve-static@1.10.2
  │ └── vary@1.0.1
  ├─┬ serve-index@1.7.3
  │ ├─┬ accepts@1.2.13
  │ │ └── negotiator@0.5.3
  │ ├── http-errors@1.3.1
  │ └── mime-types@2.1.10
  ├─┬ sockjs@0.3.16
  │ ├─┬ faye-websocket@0.10.0
  │ │ └─┬ websocket-driver@0.6.4
  │ │   └── websocket-extensions@0.1.1
  │ └── node-uuid@1.4.7
  ├─┬ sockjs-client@1.0.3
  │ ├─┬ eventsource@0.1.6
  │ │ └─┬ original@1.0.0
  │ │   └── url-parse@1.0.5
  │ ├── faye-websocket@0.7.3
  │ ├── json3@3.3.2
  │ └─┬ url-parse@1.1.1
  │   └── querystringify@0.0.3
  ├── stream-cache@0.0.2
  ├── strip-ansi@3.0.1
  ├── supports-color@3.1.2
  └── webpack-dev-middleware@1.6.1
zinserjan commented 8 years ago

Damn, that was a tricky one.

npm run test

NODE_ENV=dev mocha-webpack --webpack-config webpack-test.config.js --colors --require source-map-support/register ./test/unit/*.js

npm run test:watch

NODE_ENV=dev mocha-webpack --webpack-config webpack-test.config.js --colors --require source-map-support/register --watch ./test/unit/*.js

The difference between this two calls is the --watch option. npm run test fails cause of the --require argument before the test entry. The cli arguments parser marks the test entry as a second file for the require option.

I'll try to fix this soon. As a workaround change the order of arguments:

mocha-webpack [entry] [options]
NODE_ENV=dev mocha-webpack ./test/unit/*.js --webpack-config webpack-test.config.js --colors --require source-map-support/register
haf commented 8 years ago

@zinserjan Excellent finding. Nice work!

zinserjan commented 8 years ago

Fixed & released in 0.3.1.

mindjuice commented 8 years ago

I was getting the same error if I put the --watch before my --webpack-config option.

If I move the --watch after, it works properly.