Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kt3k/vinyl-serve
Serves the vinyl stream directly
https://github.com/kt3k/vinyl-serve
dev-server gulp stream vinyl
Last synced: 20 days ago
JSON representation
Serves the vinyl stream directly
- Host: GitHub
- URL: https://github.com/kt3k/vinyl-serve
- Owner: kt3k
- Created: 2015-12-26T08:07:30.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-11-22T08:39:24.000Z (12 months ago)
- Last Synced: 2024-05-01T22:59:26.026Z (7 months ago)
- Topics: dev-server, gulp, stream, vinyl
- Language: JavaScript
- Size: 1.54 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# vinyl-serve v3.0.0
> Serves the vinyl stream directly
[![Build Status](https://travis-ci.org/kt3k/vinyl-serve.svg?branch=master)](https://travis-ci.org/kt3k/vinyl-serve)
[![Build status](https://ci.appveyor.com/api/projects/status/e77cxvx09psna5mw?svg=true)](https://ci.appveyor.com/project/kt3k/vinyl-serve)
[![codecov.io](https://codecov.io/github/kt3k/vinyl-serve/coverage.svg?branch=master)](https://codecov.io/github/kt3k/vinyl-serve?branch=master)
[![Greenkeeper badge](https://badges.greenkeeper.io/kt3k/vinyl-serve.svg)](https://greenkeeper.io/)# Usage
```js
import gulp from 'gulp'
import vinylServe from 'vinyl-serve'
import someTransform from './somewhere'gulp.src('src/**/*.js')
.pipe(someTransform())
.pipe(vinylServe(7000))
```This starts the server at port 7000 and, for example, `localhost:7000/foo.js` responses the transformed contents of `src/foo.js`.
# Recipes
## Serve multiple source streams
```js
gulp.task('serve', function () {gulp.src('js/**/*.js')
.pipe(someTransform())
.pipe(vinylServe(7000))gulp.src('css/**/*.scss')
.pipe(anotherTransform())
.pipe(vinylServe(7000))gulp.src('html/**/*.html')
.pipe(vinylServe(7000))})
```## Modify the base path
```js
gulp.src('./js/**/*.js', {base: './'})
.pipe(someTransform())
.pipe(vinylServe(7000))
```With the above example, if you have `js/foo.js`, it's served at the path `/js/foo.js`, not `/foo.js`.
## Debug
At the address `__vinyl__`, you can see the debug page and find all the available paths in the server.
![screenshot](https://kt3k.github.io/vinyl-serve/assets/ss.png)
# API
```js
var vinylServe = require('vinyl-serve')
```## vinylServe(port)
param|type |description
-----|------|-----
port |number|The port number of the server (default: 7000)This returns stream processor which serves the contents at the given port.
## vinylServe.stop(port)
param|type |description
-----|------|-----
port |number|The port number of the server (default: 7000)This restarts the server at the given port number. Throws error if there is no server at the port.
## vinylServe.restart(port)
param|type |description
-----|------|-----
port |number|The port number of the server (default: 7000)This stops the server at the given port number. Throws error if there is no server at the port.
## vinylServe.isServerReady(port)
param | type | description
------|--------|-------------
port | number | The port number of the server (default: 7000)This returns a promise which resolves when the server of the given port is ready. Returns null when server does't exist.
# API for module developer
`vinyl-serve` has some more APIs which are maybe useful when someone wants to use this module as a part of another module.
## vinylServe.setDebugPageTitle(title)
- @param {String} title
This overrides the debug page title.
## vinylServe.setDebugPagePath(path)
- @param {String} path
This overrides the debug page path. The path have to start with '/'. (The default is `__vinyl__`.)
Example. `/__mytool__`
## vinylServe.setHandlerOfStarting(handler)
- @param {Function} handler
Sets the handler for the starting of the server. This handler is called when the server start listening. This handler is called with 2 parameters. The first one is the url of the root of the server and the second is the path of the debug page. ( e.g. `http://0.0.0.0:7000/` and `http://0.0.0.0:7000/__vinyl__` )
## vinylServe.setHandlerOfPortError(handler)
- @param {Function} handler
Sets the handler for the case of the port number error. This handler is called when the server's port is already in use. This handler is called with 1 parameter which is the port number of the server.
## vinylServe.addMiddleware(middleware)
- @param {Function} middlware The connect middleware
This adds the connect middleware to the server.
# Install
```
npm install vinyl-serve
```# License
MIT
# History
- 2018-06-09 v3.0.0 Add addMiddleware API.
- 2017-04-23 v2.7.0 Serve index.html.
- 2016-12-29 v2.6.1 Windows bug fix.
- 2016-12-29 v2.6.0 Update page design.
- 2016-12-29 v2.5.3 Windows bug fix.
- 2016-09-18 v2.4.0 Better mtime handling.
- 2016-04-17 v1.3.3 Fix bug of binary data handling.