0.2.3 • Published 2 years ago

big-app v0.2.3

Weekly downloads
3
License
MIT
Repository
github
Last release
2 years ago

Angular Big App Schematic

A schematic like ng new but with easy module and component generation built in allowing you to scaffold out an angular workspace with any number of modules and component.

npm

Getting started

npm i -g big-app
ng new --collection=big-app

Or with inline options:

ng new --collection=big-app --modules 3 --components 3

Features

The schematic will create an Angular workspace with 2 apps and a lib with the app-one application containing the modules and components requested.

.
├── projects
│   ├── app-one
│   │   ├── e2e
│   │   │   ├── src
│   │   │   │   ├── app.e2e-spec.ts
│   │   │   │   └── app.po.ts
│   │   │   ├── protractor.conf.js
│   │   │   └── tsconfig.json
│   │   ├── src
│   │   │   ├── app
│   │   │   │   ├── a-mod
│   │   │   │   │   ├── a-mod-a-comp
│   │   │   │   │   │   ├── a-mod-a-comp.component.css
│   │   │   │   │   │   ├── a-mod-a-comp.component.html
│   │   │   │   │   │   ├── a-mod-a-comp.component.spec.ts
│   │   │   │   │   │   └── a-mod-a-comp.component.ts
│   │   │   │   │   ├── a-mod-b-comp
│   │   │   │   │   │   ├── a-mod-b-comp.component.css
│   │   │   │   │   │   ├── a-mod-b-comp.component.html
│   │   │   │   │   │   ├── a-mod-b-comp.component.spec.ts
│   │   │   │   │   │   └── a-mod-b-comp.component.ts
│   │   │   │   │   ├── a-mod-routing.module.ts
│   │   │   │   │   ├── a-mod.component.css
│   │   │   │   │   ├── a-mod.component.html
│   │   │   │   │   ├── a-mod.component.spec.ts
│   │   │   │   │   ├── a-mod.component.ts
│   │   │   │   │   └── a-mod.module.ts
│   │   │   │   ├── b-mod
│   │   │   │   │   ├── b-mod-a-comp
│   │   │   │   │   │   ├── b-mod-a-comp.component.css
│   │   │   │   │   │   ├── b-mod-a-comp.component.html
│   │   │   │   │   │   ├── b-mod-a-comp.component.spec.ts
│   │   │   │   │   │   └── b-mod-a-comp.component.ts
│   │   │   │   │   ├── b-mod-b-comp
│   │   │   │   │   │   ├── b-mod-b-comp.component.css
│   │   │   │   │   │   ├── b-mod-b-comp.component.html
│   │   │   │   │   │   ├── b-mod-b-comp.component.spec.ts
│   │   │   │   │   │   └── b-mod-b-comp.component.ts
│   │   │   │   │   ├── b-mod-routing.module.ts
│   │   │   │   │   ├── b-mod.component.css
│   │   │   │   │   ├── b-mod.component.html
│   │   │   │   │   ├── b-mod.component.spec.ts
│   │   │   │   │   ├── b-mod.component.ts
│   │   │   │   │   └── b-mod.module.ts
│   │   │   │   ├── app-routing.module.ts
│   │   │   │   ├── app.component.html
│   │   │   │   ├── app.component.scss
│   │   │   │   ├── app.component.spec.ts
│   │   │   │   ├── app.component.ts
│   │   │   │   └── app.module.ts
│   │   │   ├── assets
│   │   │   │   └── .gitkeep
│   │   │   ├── environments
│   │   │   │   ├── environment.prod.ts
│   │   │   │   └── environment.ts
│   │   │   ├── favicon.ico
│   │   │   ├── index.html
│   │   │   ├── main.ts
│   │   │   ├── polyfills.ts
│   │   │   ├── styles.scss
│   │   │   └── test.ts
│   │   ├── browserslist
│   │   ├── karma.conf.js
│   │   ├── tsconfig.app.json
│   │   ├── tsconfig.spec.json
│   │   └── tslint.json
│   ├── app-two
│   │   ├── e2e
│   │   │   ├── src
│   │   │   │   ├── app.e2e-spec.ts
│   │   │   │   └── app.po.ts
│   │   │   ├── protractor.conf.js
│   │   │   └── tsconfig.json
│   │   ├── src
│   │   │   ├── app
│   │   │   │   ├── app-routing.module.ts
│   │   │   │   ├── app.component.html
│   │   │   │   ├── app.component.scss
│   │   │   │   ├── app.component.spec.ts
│   │   │   │   ├── app.component.ts
│   │   │   │   └── app.module.ts
│   │   │   ├── assets
│   │   │   │   └── .gitkeep
│   │   │   ├── environments
│   │   │   │   ├── environment.prod.ts
│   │   │   │   └── environment.ts
│   │   │   ├── favicon.ico
│   │   │   ├── index.html
│   │   │   ├── main.ts
│   │   │   ├── polyfills.ts
│   │   │   ├── styles.scss
│   │   │   └── test.ts
│   │   ├── browserslist
│   │   ├── karma.conf.js
│   │   ├── tsconfig.app.json
│   │   ├── tsconfig.spec.json
│   │   └── tslint.json
│   └── lib-one
│       ├── src
│       │   ├── lib
│       │   │   ├── lib-one.component.spec.ts
│       │   │   ├── lib-one.component.ts
│       │   │   ├── lib-one.module.ts
│       │   │   ├── lib-one.service.spec.ts
│       │   │   └── lib-one.service.ts
│       │   ├── public-api.ts
│       │   └── test.ts
│       ├── karma.conf.js
│       ├── ng-package.json
│       ├── package.json
│       ├── README.md
│       ├── tsconfig.lib.json
│       ├── tsconfig.spec.json
│       └── tslint.json
├── .editorconfig
├── .gitignore
├── angular.json
├── package.json
├── README.md
├── tsconfig.json
└── tslint.json

Modules

The schematic will generate the desired number of lazy modules with an alphabet increasing identifier.

For example, 3 modules would generate:

  • /a-mod
  • /b-mod
  • /c-mod

The lazy loaded route definitions for each module will be added to the app-routing.module.ts file.

Components

The schematic will generate the desired number of components in each module with an alphabet increasing identifier.

For each component ng generate component is called producing the usual *.ts, *.scss, *.html, *.spec.ts files.

For example, 3 components would generate:

  • a-mod-a-comp/
  • a-mod-b-comp/
  • a-mod-c-comp/