https://github.com/donejs/done-serve
DoneJS development server
https://github.com/donejs/done-serve
Last synced: about 1 month ago
JSON representation
DoneJS development server
- Host: GitHub
- URL: https://github.com/donejs/done-serve
- Owner: donejs
- License: mit
- Created: 2016-03-08T21:27:39.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-05-29T01:50:50.000Z (almost 5 years ago)
- Last Synced: 2025-03-29T01:34:46.417Z (about 2 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/done-serve
- Size: 256 KB
- Stars: 8
- Watchers: 8
- Forks: 5
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# done-serve
[](https://www.bitovi.com/community/slack?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://forums.bitovi.com/?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://github.com/donejs/done-serve/blob/master/LICENSE.md)
[](http://badge.fury.io/js/done-serve)
[](https://travis-ci.org/donejs/done-serve)
[](https://greenkeeper.io/)A simple development server for DoneJS projects.
- [Install](#install)
- [Usage](#usage)
- [Options](#options)
-[-p, --port](#-p---port)
-[-r, --proxy](#-r---proxy)
-[-t, --proxy-to](#-t---proxy-to)
-[--proxy-no-cert-check](#--proxy-no-cert-check)
-[-d, --develop](#-d---develop)
-[-l, --no-live-reload](#-l---no-live-reload)
-[--live-reload-port](#--live-reload-port)
-[-s, --static](#-s--static)
-[--error-page](#--error-page)
-[--timeout](#--timeout)
-[--debug](#--debug)
-[--key](#--key)
-[--cert](#--cert)
-[--strategy](#--strategy)
## Install
```
npm install done-serve
```## Usage
```
node_modules/.bin/done-serve [path] [options]
````[path]` is the root directory. Defaults to the current working directory.
To start a full server that hosts your application from the `./dist` directory on port `3030` run:
```
node_modules/.bin/done-serve dist --port 3030
```## Options
The following `[options]` can be specified from the command line:
### -p, --port
Specify the **port** the server should run on. If unspecified this port will be one of:
* the `PORT` environment variable
* `3030`### -r, --proxy
Proxy a local path (default: `/api`) to the given URL (e.g. `http://api.myapp.com`).
### -t, --proxy-to
Set the proxy endpoint (default: `/api`).
### --proxy-no-cert-check
Turn off SSL certificate verification.
### -d, --develop
Start a [live-reload](http://stealjs.com/docs/steal.live-reload.html) server so any code changes will be reflected immediately.
### -l, --no-live-reload
Disable [live-reload](http://stealjs.com/docs/steal.live-reload.html) when used with the `--develop` option.
### --live-reload-port
Specify the port (a `Number`) to use for live-reload. The default port is specified in the [LiveReloadOptions](https://stealjs.com/docs/steal.live-reload.options.html) documentation.
### -s, --static
Only serve static files, do not perform server-side rendering. Notably this is useful when debugging an issue in the app.
### --error-page
With the `--static` flag set, set an HTML page that should be sent instead of the normal error page. This is useful when you want to use Pushstate without server side rendering.
### --auth-cookie
Specifies the name of a cookie that [done-ssr](https://github.com/donejs/done-ssr#options) will use to enable JavaScript Web Token (JWT) auth.
### --auth-domains
A comma-separated string of domain names that are authorized to receive the JWT token. Required if `--auth-cookie` is used.
### --timeout
Specify a timeout for server rendering. If the timeout is exceeded the server will return whatever has been rendered up until that point. (default: `5000`)
### --debug
Enable debug information in case of a timeout. The debug information will be appended to the document as a modal window and provides stack traces. Only use this flag during development.
### --key, --cert
Provide SSL key and certificate files. When providing these options both HTTP and HTTP2 servers will be set up, with automatic forwarding.
```shell
done-serve --static --key ~/.localhost-ssl/private.pem --cert ~/.localhost-ssl/cert.pem
```### --strategy
Provides which rendering strategy to use. By default done-ssr waits for all asynchronous tasks to complete before serializing HTML and returning that to the browser. The options are:
* **safe**: The default strategy as described above.
* **incremental**: This rendering strategy prioritizes returning HTML to the browser sooner. Along with the HTML a shim is sent that communicates with the server to receive rendering instructions. This allows a faster rendering experience in browsers that support HTTP2. This strategy will silently fall back to the **safe** strategy if HTTP2 is not supported. Using this option requires also providing **--key** and **--cert** flags, as HTTP2 requires SSL.## Usage in Node
You can also use the server, with the same options, from JavaScript:
```js
var server = require("done-serve");server({
path: "path/to/dir"
});
```## Changelog
See the [latest releases on GitHub](https://github.com/donejs/done-serve/releases).
## Contributing
The [DoneJS contribution guide](https://donejs.com/contributing.html) has information on getting help, reporting bugs, developing locally, and more.
## License
[MIT](https://github.com/donejs/done-serve/blob/master/LICENSE.md)