An open API service indexing awesome lists of open source software.

https://github.com/blaugold/ngx-build-info


https://github.com/blaugold/ngx-build-info

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

![CI](https://github.com/blaugold/ngx-build-info/workflows/CI/badge.svg)
![NPM](https://img.shields.io/npm/v/ngx-build-info)

# ngx-build-info

An Angular CLI builder which generates a build info file.

## Installation

Install the builder:

```shell script
npm install -D ngx-build-info
```

And add a target to the project you want to generate a build info file for in `angular.json`:

```json
{
...
"projects": {
"app": {
"architect": {
"build-info": {
"builder": "ngx-build-info:build-info"
}
}
}
}
}
```

The builder expects to find a `package.json` file in the project root dir, with `name` and
`version`.

The builder also expects to be run in a git repository.

## Options

- **output**: The file name of the build file relative to the project root. The default is
`{PROJECT_ROOT}/{SOURCE_ROOT}/environments/build-info.ts`.

## Usage

Run the builder when the build info file should be (re)generated.

```shell script
ng run app:build-info
```

## Build Info

The build info file contains the following:

```typescript
export const BUILD_INFO = {
"name": "a",
"version": "1.0.0",
"date": "2020-02-25T02:57:46.420Z",
"branch": "master",
"rev": "5cbf0ca677",
"tag": null,
"commitsSinceLastTag": 0,
"authorDate": "2020-02-25T02:00:29.000Z",
"buildNumber": 42
};
```

- **name**: The name in `package.json` of the project the builder is configured in.
- **version**: The version in `package.json` of the project the builder is configured in.
- **date**: The date when the build info was generated.
- **branch**: The current git branch of the repo.
- **rev**: The abbreviated sha of the current git commit.
- **tag**: The last tag in the history of the current commit.
- **commitsSinceLastTag**: The number of commits between the current commit and the last tag.
- **authorDate**: The date when the current commit was authored.
- **buildNumber**: The build number from the one of these environment variables:
- `BUILD_NUMBER`
- `CIRCLE_BUILD_NUM`
- `TRAVIS_BUILD_NUMBER`