fusing-angular
fusing-angular copied to clipboard
Extremely fast Angular Universal and Electron development environment.
fusing-angular
Provides an extremely fast seed project for the development of Angular Universal (SSR) and Electron projects.
Goals
Designed to get a team up and running with a fast development toolkit for Angular Universal, Electron, and NativeScript applications.
Angular Features
- [x] Angular 9 w/ Ivy Renderer
- [x] Platform specific Angular modules.
- [x] Multi Language support.
- [x] Angular PWA support.
Development Features
- [x] A blazing fast bundler FuseBox.
- [x] Production ready builds.
- [x] Angular specific TSLint rules.
- [ ] Hot Module Reloading (HMR) for faster browser reloads during client development.
- [ ] Heroku, Docker, and Serverless (GC, AWS) Deployment Examples.
Testing Features
- [x] A blazing fast test runner Jest.
- [x] Angular testing via
jest
- [x] Server (api/rendering) testing via
supertest
andjest
- [ ] E2E testing via
cypress
- [ ] Electron testing via
spectron
Performance Features
- [x] Brotli compression with gzip fallback.
- [x] Ahead-of-Time (AOT) compilation support.
- [x] Lazy Loaded + AOT modules.
Universal (SSR) Features
- [x] Flicker-free Angular Universal server built on Express.
- [x] Server prepped to support clustered mode for horizontal scaling via throng.
- [x] HTTP Cache-Tag support.
- [x] Unified logging.
Electron Features
- [x] Main process compiled to bytecode via bytenode to help protect your source code.
- [x] Configured to ouput windows, mac, and linux builds.
Caveats
- No CSS preprocessor. Just use plain CSS w/ css-variables.
Commands
Command | Info |
---|---|
test | Runs all .spec.ts files through Jest |
test.cov | Runs all .spec.ts files through Jest w/ coverage reporting. |
test.watch | Continous testing of all .spec.ts files through Jest |
build | generate web application artifacts |
build.prod | generate web application artifacts w/ production optimizations |
build.desktop | generate web & desktop application artifacts |
build.desktop.prod | generate web & desktop application artifacts w/ production optimizations |
start | Starts the Angular Universal server for development and watches for changes. |
start.prod | Starts the Angular Universal server w/ optimizations. |
start.desktop | Starts the desktop application for development and watches for changes. |
start.desktop.prod | Starts the desktop application w/ optimizations. |
lint | Checks app an tools for lint failures |
lint.app | Checks /src for lint failures |
lint.tools | Checks /tools for lint failures |
gen.icons | Generate various favicons from a source imgage. |
release.mac | Production electron output for mac |
release.win | Production electron output for windows |
release.linux | Production electron output for linux |
release.all | Production electron output for all three platforms |
Application Configuration
TODO
Conventions
TODO
Environment Variables
TODO