Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    watchify-serverpublic

    watchify-server

    stable

    This is a bare-bones development server for watchify. For a more feature-rich development server built on the same underlying modules, see budo.

    Features at a glance:

    • serves a default HTML index
    • browserifies your entry file with incremental rebuilding
    • serves your static files on port 9966 or the next available port
    • suspends server response until the build is finished, so you are never served a stale or empty bundle
    • logs build timing to stdout with ndjson
    • build errors will be printed to the browser console by default

    Install

    npm install watchify-server [-g|--save]

    Example

    Example with CLI:

    watchify-server index.js --port 8000 --dir public/

    It might look like this with npm scripts and garnish for pretty-printing:

      "devDependencies": {
        "watchify-server": "^1.0.0",
        "garnish": "^2.3.0"
      },
      "scripts": {
        "start": "watchify-server src/app.js --port 8000 --dir public | garnish"
      }

    Usage

    NPM

    Typically this module is used via a CLI, but it also exposes a simple JavaScript API.

    CLI

    Usage:
      watchify-server entry.js [options] -- [browserify]
     
    Options:
      --port, -p          port to listen on, default 9966
      --host, -h          host to listen on, default localhost
      --dir, -d           directory for static content, default process.cwd()
      --no-debug          turns off source maps
      --no-error-handler  turns off syntax error handling
      --index             optional file path to override default index.html
      --title             title of HTML index
      --css, -s           optional style sheet href, relative to --dir

    Browserify options are passed after the -- full stop.

    The --title and --css arguments are only applicable to the default index.html handler.

    API

    Note: The API does not set any default config on the browserify instance, so it is up to the developer to set debug, packageCache, and cache.

    server = watchifyServer(browserify, opt, [cb])

    Creates a new watchify server that wraps the specified browserify instance. Options:

    • entry (required) the path to the entry file to browserify
    • silent set to true to disable logs

    Other options are passed to watchify-middleware and serves, but defaults port to 9966 and errorHandler to true.

    The returned server emits 'update' events from watchify-middleware.

    The callback takes the form callback(err, ev) with the following event parameters when the server starts listening:

    {
      url: String  // 'http://localhost:8080/
      port: Number // 8080 
      host: String // 'localhost' 
    }

    server = watchifyServer.fromArgs(browserifyArgs, [opt], [cb])

    Creates a new watchify server from the given command-line browserify args array, with optional opt overrides and a callback.

    The entry is resolved by browserify arg parsing, so opt is optional and cb can be passed as the second parameter.

    See Also

    • budo - a more feature-rich development server (live reload, browser launching, better error reporting, etc)
    • watchify-middleware - the underlying middleware for pending server requests
    • serves - the underlying server utility for this tool
    • simple-html-index - the default HTML index used in this tool
    • inject-lr-script - may be useful for injecting LiveReload into the index handler

    License

    MIT, see LICENSE.md for details.

    install

    npm i watchify-server

    Downloadsweekly downloads

    12

    version

    1.0.2

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar