Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/imyelo/grunt-wait-server
make grunt wait for a server start
https://github.com/imyelo/grunt-wait-server
grunt-plugins wait
Last synced: 3 months ago
JSON representation
make grunt wait for a server start
- Host: GitHub
- URL: https://github.com/imyelo/grunt-wait-server
- Owner: imyelo
- License: mit
- Created: 2013-12-14T10:01:07.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-08-15T13:32:31.000Z (over 6 years ago)
- Last Synced: 2024-10-10T14:11:15.233Z (3 months ago)
- Topics: grunt-plugins, wait
- Language: JavaScript
- Size: 16.6 KB
- Stars: 5
- Watchers: 3
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# grunt-wait-server
> make grunt wait for server start
[![NPM version](https://badge.fury.io/js/grunt-wait-server.png)](http://badge.fury.io/js/grunt-wait-server)
[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)## Getting Started
This plugin requires Grunt `~0.4.2`If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-wait-server --save-dev
```Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-wait-server');
```## The "waitServer" task
### Overview
In your project's Gruntfile, add a section named `waitServer` or `wait-server` to the data object passed into `grunt.initConfig()`.```js
grunt.initConfig({
waitServer: {
options: {
req: 'http://localhost:8080',
fail: function () {},
timeout: 10 * 1000,
isforce: false,
interval: 800,
print: true
},server: {
options: {
req: {
url: 'http://localhost:8080',
method: 'HEAD'
}
}
},remoteServer: {
options: {
req: 'http://example.com',
print: false
}
},db: {
options: {
net: {
port: 3306
},
timeout: 0
}
}
}
});
```### Options
#### options.req
Type: `string` or an options `object`
Default value: `undefined`
See [request#options](https://github.com/request/request#requestoptions-callback) for available options.#### options.net
Type: options `object`
Default value: `undefined`
See [net.connect#options](https://nodejs.org/api/net.html#net_net_connect_options_connectlistener) for available options.##### You must supply either `options.req` or `options.net`.
#### options.fail
Type: `function`
Default value: `function () {}`#### options.timeout
Type: `number`
Default value: `10 * 1000`
`0` disables the timeout, will wait forever.#### options.isforce
Type: `boolean`
Default value: `false`#### options.interval
Type: `number`
Default value: `800`#### options.print
Type: `boolean`
Default value: `true`When `options.isforce` is true,
the task will continue after `options.timeout`,
even if the `done` signal in `options.wait` never came.### Usage Examples
#### Default Options
In this example, the `waitServer` task will wait for the server start with the least options.```js
grunt.initConfig({
waitServer: {
server: {
options: {
req: 'http://localhost:8080'
}
},
},
});
```#### Custom Options
```js
grunt.initConfig({
waitServer: {
server: {
options: {
req: 'http://localhost:8080',
fail: function () {
console.error('the server had not start');
},
timeout: 20 * 1000,
isforce: true,
interval: 200,
print: false
}
}
},
});
```## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).## Release History
_(Nothing yet)_[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/imyelo/grunt-wait-server/trend.png)](https://bitdeli.com/free "Bitdeli Badge")