├── .gitignore ├── src ├── app.imba └── app.scss ├── README.md ├── dist └── index.html ├── webpack.config.js └── package.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist/app.js 3 | dist/app.css 4 | -------------------------------------------------------------------------------- /src/app.imba: -------------------------------------------------------------------------------- 1 | tag App 2 | def render 3 | 4 |
5 | "Hello, world!" 6 | 7 | Imba.mount 8 | -------------------------------------------------------------------------------- /src/app.scss: -------------------------------------------------------------------------------- 1 | @import 'normalize-scss'; 2 | @include normalize(); 3 | 4 | .App { 5 | header { 6 | font-size: 64px; 7 | text-align: center; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # imba-boilerplate 2 | 3 | Webpack boilerplate for imba and sass, with CSS normalize preloaded. 4 | 5 | ## Install dependencies 6 | 7 | ``` 8 | npm install 9 | ``` 10 | 11 | ### Run in development mode 12 | 13 | ``` 14 | npm run dev 15 | ``` 16 | 17 | ### Build 18 | 19 | ``` 20 | npm run build 21 | ``` 22 | -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Hello World 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | let MiniCssExtractPlugin = require('mini-css-extract-plugin'); 2 | 3 | module.exports = { 4 | module: { 5 | rules: [ 6 | { 7 | test: /\.imba$/, 8 | loader: 'imba/loader', 9 | }, 10 | { 11 | test: /\.scss$/, 12 | use: [ 13 | MiniCssExtractPlugin.loader, 14 | "css-loader", 15 | "sass-loader", 16 | ] 17 | } 18 | ], 19 | }, 20 | resolve: { 21 | extensions: [".imba", ".js", ".json", ".scss"] 22 | }, 23 | entry: ["./src/app.imba", "./src/app.scss"], 24 | output: { path: __dirname + '/dist', filename: "app.js" }, 25 | plugins: [ 26 | new MiniCssExtractPlugin({filename: 'app.css'}) 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "imba-boilerplate", 3 | "description": "Boilerplate code for imba and sass", 4 | "keywords": [ 5 | "imba", 6 | "sass" 7 | ], 8 | "author": "Tomasz Wegrzanowski", 9 | "version": "1.0.0", 10 | "engines": { 11 | "node": ">=12.0.0" 12 | }, 13 | "scripts": { 14 | "dev": "webpack-dev-server --mode=development --host 0.0.0.0 --static dist/", 15 | "build": "webpack --mode=production", 16 | "watch": "webpack --watch --progress --colors --display-modules" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "git://github.com/taw/imba-boilerplate.git" 21 | }, 22 | "license": "MIT", 23 | "dependencies": { 24 | "css-loader": "^5.2.7", 25 | "gh-pages": "^4.0.0", 26 | "imba": "1.5.2", 27 | "mini-css-extract-plugin": "^1.6.2", 28 | "node-sass": "^8.0.0", 29 | "normalize-scss": "^7.0.1", 30 | "sass-loader": "^10.4.1", 31 | "webpack": "^4.46.0", 32 | "webpack-cli": "^4.10.0", 33 | "webpack-dev-server": "^4.11.1" 34 | } 35 | } 36 | --------------------------------------------------------------------------------