Purpose
The purpose of this project is to help make building JS13k projects easier for folks who are familiar with the JavaScript ecosystem but don't want to go through the hassle of setting up a JS13k-specific build environment. The bulk of this project is a Webpack config that does the following:
- Transpiles TypeScript (if any)
- Minifies the resulting JavaScript
- Inlines the JavaScript into an
index.html
file (in production) - Zips the
index.html
file - Checks that the zip file is under 13k
- Runs
webpack-bundle-analyzer
Requirements
The commands assume Yarn is installed.
Commands
yarn install
Installs dependencies.
yarn start
Starts webpack-dev-server at http://0.0.0.0:8080
. You should be able to access the server on your mobile device from your home network by going to your computer's IP address (e.g. http://192.168.0.2:8080
).
yarn build
Builds, minifies, and inlines the game to ./dist/index.html
. This command also runs webpack-bundle-analyzer, and places the report in ./dist/report.html
. This report may be handy in figuring out which of your source files is putting you over the edge of 13k.
yarn party
Builds, minifies, inlines, and zips the game to ./zipped/game.zip
. This command finishes with a log message letting you know if the zip file is under 13k.
Notes
- Put your TS or JS in
src/index.ts
- Put your css in
src/index.html
- Put your images or other assets in
assets/
- This starter pulls in this plugin from Facebook's create-react-app to inline the JS into the HTML file.