My TypeScript project template for Glitch. You can view the source or remix it as a new project.
-
The same
src/
tree is compiled for both the Node server and the browser client, but using different TypeScript configurations (client, server) and entry points (client, server). -
We transpile and polyfill as little as possible, at the expense of compatibility in some browsers. For example, we use require native async/await and ES6 modules.
-
NPM packages may not be imported by modules that are used on the client; we don't use webpack or anything to support that. However, client modules can still import their static types for use at compile-time.
-
All local imports must use a
.js
suffix for browser compatibility. -
We define a relatively simple service worker to cache static the site's content for offline viewing for two weeks.
-
Sass stylesheets are compiled from
styles/
. -
A nifty set of simple
HTML`...`
template string tag functions is included for basic safe templating on both client and server. -
This project is released under the CC0 1.0 Public Domain Dedication. If you do not intend to do the same, you should remove
"license": "CC0-1.0"
frompackage.json
.