As described by #563:
> https://polyfill.io provides a fallback for browsers that don't support it, so for most people this will be a strict improvement.
`discify` is a different module than intended. discify is an alternative
to disc that works as a plugin, but we were using it as a separate
command line program. This switches it out for disc. The disc command
line program is called `discify` which is probably where the confusion
came from.
Also swapped out unassertify and uglifyify for tinyify, which adds tree
shaking.
Replaces #528. I was just going off the features listed in the readme. There are a handful more we should test but this is a start.
Note that this includes a readme change for `state.href` that I believe was incorrectly documented. Let me know if I got that wrong.
Also note that we should delete the original `v6-tests` branch once this is merged. Leaving it for now for reference.
* Add gitignore inside example/
`"example"` is in the `"files"` key in our package.json, which overrides
the root .gitignore and ends up including the entire examples folder,
including its dist/ and node_modules/. That means a fresh install of
choo comes in at over 100MB of unused code.
Nested .gitignores still apply to folders that are specified in the
`files` key, so this pushes choo back down to a <500KB installed size :)
The example code itself is still included so folks can use it as
offline documentation.
* also ignore package-lock.json
* Store mount selector and return `this`
This allows `.mount('body')` to be used on the server like so:
```js
module.exports = app.mount('body')
```
Then, when server rendering you can do:
```js
var app = require('./app')
fillServerTemplate(html, app.selector, app.toString('/'))
```
Where `fillServerTemplate` is a function that replaces the HTML at a
CSS selector with some string.
This way you do not need to check for `typeof window` in your
application entry point to do server rendering, and it allows tools like
bankai to automatically inline server rendered html in the correct place.
* docs
* better words