angular15-generator
Version:
CLI tool to generate Angular 1.5 w/ TypeScript Routes and Components like Angular 2 CLI
156 lines (120 loc) • 5.37 kB
Markdown
## angular 1.5 generator
[![Latest NPM release][npm-badge]][npm-badge-url]
[![TravisCI Build Status][travis-badge]][travis-badge-url]
[![AppVeyor Build Status][appveyor-badge]][appveyor-badge-url]
[![Test Coverage][coveralls-badge]][coveralls-badge-url]
[![Dependency Status][david-badge]][david-badge-url]
[![devDependency Status][david-dev-badge]][david-dev-badge-url]
A command line utility to quickly generate angular 1.5 component and route-component written in TypeScript.
## Prerequisites
The generated project has dependencies that require **Node 4.5.x and NPM 3.x.x**.
## Table of Contents
* [Installation](#installation)
* [Usage](#usage)
* [Generating Components and Routes Components](#generating-components-and-routes-components)
* [Generating or Updating Components/Routes module's index file](#generating-or-updating-componentsroutes-modules-index-file)
* [Configuration](#configuration)
* [Updating](#updating)
* [Contributing](#contributing)
## Installation
**BEFORE YOU INSTALL:** please read the [prerequisites](#prerequisites)
```bash
npm install -g angular15-generator
```
## Default structure
By default the tool assume that you use the following project structure:
root
└── src
└── app
├── components
├── filters
├── routes
└── services
If this is not your project structure, please have a look at the [Configuration](#configuration) section.
## Usage
```bash
ag --help
ag -v / ag --version
ag g --help
ag g component --help
ag g route --help
ag g service --help
ag g filter --help
```
### Generating Components
You can use the `ag g` command to generate Angular components:
```bash
ag g component my-new-component
ag g route my-new-route-component
ag g service my-new-route-service
ag g filter my-new-route-filter
```
If you want to create your component/route/service/filter in an other folder that the one configured
you can use the following syntax (**even on Windows system**) :
```bash
ag g component down/my-new-component
=> will create the component in /src/app/components/down/my-new-component
ag g route ../up/my-new-route-component
=> will create the route in /src/app/up/my-new-route-component
```
Please note that this is also compatible with the `--uc` flag describe below.
### Generating or Updating module's index file
You can use the `--uc` to update or create the module's index.ts file
(with a name or not, the default one is in the config file).
```bash
ag g component my-new-component --uc
ag g route my-new-route-component --uc routes.ts
```
Alternatively you can set the option `updateOrCreate` to true in your config file to always update module's index.ts file.
If you use WebPack to build your project by setting the flag `useWebpackRequire` in the configuration file
the tool will require the html template file instead of using the template URL.
### Configuration
If our project's structure does not match yours, you can override it:
```bash
ag config
```
This will add a new file `angular-generator.config.json` in your root directory.
You can edit this file to specify your project's structure.
```json
{
"componentsRoot": "src/app/components",
"routesRoot": "src/app/routes",
"servicesRoot": "src/app/services",
"filtersRoot": "src/app/filters",
"componentsRootModuleName": "index.ts",
"routesRootModuleName": "index.ts",
"servicesRootModuleName": "index.ts",
"filtersRootModuleName": "index.ts",
"updateOrCreate": false,
"useWebpackRequire": false
}
```
(This is the config.json file for our default project structure)
N.B: even on Windows you **should** use the `/` separator, the CLI will handle it correctly.
### Updating
**Before updating it is recommended to backup your custom config file and regenerate it**
To update `angular15-generator` to a new version, you must update both the global package and your project's local package.
Global package:
```
npm uninstall -g angular15-generator
npm cache clean
npm install -g angular15-generator@latest
=> then check for new configuration options in the config file.
```
## Contributing
Currently the tool is available in French and English.
Feel free to send a PR with your locale file (see in `/lib/cli/locales`).
## License
This project is licensed under the [MIT License](LICENSE).
[npm-badge]: https://img.shields.io/npm/v/angular15-generator.svg
[npm-badge-url]: https://www.npmjs.com/package/angular15-generator
[travis-badge]: https://img.shields.io/travis/JeffLeFoll/angular15-generator/master.svg?label=TravisCI
[travis-badge-url]: https://travis-ci.org/JeffLeFoll/angular15-generator
[appveyor-badge]: https://img.shields.io/appveyor/ci/JeffLeFoll/angular15-generator/master.svg?label=AppVeyor
[appveyor-badge-url]: https://ci.appveyor.com/project/JeffLeFoll/angular15-generator/branch/master
[coveralls-badge]: https://img.shields.io/coveralls/JeffLeFoll/angular15-generator/master.svg
[coveralls-badge-url]: https://coveralls.io/github/JeffLeFoll/angular15-generator
[david-badge]: https://david-dm.org/JeffLeFoll/angular15-generator.svg
[david-badge-url]: https://david-dm.org/JeffLeFoll/angular15-generator
[david-dev-badge]: https://david-dm.org/JeffLeFoll/angular15-generator/dev-status.svg
[david-dev-badge-url]: https://david-dm.org/JeffLeFoll/angular15-generator?type=dev