preval-build-info
Version:
Pre-evaluate git info, version number, timestamp, etc at build time
82 lines (58 loc) • 2.56 kB
Markdown
[](https://badge.fury.io/js/preval-build-info)
[](https://github.com/justinlettau/preval-build-info/actions)
[](https://codecov.io/gh/justinlettau/preval-build-info)
[](https://david-dm.org/justinlettau/preval-build-info)
[](https://david-dm.org/justinlettau/preval-build-info?type=dev)
# Preval Build Info
Pre-evaluate git info, version number, timestamp, etc at build time.
Useful if you need build information in your application but you use a predefined build system (and
don't want to eject) like Angular CLI, for example. Other common solutions require adding a file
to _your_ repository and committing it. That's not ideal because these values change so frequently
(every commit). `preval-build-info` works by reading information from _your_ repository, but storing
the build information within the node_modules folder.
# Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Development](#development)
# Features
- 🚀 Import **Git** information of **your** repo.
- 🕑 Includes **version** number and build **timestamp**.
- 📂 No need to include extra files in your repo.
- 🎉 **TypeScript** types included.
# Installation
```bash
npm install preval-build-info --save
```
# Usage
When you import `preval-build-info`, it contains the information for _your_ repository. The `version`
is pulled from _your_ project's package.json and all the Git information is from _your_ repo.
```js
import * as info from 'preval-build-info';
console.log(info.version);
// => '1.0.0'
console.log(info.timestamp);
// => '1614300015989'
console.log(info.dateTime);
// => '2021-02-26T00:40:15.989Z'
console.log(info.gitHash);
// => 'c8b316d820b7c9cb3b99e8739c2212d34c892815'
console.log(info.gitHashShort);
// => 'c8b316d'
console.log(info.gitTag);
// => 'v1.0.0'
console.log(info.gitBranch);
// => 'master'
```
Build information is generated on `postinstall`. If you also need to update build info manually, you
can use `preval-build-info-cli` in your project's scripts. For example:
```json
"scripts": {
"prebuild": "preval-build-info-cli",
}
```
# Development
```
npm install
npm run build
```