Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/antonybudianto/angular-cli-env
:package: Environment Variable addon for Angular 2 CLI projects, inspired by Twelve-Factor App
https://github.com/antonybudianto/angular-cli-env
addon angular angular-cli
Last synced: 3 months ago
JSON representation
:package: Environment Variable addon for Angular 2 CLI projects, inspired by Twelve-Factor App
- Host: GitHub
- URL: https://github.com/antonybudianto/angular-cli-env
- Owner: antonybudianto
- License: mit
- Created: 2016-08-20T13:06:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-08-21T11:09:25.000Z (over 8 years ago)
- Last Synced: 2024-10-01T00:22:18.562Z (3 months ago)
- Topics: addon, angular, angular-cli
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE.md
Awesome Lists containing this project
README
# angular-cli-env
[![npm version](https://badge.fury.io/js/angular-cli-env.svg)](https://badge.fury.io/js/angular-cli-env)Angular CLI Env Addon
Inspired by [Twelve-Factor App](https://12factor.net/config)
This addon can generate a constant file from `env.json` so that your environment variable is scalable. For now it only supports generating TypeScript constant exporting file.
For more [details](https://github.com/antonybudianto/angular-cli-env/wiki/About)
## Prerequisites
This addon has the following prerequisites:
- Node.js 4.x
- Angular project created via [angular-cli](https://github.com/angular/angular-cli)## Installation & Setup
Run this inside your Angular CLI project:
```sh
npm install --save-dev angular-cli-env
```## Usage
### Initialize
First, you need to initialize things needed for env generation by running:
```sh
ng env:init
```It'll generate 2 files:
- `env.json` (Your environment variables live here, can be **git-ignored** as you like )
- `src/app/shared/app-env.interface.ts` (Your environment variable interface for static type, must be checked to source control)You only need to this **once**.
### Generate
Next, you can generate the constant file by running:
```sh
ng env
```It'll generate the constant file at `src/app/shared/env.ts`, and this file can be **git-ignored** as you like.
By default, it will generate a constant file with static type `AppEnv`.
If you prefer to use dynamic type, you can add `--typeless` flag when generating.You can also custom the path and name using `--path` and `--name` flags.
> When changing path, you need to adjust your app interface's path accordingly
### Access the env in code
Just import the generated file in your app, for example:
```ts
import { Component } from '@angular/core';
import { ENV } from './shared/env';@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css']
})
export class AppComponent {
title = 'app works!';constructor() {
console.log(ENV.TITLE);
}
}```
## Authors
- [Antony Budianto](http://twitter.com/antonybudianto)
- Based on [angular-cli-github-pages](https://github.com/IgorMinar/angular-cli-github-pages)## License
[Licensed under the MIT license](http://www.opensource.org/licenses/mit-license.php)