• Stars
    star
    248
  • Rank 163,560 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Serve your rolled up bundle like webpack-dev-server

Rollup plugin to serve the bundle

Software License Issues JavaScript Style Guide NPM Latest Version

Installation

npm install --save-dev rollup-plugin-serve

yarn add rollup-plugin-serve

Usage

// rollup.config.js
import serve from 'rollup-plugin-serve'

export default {
  input: 'src/main.js',
  output: {
    file: 'dist/bundle.js',
    format: ...
  },
  plugins: [
    serve('dist')
  ]
}

Options

By default it serves the current project folder. Change it by passing a string:

serve('public')    // will be used as contentBase

// Default options
serve({
  // Launch in browser (default: false)
  open: true,

  // Page to navigate to when opening the browser.
  // Will not do anything if open=false.
  // Remember to start with a slash.
  openPage: '/different/page',

  // Show server address in console (default: true)
  verbose: false,

  // Folder to serve files from
  contentBase: '',

  // Multiple folders to serve from
  contentBase: ['dist', 'static'],

  // Set to true to return index.html (200) instead of error page (404)
  historyApiFallback: false,

  // Path to fallback page
  historyApiFallback: '/200.html',

  // Options used in setting up server
  host: 'localhost',
  port: 10001,

  // By default server will be served over HTTP (https: false). It can optionally be served over HTTPS
  https: {
    key: fs.readFileSync('/path/to/server.key'),
    cert: fs.readFileSync('/path/to/server.crt'),
    ca: fs.readFileSync('/path/to/ca.pem')
  },

  //set headers
  headers: {
    'Access-Control-Allow-Origin': '*',
    foo: 'bar'
  },

  // set custom mime types, usage https://github.com/broofa/mime#mimedefinetypemap-force--false
  mimeTypes: {
    'application/javascript': ['js_commonjs-proxy']
  }

  // execute function after server has begun listening
  onListening: function (server) {
    const address = server.address()
    const host = address.address === '::' ? 'localhost' : address.address
    // by using a bound function, we can access options as `this`
    const protocol = this.https ? 'https' : 'http'
    console.log(`Server listening at ${protocol}://${host}:${address.port}/`)
  }
})

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Contributions and feedback are very welcome.

This project aims to stay lean and close to standards. New features should encourage to stick to standards. Options that match the behaviour of webpack-dev-server are always ok.

To get it running:

  1. Clone the project.
  2. npm install
  3. npm run build

Credits

License

The MIT License (MIT). Please see License File for more information.

More Repositories

1

vercel-sapper

Vercel builder for Sapper with SSR enabled
JavaScript
191
star
2

rollup-plugin-livereload

LiveReload your Rollup bundle!
TypeScript
158
star
3

rollup-plugin-scss

Rollup and compile multiple .scss, .sass and .css imports
TypeScript
134
star
4

rollup-plugin-css-only

Rollup plugin that bundles imported css
JavaScript
116
star
5

payload-plugin-oauth

Add oAuth sign in to your Payload CMS site
TypeScript
79
star
6

rollup-plugin-vue2

Rollup plugin for Vue 2.0 components with precompiled templates
JavaScript
61
star
7

pilon

Pilon, easy wifi hotspot for Raspberry Pi, pay with bitcoin
PHP
41
star
8

Airtable-to-Figma

Figma plugin to import Airtable data into Figma components
HTML
25
star
9

kirby-plugins

Plugins for Kirby CMS
PHP
20
star
10

vuejs-templates-rollup

Vue + Rollup + Buble + Livereload + dev-server + CSS extraction
JavaScript
19
star
11

svelte-number-gauge

JavaScript
9
star
12

payload-components

Some custom Payload components
TypeScript
8
star
13

payload-plugin-resolve-alias

Shorthand to add common webpack aliases
TypeScript
7
star
14

hivepanel

TypeScript
7
star
15

impostor.party

Web-based game inspired by Among Us
TypeScript
3
star
16

rollup-plugin-url-import

Resolve URL imports just like Deno
JavaScript
3
star
17

deno-rollup

Rollup CLI for deno
JavaScript
2
star
18

gitroom

Collaborate on a git branch by syncing your working directory
JavaScript
1
star
19

util

Stuff I often need.
JavaScript
1
star
20

gnss

Debug GNSS devices using WebSerial
TypeScript
1
star
21

wdcommunity-website

HTML
1
star
22

schemaorg-redesign

A responsive redesign & offline-first PWA of schema.org https://schemaorg-redesign.now.sh
HTML
1
star
23

heart-coherence-app

TypeScript
1
star
24

ethicsandsport.com

Static assets for ethicsandsport.com
HTML
1
star
25

hidden-territories

TypeScript
1
star
26

messenger-extension-tester

Debug & test Messenger Extensions locally
JavaScript
1
star
27

vue-year-calendar

Year calendar component for Vue 2
Vue
1
star
28

thehive.party

TypeScript
1
star
29

mindustry-webserver

Web interface for hosting a Mindustry server
TypeScript
1
star