diff --git a/src/components/Footer.js b/src/components/Footer.js index 289e1d7..72eb572 100644 --- a/src/components/Footer.js +++ b/src/components/Footer.js @@ -88,6 +88,16 @@ function Footer() { © 1995-{new Date().getFullYear()} Machine Intelligence Laboratory. All rights reserved. +
+ Built at: {BUILD_TIME} EST (from{" "} + + {COMMIT_HASH} + + ) +
); } diff --git a/webpack.config.js b/webpack.config.js index 98498c0..fc546f4 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,26 @@ const path = require("path"); const HWP = require("html-webpack-plugin"); const webpack = require("webpack"); +const commitHash = require("child_process").execSync( + "git rev-parse --short HEAD", +); + +const getCurrentTimeEST = () => { + const now = new Date(); + const options = { + timeZone: "America/New_York", + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + hour12: false, + }; + return new Intl.DateTimeFormat("en-US", options).format(now).replace(",", ""); +}; +const currentTime = getCurrentTimeEST(); + const FaviconsWebpackPlugin = require("favicons-webpack-plugin"); module.exports = { entry: path.join(__dirname, "/src/index.js"), @@ -50,6 +70,10 @@ module.exports = { new FaviconsWebpackPlugin({ logo: "./src/assets/mil_white.svg", }), + new webpack.DefinePlugin({ + COMMIT_HASH: JSON.stringify(commitHash.toString().trim()), + BUILD_TIME: JSON.stringify(currentTime), + }), ], resolve: { extensions: [".ts", ".js"],