/emoji-td

Emoji Tower Defense

Primary LanguageTypeScript

Replay Starter (TypeScript)

Welcome to your game!

Structure

  • assets: Assets like audio and images go here. Nested folders are not currently supported.
  • src: Where your game code and tests go.
  • swift: Code specific to deploying to iOS goes here, such as your Xcode project.
  • web: Code specific to deploying to web goes here. You can edit the web load screen too.
  • .eslintignore / .eslintrc.js: Configure your linting rules.
  • .gitignore: List of files to ignore in git.
  • jest.config.js: Config file for Jest tests.
  • package.json / package-lock.json: Manage dependencies of your project.
  • tsconfig.json: Config for TypeScript.

Setup

npm install

Development

npm start

Runs your game locally in the browser using webpack-dev-server. Will auto-refresh on changes.

Note: if you add or rename audio and image assets, you need to restart the dev server.

Type check code

npm run types

Checks your TypeScript types are correct.

Lint files

npm run lint

Lints your code using ESLint with Prettier for formatting. Edit .eslintrc.js to change lint rules.

Test

npm run test

# or watch for file changes
npm run test:watch

Runs tests using Jest. Will look out for files of name *.test.ts in a __tests__ directory.

Build for web

npm run build-web

Creates an HTML, JS and assets bundle in web/dist. You can then deploy this somewhere to share with the world!

Run on iOS

npm run build-swift
open swift/replay-starter-ts.xcodeproj/
# run in Xcode

Assets like audio and images need to be dragged into your Xcode project.