📒
nx-ng-starter
  • Contributor Covenant Code of Conduct
  • Contributing to this repository
  • Nx Ng Starter
  • Security
  • Support
  • Tools
    • diagrams
      • branching
      • pr-validation-pipeline
      • trunk-on-push-pipeline
    • tools/shell
    • tools/ts
      • Unit Coverage Stats
    • generators
      • client-feature
        • <%= name %>
      • client-store
        • <%= name %>
      • client-ui
        • <%= name %>
      • client-util
        • <%= name %>
  • .github
    • ISSUE_TEMPLATE
      • bug_report
    • ISSUE_TEMPLATE
      • feature_request
    • ISSUE_TEMPLATE
      • maintenance
  • Libraries
    • backend-auth
    • backend-diagnostics
    • backend-gql
    • backend-grpc
    • backend-interfaces
    • backend-logger
    • backend-websocket
    • client-chatbot
    • client-core-components
    • client-core
    • Angular D3 Chart Components Module
    • client-diagnostics
    • client-directives
    • client-gql
    • client-grpc
    • client-material
    • client-pwa-offline
    • client-services
    • client-sidebar
    • client-store-chatbot
    • client-store-http-api
    • client-store-http-progress
    • client-store-sidebar
    • client-store-theme
    • client-store-user
    • client-store-websocket
    • client-store
    • client-translate
    • client-unit-testing
    • Angular Eliza Chatbot Module
    • client-util-sentry
    • client-util
    • proto
Powered by GitBook
On this page
  • Workflows
  • Requirements
  • Supported operating systems
  • Core dependencies
  • Preferred package manager
  • Package scripts reference
  • Committing changes to repo
  • GitBook documentation
  • Firebase deployments
  • Workspace generators
  • Generate a library
  • General Tooling
  • Quick Start & Documentation
  • Adding capabilities to the workspace
  • Generating an application
  • Generating a library
  • Running a development server
  • Code scaffolding
  • Building applications
  • Unit testing with Jest
  • End-to-end testing with Cypress
  • Understanding the workspace
  • Generating a storybook for a feature or ui library
  • Tools help
  • Further help
  • Technologies Reference
  • Workspace
  • Client
  • Server
  • Testing
  • Documentation
  • CI
  • Development methodology

Was this helpful?

Nx Ng Starter

PreviousContributing to this repositoryNextSecurity

Last updated 2 years ago

Was this helpful?

+ + mono-repository starter with workflow automation.

Workflows

Info
Trigger
Badge

PR open event (destination: trunk)

PR merge event (destination: trunk)

PR merge event (destination: trunk)

PR merge event (destination: trunk)

Manual

Manual

Scheduled (weekly)

Manual, Scheduled (weekly)

Requirements

In order to run own copy of the project one must fulfill the following requirements.

Supported operating systems

  • - recommended

    • check out to facilitate setting up the dev environment;

    • given that the dev environment is set up, the command yarn install:all:linux should install everything needed to work with the project;

  • - should work due to the similarities with Linux

    • one will have to figure out oneself how to set up the dev environment;

    • given that the dev environment is set up, the command yarn install:all:osx should install everything needed to work with the project;

    • the automation scripts support the OS with relatively high probability, but it has not been tested;

  • - not recommended

    • one will have to figure out oneself how to set up the dev environment;

    • one will have to figure out oneself how to install required dependencies like protolint and shellcheck system wide;

    • the automation scripts support the OS with relatively low probability, but it has not been tested.

Core dependencies

Preferred package manager

Package scripts reference

The project has lots of package scripts, check it in the package.json located in the project root, or use the following command (see terminal output for usage tips)

yarn workspace:help

Committing changes to repo

git cz

GitBook documentation

The GitBook documentation is generated based on this GitHub repo.

Firebase deployments

Application deployments and autogenerated engineering documentation.

Workspace generators

Generate a library

feature library

yarn workspace:schematic client-feature client-<feature-name> --tags=scope:client-<feature-name>,type:feature

ui library

yarn workspace:schematic client-ui client-ui-<feature-name> --tags=scope:client-ui-<feature-name>,type:ui

data-access library

yarn workspace:schematic client-store client-store-<feature-name> --tags=scope:client-store-<feature-name>,type:data-access

util library

yarn workspace:schematic client-util client-util-<feature-name> --tags=scope:client-util-<feature-name>,type:util

General Tooling

🔎 Nx is a set of Angular CLI power-ups for modern development.

Quick Start & Documentation

Adding capabilities to the workspace

Nx supports many plugins which add capabilities for developing different types of applications and different tools.

These capabilities include generating applications, libraries, .etc as well as the devtools to test, and build projects as well.

Below are some plugins which can be added to the workspace:

Application type
Command
Part of the workspace

ng add @nrwl/angular

ng add @nrwl/react

Web (no framework frontends)

ng add @nrwl/web

ng add @nrwl/nest

ng add @nrwl/express

ng add @nrwl/node

ng add @nrwl/storybook

ng add @nrwl/cypress

Generating an application

To generate an application run:

ng g @nrwl/angular:app my-app

You can use any of the plugins above to generate applications as well.

When using Nx, you can create multiple applications and libraries in the same workspace.

Generating a library

To generate a library run:

ng g @nrwl/angular:lib my-lib

You can also use any of the plugins above to generate libraries as well.

Libraries are sharable across libraries and applications.

It can be imported from @nx-ng-starter/mylib.

Running a development server

To start a dev server run:

ng serve my-app

Navigate to http://localhost:4200/.

The app will automatically reload if you change any of the source files.

Code scaffolding

To generate a new component run:

ng g component my-component --project=my-app

Building applications

To build the project run:

ng build my-app

The build artifacts will be stored in the dist/ directory.

Use the --prod flag for a production build.

To execute the unit tests run:

ng test my-app

To execute the unit tests affected by a change run:

npm run affected:test

To execute the end-to-end tests run:

ng e2e my-app

To execute the end-to-end tests affected by a change run:

npm run affected:e2e

Understanding the workspace

To see a diagram of the dependencies of the projects run:

npm run dep-graph

Generating a storybook for a feature or ui library

npx nx g @nrwl/angular:storybook-configuration project-name

Tools help

ng run tools:help

Further help

Technologies Reference

Workspace

Client

Server

Testing

Documentation

CI

Development methodology

- preferred package manager for dependencies installation in the project root.

- preferred package manager for dependencies installation in the functions folder.

Using is mandatory.

Provided all dependencies are installed, and , this command must be used.

This project was generated using .

Unit testing with

End-to-end testing with

Visit the to learn more.

Bash 5
Node.js
Yarn
Git
Yarn
npm
commitizen cli
commitizen cli is installed as a global dependency
GitBook documentation
Client
Elements
Documentation
Compodoc
Storybook
Unit test reports
E2E test reports
Changelogs
Nx
Nx Documentation
30-minute video showing all Nx features
Interactive Tutorial
Jest
Cypress
Nx Documentation
Nrwl Nx
Angular
Angular CLI
Angular Material
Apollo Angular
Material Design Guidelines
NGXS
NestJS
Firebase JS Reference
Express GraphQL Server
Angular Firebase: Apollo Server
GRPC
Cypress
Jest
Compodoc
GitHub Actions
Trunk based development
✔️
❌
✔️
✔️
❌
✔️
✔️
✔️
Angular
React
Nest
Express
Node
Storybook
Cypress
🏆
🆗
🚫
Nx
Angular
NestJS
Debian based Linux
this dev setup instructions
OSX
Windows
Commitizen friendly
pr-validation
trunk-on-push
publish-client-d3-charts
publish-client-util-eliza
e2e-test
docker
codeowners-validator
codeql-analysis