@webed/build-info
v1.0.3
Published
🛠 A CLI to generate an easily importable `build.ts` file containing various details about the application build
Downloads
7
Readme
Description
angular-build-info
is a command line interface to collect information about your current build. It compiles information such as the timestamp when the application was built, the current git user, the hash of the latest commit and the current version from inside your projects package.json
file.
Example output of the CLI looks as follows:
// Angular build information, automatically generated by `4dams/angular-build-info`
export const buildInfo = {
user: "Juri Adams",
hash: "1e872b5",
version: "1.1.4",
timestamp: "November 15, 2019 16:37:35",
};
Installation and Usage
Installation is pretty easy:
npm i -g angular-build-info
Running the script with the --init
flag (angular-build-info --init
) then produces a build.ts
file inside your Angular projects src/
folder. You can then proceed to import this file inside your Angular application. An example making use of this information can be found below.
Another important thing to use this tool effectively is to update your package.json
scripts. Below is an example of what your build
or deploy
script might look like.
{
"scripts": {
"build": "angular-build-info && ng build",
"deploy": "angular-build-info && ng build --prod && ./deploy"
}
}
If you now run any of these commands, information about the current build will be saved inside the previously mentioned build.ts
file.
Implementing in Angular
Below is an example of what your app.component.ts
might look like after implementing the information from inside the build.ts
file.
import { Component } from "@angular/core";
import { buildInfo } from "../build";
import { environment } from "../environments/environment";
@Component({
selector: "app-root",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"],
})
export class AppComponent {
constructor() {
console.log(
`\n%cBuild Info:\n\n` +
`%c ❯ Environment: %c${environment.production ? "production 🏭" : "development 🚧"}\n` +
`%c ❯ Build Version: ${buildInfo.version}\n` +
` ❯ Build Timestamp: ${buildInfo.timestamp}\n` +
` ❯ Build Message: %c${buildInfo.message || "<no message>"}\n`,
"font-size: 14px; color: #7c7c7b;",
"font-size: 12px; color: #7c7c7b",
environment.production ? "font-size: 12px; color: #95c230;" : "font-size: 12px; color: #e26565;",
"font-size: 12px; color: #7c7c7b",
"font-size: 12px; color: #bdc6cf",
);
}
}
This is what the previous code will output in the browser console once you open the app:
Authors
- Juri Adams - Initial Work - @4dams
- Bekker Imre - Fork - @tetkosimi
License
This project is underlying the MIT-License. For more information, take a look at this projects LICENSE.md file.