mithril-starter-rollup
mithril-starter-rollup copied to clipboard
Mithril Starter Project with Rollup, Babel, LiveReload, Jest and ESLint
mithril-starter-rollup
Project setup with:
- Mithril 2.x
- Rollup for optimized module bundles
- Babel for transpiling es2015 to es5
A couple of styles are included using Tachyon, but these can simply be replaced with your own CSS solution.
Setup
Install dependencies
npm install
Build and watch
Script commands defined in package.json:
build: creates a minified bundle indist/js/serve: serves the build directory at localhost:5000dev: starts a local webserver; creates a bundle indist/js/that is being updated with each code change; calls LiveReload to refresh the browser after code changes are built
Call npm run dev and open a web page at localhost:3000. The port number is set by environment variable PORT in package.json.
When making changes, the terminal will show lint errors, if any.
Configuration files
scripts contains a couple of Rollup configuration files. The scripts use rollup.base.js as base configuration.
FYI, the base configuration:
- Exports
createConfig({ includeDepencies }) - Reads
package.jsonto read package dependencies. IfincludeDepenciesistrue, it will include those dependencies in the build file - Creates global package names; and sets global
mfor package "mithril".
Bundler configuration
rollup.es.js: Builds an ES2015 module with syntax features that node supportsrollup.umd.js: Builds a UMD bundlerollup.watch.js: Builds a UMD bundle that is updated with each file change
Optional environment variables:
DEPS(Number 0 or 1): include dependenciesWATCH_DIR(String): sets the watch directory when running thedevscriptPORT(Number): sets the http server port when running thedevscript
Other configuration file:
.babelrc: Babel configuration
License
MIT