diff --git a/_tools/git-version-stamper.js b/_tools/git-version-stamper.js new file mode 100644 index 0000000..6cf73d7 --- /dev/null +++ b/_tools/git-version-stamper.js @@ -0,0 +1,8 @@ +const git = require('git-last-commit') +const fs = require('fs') + +git.getLastCommit((err, commit) => { + if (err) throw err + const data = JSON.stringify(commit) + fs.writeFile('version.json', data, e => console.error(e)) +}) diff --git a/index.html b/index.html index 1a5afa6..21a21c1 100644 --- a/index.html +++ b/index.html @@ -46,7 +46,7 @@

Connection Details

- device {{ connectionInfo.deviceId }} connected to hub {{ connectionInfo.hubName }} + device {{ connectionInfo.deviceId }} connected to hub {{ connectionInfo.hubName }}
{{ versionInfo }}
@@ -98,14 +98,15 @@

Commands

+ - + + diff --git a/index.js b/index.js index ee1ff3d..5691a20 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,5 @@ import { AzIoTHubClient } from './AzIoTHubClient.js' +import * as vf from './versionFromFile.js' const createApp = () => { let telemetryInterval @@ -26,7 +27,8 @@ const createApp = () => { reportedPropJson: '{ deviceStatus: "200 OK" }', telemetryJson: '{ temperature: %d }', sentMessages: 0, - isTelemetryRunning: false + isTelemetryRunning: false, + versionInfo: '' }, created () { /** @type { ConnectionInfo } connInfo */ @@ -37,6 +39,9 @@ const createApp = () => { this.connectionInfo.deviceKey = connInfo.deviceKey this.connectionInfo.modelId = connInfo.modelId } + vf.versionFromFile(v => { + this.versionInfo = v + }) }, methods: { async connect () { diff --git a/package-lock.json b/package-lock.json index e13ee55..b86dee4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -947,6 +947,12 @@ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, + "git-last-commit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/git-last-commit/-/git-last-commit-1.0.0.tgz", + "integrity": "sha512-wpnmsd2dW1MnoencljcWO/06VUealfMaY40ZjK5t3v9ljL+bKCMbNaTn/YzwIh4pDo2hk5QcN+pLzUJ8aWB17A==", + "dev": true + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", diff --git a/package.json b/package.json index 404007e..85b23b5 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "repository": "https://github.com/ridomin/iothub-webclient", "scripts": { "start": "node node_modules/serve/bin/serve.js .", - "build" : "echo build not needed :-)" + "stamp": "_tools/git-version-stamper.js", + "build" : "echo build not needed :)" }, "keywords": [ "iot", @@ -15,6 +16,7 @@ "license": "ISC", "devDependencies": { "@types/paho-mqtt": "^1.0.4", + "git-last-commit": "^1.0.0", "serve": "^11.3.2", "standard": "^14.3.4" }, diff --git a/version.json b/version.json new file mode 100644 index 0000000..d669f6a --- /dev/null +++ b/version.json @@ -0,0 +1,20 @@ +{ + "shortHash": "c5fd5ea", + "hash": "c5fd5ea31bd203ef1ba419cb509110903a048f90", + "subject": "show commit version", + "sanitizedSubject": "show-commit-version", + "body": "", + "authoredOn": "1597224359", + "committedOn": "1597224359", + "author": { + "name": "ridomin", + "email": "ridomin@live.com" + }, + "committer": { + "name": "ridomin", + "email": "ridomin@live.com" + }, + "notes": "", + "branch": "cicd", + "tags": [] +} \ No newline at end of file diff --git a/versionFromFile.js b/versionFromFile.js new file mode 100644 index 0000000..750c200 --- /dev/null +++ b/versionFromFile.js @@ -0,0 +1,12 @@ +async function versionFromFile (cb) { + window.fetch('./version.json') + .then(j => { + j.json() + .then(d => { + console.log(d) + cb(d.shortHash) + }) + }) +} + +export { versionFromFile }