* change link to go to ospec instead of mocha
Updated link regarding [issue 2575](https://github.com/MithrilJS/mithril.js/issues/2575)
* Update docs/testing.md
Co-authored-by: Isiah Meadows <contact@isiahmeadows.com>
### Pimp the docs linter (and assorted changes)
#### `scripts/lint-docs.js`
- Add an optional cache for faster runs
- Add a final report
- Don't return anything from `exec()`
- Cover more files
#### `scripts/_command.js`
- Look for a "--cache" option
#### `package.json` scripts
- Added `watch:lint-docs`
- Added `cleanup:lint` to remove the eslint and lint-docs cache files
- Changed `lint:docs` to use the `--cache` option
- Added `test:js` so that we can run the test suite without the linter
- Changed `test` to defer to `test:js`
#### Actual lint fixes:
- Bad link in a migration guide
- The unicode dashes in the "https://en.wikipedia.org/wiki/Subject–verb–object" are not escaped by marked
### Some more lint-docs pimping
#### `scripts/lint-docs.js`
- some code reorg and cleanup (take a hint from the local coding conventions)
- fix misc bugs
- pass a User-Agent header to the requests
- even nicer reporting
#### `package.json`
- bump the @babel/parser dep to the latest
#### Docs
- tweaks based on lints missed due to previous bugs
### Docs: use the github page for velocity.js, the home page has too many errors.
Co-Authored-By: Isiah Meadows <contact@isiahmeadows.com>
* Recast key docs to be much clearer and more accurate [skip ci]
Also, fix a couple broken hash links I noticed while making this.
* Ensure `diff` blocks are highlighted correctly
* Minify stream, add stream stuff to releases again
* Kill off a lot of tech debt, drop internal utilities from npm
1. Kill `module/`, internalize `bundler/`, privatize `test-utils/`
We've been telling people to move elsewhere from these for a while, and
it's about time we just pull the plug here and finally remove them.
- We officially removed the bundler from the public API in v2.0, and
that was the only one of these that was ever publicly documented.
Usage should be low enough by now it shouldn't break anyone- I'm not
seeing bundler bugs being reported anymore, either.
- The `module/` utility was so narrow and caveat-filled that I'm not
sure anyone really used it (even us core Mithril devs never really
used it), and we only had it documented in the repo folder it lived
in. I think only one bug was ever filed, and it's because it somehow
ended up completely non-functional without any of us realizing it.
- The test utilities were meant to be internal from day 1, but people
started using it despite us core developers constantly telling people
to look elsewhere and even the docs recommending specific alternatives
without mention of our internal mocks. (Now if people would RTFM,
that'd be nice...)
2. Add dedicated HTML test files to verify ospec and the promise
polyfill, and ensure the promise tests are in pure ES5.
These are made specially for those and should be much easier to just run
now.
3. Fix the benchmark script to use the real DOM in browsers and to not
require as many dependencies to create. Also, tweak them to be much
more effective and precise on what's being tested.
Previously, it was rendering to the HTML file itself, while now it's
rendering to the `body`. This means in browsers, it's triggering layout
and everything, benchmarking how well Mithril optimizes for style and
layout recalcs, too. It also puts some pressure on the hyperscript
parser attribute application, so that can be noticed as well.
* Update dependencies
Also, I normalized them to all be sentences for consistency, and I moved
the reentrancy check from `m.mount` to `m.render` to be a little more
helpful. The router change during mounting is inconsequential and only
to avoid the new modified error, and the change to the update loop is to
send the original error if an error occurred while initializing the
default route. (This is all around more useful anyways.)
And while I was at it, I fixed an obscure bug with sync redraws.
* Fix assertion descriptions
Move return statement to the end of define()
* ospec: Fix assertion definitions
* Fix typo in assertion
* Add test for descriptions being returned on fail
* Reference result instead of self in returned description method
* Fix style errors
- Correct docs generation to always fetch its dependency
- Don't try to close a handle that's already been closed by other methods
- Allow the release script to actually be testable.
* Actually return the check from `maybeSetContentEditable`
Lots of code paths relied on it being a boolean. When I created the
abstraction, I apparently forgot to make sure it returned the result.
* Don't forget to copy instance state over
* Update changelog [skip ci]
* Fix changelog issue [skip ci]