Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gobengo/typescript-web-starter
Starter Project for a website written in TypeScript (+ koa, webpack hmr, ssr, tests)
https://github.com/gobengo/typescript-web-starter
boilerplate hmr koa ssr typescript
Last synced: about 8 hours ago
JSON representation
Starter Project for a website written in TypeScript (+ koa, webpack hmr, ssr, tests)
- Host: GitHub
- URL: https://github.com/gobengo/typescript-web-starter
- Owner: gobengo
- Created: 2018-07-23T04:47:42.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-23T13:44:23.000Z (over 6 years ago)
- Last Synced: 2025-01-31T07:49:09.590Z (5 days ago)
- Topics: boilerplate, hmr, koa, ssr, typescript
- Language: TypeScript
- Size: 271 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# typescript-web-starter
A simple website project written in TypeScript. Use this as a starting point for your project.
Save yourself some time. Launch sooner.
## Features
* [React](https://reactjs.org) for view composition
* [Material UI](https://material-ui.com/) react components for common UI elements like buttons, grid, etc. Type-checked.
* client-side state management with [Redux](https://redux.js.org/)
* web server using [koa](https://koajs.com/)
* server side rendering (SSR) - Faster apparent page loads + your website will load for end-users without JavaScript.
* [Hot Module Replacement (HMR)](https://webpack.js.org/concepts/hot-module-replacement/) - When running the web server with NODE_ENV=development, saving any file (e.g. a React Component) will instantly reload and re-render your app.
* Testing:
* Convention to be able to run any test file (or all) using [./src/test/cli](./src/test/cli). No magic tests runner CLIs
* Tests are type-checked, thanks to [alsatian-test](https://github.com/alsatian-test/alsatian)
* VS Code Project
* Debug projects in VS Code GUI with ts-node launcher
* [prettier](https://prettier.io/) - standard code formatting
* [tslint](https://palantir.github.io/tslint/) - Consistent coding practices, enforced.## Usage
1. Fork or clone this repository.
2. `npm install` - to download dependencies* dev mode (HMR enabled): `npm run dev`
* or `NODE_ENV=development npm start`
* build assets for production: `npm run build`
* TypeScript -> JavaScript output goes in [./lib/](./lib/)
* Minfied JavaScript for web browser goes in [./dist/](./dist/)
* production mode
* first, compile JS to be loaded in the browser: `npm run build`
* `npm start`
* test: `npm test`
* tslint: `npm run tslint`
* prettier: `npm run prettier`