Mithril Starter Kit

November 11, 2019 · View on GitHub

A boilerplate Mithril application using ES6, Babel, Webpack 4, Sass/SCSS, Webpack dev server hot reload and eslint

How to use

By using degit

npx degit dhinesh03/mithril-starter-kit mithril-starter-kit
or
git clone https://github.com/dhinesh03/mithril-starter-kit

or Download the source

cd mithril-starter-kit

npm install

npm start
  # Webpack dev server will run and opens the app on the browser with HRM,
npm run build
  # Compiles the app for production and all compiled files lies on dist dir.
  # To deploy an the application simply transfer the dist to a web server's public directory.
npm run build:analyze
  # Compiles the app for production and we will have a report and stats for the bundle on dist folder.

Directory Structure:

├── dist/                         # Compiled application
     ├── css/
     ├── *.css
     └── *.css.map
     ├── fonts/
     ├── images/
     ├── js/
     ├── *.js
     └── *.js.map
     └── index.html

├── src/                          # Application source files 

     ├── images/                 # Image files that are copied to build production output (e.g. favicon.ico)

     ├── view/                   # All your application view logic files

     ├── components/             # All your view components

     ├── your-component/       # A single view component
     ├── index.js            # The view component code
     ├── styles.scss         # The view component styles
     └── ...  
     └── ...

     ├── pages/                   # All your top level page components
     ├── your-pages.js      
     └── ...

     └── routes.js               # Application routing definition

     ├── index.html              # Application HTML template
     └── index.js                # Application entry point
   
├── eslintrc.js                   # ESLint configuration
├── package.json                  # NPM configuration and scripts
├── config/environment/env.*      # Holding environment variables 
└── config/webpack.*.js           # Webpack configuration