jpike88 / fusing-angular

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • Angular 9 w/ Ivy Renderer
  • Platform specific Angular modules.
  • Multi Language support.
  • Angular PWA support.

Development Features

  • A blazing fast bundler FuseBox.
  • Production ready builds.
  • 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

  • A blazing fast test runner Jest.
  • Angular testing via jest
  • Server (api/rendering) testing via supertest and jest
  • E2E testing via cypress
  • Electron testing via spectron

Performance Features

Universal (SSR) Features

  • Flicker-free Angular Universal server built on Express.
  • Server prepped to support clustered mode for horizontal scaling via throng.
  • HTTP Cache-Tag support.
  • Unified logging.

Electron Features

  • Main process compiled to bytecode via bytenode to help protect your source code.
  • 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

About


Languages

Language:TypeScript 90.9%Language:Pug 5.9%Language:HTML 1.1%Language:Shell 1.0%Language:JavaScript 1.0%Language:CSS 0.1%