We no longer use it.
Nondeterministic tests are annoying and fuzzers are only useful for
detecting crashes, memory leaks, etc. You can't use them to detect
behavior correctness because that's what your actual code does.
(In other words, fuzzers are useful, but not as part of a regression
test suite.)
- Mocha's new major version fixes the persistent
deprecation warnings on usage of every `npm` command.
- MockFS is locked to 3.10.0 due to an issue affecting
its sandbox capabilities.
https://github.com/tschaub/mock-fs/issues/145
eslint's ignore system first gathers a list of all files, then
decides which ones should be ignored. The "gather a list of all
files" runs out of memory when used on the main server with its
100 million log files, even though the log directory is ignored.
So now we're only passing the files we want linted to eslint.
Hopefully they can fixeslint/eslint#5679 so we can just
`eslint .` again
- Eslint@3 brings some advanced static path analysis to the table.
- Latest version of Mocha doesn`t really bring anything outstanding,
but the caret should cover the next version, which will fix the
current subdep deprecation warnings on `npm install`.
- Mock-FS update brings support for fs.access and fs.accessSync,
which are the Node.js` blessed APIs to replace fs.exists.
An external dependency is kind of overkill when the only
implementation we need is three lines.
This also lets us write a more performant implementation that
omits the parts irrelevant to us.
Currently, only those features are allowed: let/const, classes, and
octal literals. More can be added when needed, as long main Showdown
server has a supporting Node.js's version.
This also accidentally fixes a bug which caused data files to not
be checked for `let`/`const` keyword existence, which would cause
a problem in a web browser.
JSHint's ES6 support is shaky, and its development has stalled as of late.
Since ESLint can do by itself both JSHint and JSCS' jobs, this commit replaces them.
Gulp and its related dependencies are also hereby removed.
PS now officially supports Node.js 4.x and later.
Unofficially, most versions of iojs are still supported, although
this will probably change as we start using more ES6 features.
- All dependencies are optional except for `sockjs` and `sugar`.
- Fixes global variable leaks in `cloud-env` and `node-static`.
- JSCS: remove (disabled) no longer existent rule: validateJSDoc.
- JSCS: remove `esnext` rule: ES6 is current.
This cache is quite awful (welcome to the world of Node.js, I guess),
but at least it works. It has few flaws, like not being able to GC
unused cache files. Still, has to work for now. Changes syntax test
times from 10 minutes on my very slow laptop to 0.6 seconds.
(I wonder how this will work with Travis...)
Later I will try to figure out why JSHint is so unbelievably slow.
- Remove `gulp-util`: it's not used and its installation is no longer recommended in Gulp's documentation.
- Next minor version for `gulp-jscs`. Next major for `jshint-stylish`.
- Streams are merged to make sure that all errors and warnings are reported.
- Adds dev dependencies: `merge-stream` and `lazypipe`.
- Tracks a fork of `gulp-jshint` to fix https://github.com/spalger/gulp-jshint/issues/88