angular-build-info
馃洜 A command line interface to collect build information for your Angular application.
Last updated 5 months ago by 4dams .
MITRepositoryBugsOriginal npmTarballpackage.json
$ cnpm install angular-build-info 
SYNC missed versions from official npm registry.

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

License

This project is underlying the MIT-License. For more information, take a look at this projects LICEMSE.md file.

Current Tags

  • 1.0.7                                ...           latest (5 months ago)

10 Versions

  • 1.0.7                                ...           5 months ago
  • 1.1.1                                ...           5 months ago
  • 1.1.0                                ...           5 months ago
  • 1.0.6                                ...           5 months ago
  • 1.0.5                                ...           5 months ago
  • 1.0.3                                ...           5 months ago
  • 1.0.4                                ...           5 months ago
  • 1.0.2                                ...           6 months ago
  • 1.0.1                                ...           6 months ago
  • 1.0.0                                ...           6 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (5)
Dependents (0)
None

Copyright 2014 - 2016 漏 taobao.org |