Awesome
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.json
to read package dependencies. IfincludeDepencies
istrue
, it will include those dependencies in the build file - Creates global package names; and sets global
m
for 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 thedev
scriptPORT
(Number): sets the http server port when running thedev
script
Other configuration file:
.babelrc
: Babel configuration
License
MIT