UNPKG

ember-cli-deploy-revision-data

Version:

An ember-cli-deploy plugin to generate data about this deploy revision including a unique revision key based on the current build

51 lines (40 loc) 1.49 kB
var CoreObject = require('core-object'); var gitRepoInfo = require('git-repo-info'); var fs = require('fs'); var RSVP = require('rsvp'); var denodeify = require('rsvp').denodeify; var readFile = denodeify(fs.readFile); module.exports = CoreObject.extend({ init: function(options) { this._super(); this._plugin = options.plugin; }, generate: function() { var commitHashLength = this._plugin.readConfig('commitHashLength'); var separator = this._plugin.readConfig('separator'); var versionFile = this._plugin.readConfig('versionFile'); var info = gitRepoInfo(); if (info === null || info.root === null) { return RSVP.reject('Could not find git repository'); } var sha = (info.sha || '').slice(0, commitHashLength); var plugin = this._plugin; return readFile(versionFile) .then(function(contents) { var json = JSON.parse(contents); if (!json.version) { return RSVP.reject('Could not build revision with version `' + json.version + '` and commit hash `' + sha + '`'); } var versionString = json.version; if (sha) { versionString = versionString + separator + sha; } else { plugin.log('Missing git commit sha, using package version as revisionKey', { color: 'yellow', verbose: true }); } return { revisionKey: versionString, timestamp: new Date().toISOString() }; }); } });