Sensible webpack 5 boilerplate using Babel, PostCSS and Sass (update for GameSalad)
Download your GameSalad HTML5 package and place files as follows:
| GameSalad HTML5 | Tauri Project | Note |
|---|---|---|
| images | src/assets/images | Scene loading indicator image |
| js/gse/gs-export.js | public/js/gse/gs-export.js | Game Engine |
| game | public/game | Game Project. |
| css | src/assets/css | CSS. Optional since it doesn't change often and it's already included |
Place your custom logic in js/delegates.js To keep your final distribution small, comment out any delegates you don't need.
Delegate documentation goes here: https://help.gamesalad.com/knowledge-base/does-the-html5-engine-have-any-apis-i-can-interact-with/
Clone this repo and npm install.
npm inpm startYou can view the development server at localhost:8080.
npm run buildNote: Install http-server globally to deploy a simple server.
npm i -g http-serverYou can view the deploy by creating a server in dist.
cd dist && http-serverwebpack- Module and asset bundler.webpack-cli- Command line interface for webpackwebpack-dev-server- Development server for webpackwebpack-merge- Simplify development/production configurationcross-env- Cross platform configuration
@babel/core- Transpile ES6+ to backwards compatible JavaScript@babel/plugin-proposal-class-properties- Use properties directly on a class (an example Babel config)@babel/preset-env- Smart defaults for Babel
babel-loader- Transpile files with Babel and webpacksass-loader- Load SCSS and compile to CSSsass- Node Sass
postcss-loader- Process CSS with PostCSSpostcss-preset-env- Sensible defaults for PostCSS
css-loader- Resolve CSS importsstyle-loader- Inject CSS into the DOM
clean-webpack-plugin- Remove/clean build folderscopy-webpack-plugin- Copy files to build directoryhtml-webpack-plugin- Generate HTML files from templatemini-css-extract-plugin- Extract CSS into separate filescss-minimizer-webpack-plugin- Optimize and minimize CSS assets
eslint- Enforce styleguide across applicationeslint-config-prettier- Implement prettier rules-
prettier- Dependency forprettier-webpack-pluginplugin
-
eslint-import-resolver-webpack- Throw exceptions for import/export in webpack
This project is open source and available under the MIT License.