### 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>
- Lot of people couldn't migrate to v1 and plan to reevaluate when v2 is
released.
- It's "npm" not "NPM". It doesn't stand for anything, and it never
has - it was initially chosen simply because it was easy to type.
It has a lot of unofficial backronyms with "Node Package Manager"
being one of the most common ones, but it's never officially stood
for anything as an acronym *or* initialism.
- Fixed a few errors in the change log, like non-breaking changes being
included in the "Breaking Changes" section and an inaccuracy in the
summary of a particular change.
- Fixed RawGit URLs to point to GitHack, which is a lighter proxy that
offloads caching to Cloudflare instead of also implementing it itself.
(It also just uses nginx for all the important server logic, so it
scales better.)
- Add a few more v0.2 references as appropriate
* ospec: all results, failing and passing, include .message and .context
Previously only failing tests had .message and .context.
* Updated docs
* Function was ugly
* Ospec verbose passing tests: put changelog update in right place
* Ospec: added assertion that function does/doesnt throw error
* Ospec.throws passes npm test
* Ospec.throws: Address requested changes
* Ospec: message comparison support for .throws/.notthrows
Credit to @maranomynet, #2227
* feat(ospec): Add spacing before report results
...sometimes tested code emits console.log() messages
which then blend in with ospec's report
* feat(ospec): Reword and prettify the report messages
* feat(ospec): Make console.errors more compact, yet more readable
* docs(ospec): Update change-log.md
* fix(ospec): Fix grammar when number of assertions is 1
* feat(ospec): Make "all passed" message bright green
* refactor(ospec): define `cStyle()` helper for browser styling
* feat(ospec): Use en-dashes for the horizontal divider
* feat(ospec): Revert stacktrace coloring, make context bright red
...and add extra newline above each error - for readability
in commandline (node.js) mode
* feat(ospec): Improve the only-test-passed message
"1 assertion passed" --> "The 1 assertion passed"
* docs: Update LOC count
* Allow requires before running tests
This enables requiring modules like `esm` before any test files are loaded.
* Update ospec documentation
Also add documentation for `--require` option
* Update ospec change-log.md
* [opsec] move the change log item to v2.0
* [ospec] tweak the docs
* feat(ospec): CLI support for file-patterns and an --ignore flag
The added dependency is only used by the node.js binary - which normally only ever installed via npm/yarn anyway.
This does not interfer with ospec proper being dependencyless.
* chore(mithril): Add glob dependency needed by the ospec binary
this is only needed while ospec is inlined in the
mithril repo. As soon as ospec is split away into a
standalone npm module, this will not be required anymore.
* refactor(ospec): Use 'match' events instead of callback
Performance should be similar, but the code looks
cleaner and easier to grok.
* Misc tweaks
Getting set up with ospec is deceptively simple, and adding just a bit
more documentation should help new users from falling into the trap of
overthinking the test config. (I know that I ended up down a very
strange rabbit hole when pulling ospec into a project).
This also adjusts the bin definition in the package file so that we can
hopefully just use the `ospec` command instead of a folder ref.