* Use consola on server error
* fix style
* ignore coverage
* use `consola.error(e)`
* formatting server error
* fix style
* offer a new port and listen
* fix style
* simplify return
* Revert "fix style"
This reverts commit 770347adb9.
* Revert "simplify return"
This reverts commit 26f2588b2f.
* simplified tests
* remove dependency `get-port`
* using port `0` to assign a random free port
* update `this.port` value with `address.port`
* For production, use `consola.fatal`
* pass options.dev from server to listener constructor
* add dev on constructor
* improve serverErrorHandler and close
* Update listener.js
* improve serverErrorHandler
* improve the way to handle listen errors
* fix missed line
* fully close old server before listening on a random port
* update listen.test
* feat: modern build
* refactor: use single module import for lodash
* refactor: add credit comment for modern plugin
* feat: ssr modern build
* fix: not null check for request
* fix: not null check for request.headers
* feat: add modern argument on build command
* refactor: simpilfy filenames for modern
* refactor: use packages/webpack src instead of dist in test
* test: add feature test for modern build
<!--- Provide a general summary of your changes in the title above -->
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (a non-breaking change which fixes an issue)
- [ ] New feature (a non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Description
<!--- Describe your changes in detail -->
<!--- Why is this change required? What problem does it solve? -->
<!--- If it resolves an open issue, please link to the issue here. For example "Resolves: #1337" -->
## Checklist:
<!--- Put an `x` in all the boxes that apply. -->
<!--- If your change requires a documentation PR, please link it appropriately -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly. (PR: #)
- [ ] I have added tests to cover my changes (if not applicable, please state why)
- [ ] All new and existing tests are passing.