ember-cli-new-version
v5.0.0
Published
A convention based update notification for Ember. With this addon, you can detect a new version and notify the user to refresh the page
Downloads
3,456
Readme
ember-cli-new-version
A convention-based version update notifier. Use it to notify users already on the page that a new version has been deployed.
Compatibility
- Ember.js v3.20 or above
- Ember CLI v3.20 or above
- Node.js v20 or above (should still work with older versions)
Usage
- Add this add-on as you would any other:
> ember install ember-cli-new-version
- Add a version file to your app, eg: ./public/VERSION.txt
1.0.0
- Include the component in your view:
<NewVersionNotifier />
voila!
Configuration
To setup, you should first configure the service through config/environment
:
module.exports = function (environment) {
var ENV = {
newVersion: {
currentVersion: null,
versionFileName: 'VERSION.txt',
updateInterval: 60000,
firstCheckInterval: 0,
enableInTests: false,
enableInDev: false,
maxCountInTesting: 10,
},
};
};
currentVersion
- The current version of the app if not using [Automatic VERSION file creation][#automatic version file creation] default: nullversionFileName
- the name of the file on the server to check default: /VERSION.txtupdateInterval
- the amount of time, in milliseconds, to wait between version checks default: 60000firstCheckInterval
- the amount of time, in milliseconds, to wait before the first version check is run after booting the application default: 0enableInTests
- Should the version checking run in test environments? default: falseenableInDev
- Should the version checking run in the dev environments? default: falsemaxCountInTesting
- How many times to check for a new version in tests. default: 10
Automatic Version File Creation
If no VERSION.txt
file exists it will be automatically generated during the build process
with the value of currentVersion
or the version
from package.json
.
Supports ember-cli-app-version
Since version 4.0.0 this addons will use the version string provided by ember-cli-app-version if no currentVersion
is configured.
All you have to do is install ember-cli-app-version
.
Then an update is triggered based on full version strings with build metadata such as 1.0.0-beta-2-e1dffe1
.
Notifier Configuration and Interface
updateMessage
- the message to show to users when update has been detected. There are two tokens allowed in this string:{newVersion}
and{oldVersion}
which will replaced with their respective values. eg. (and default). "This application has been updated from version {oldVersion} to {newVersion}. Please save any work, then refresh browser to see changes."showReload
- true shows a reload button the user can click to refresh. false hides the button. default: truereloadButtonText
- Sets the text for the default reload button. default: "Reload"
<NewVersionNotifier
@updateMessage='A new version was released: {newVersion}'
@showReload={{true}}
/>
Custom Notification
By default the notification is styled as a Bootstrap Alert. If you want custom layouts or to use a different framework, then you can define your own markup for the notification.
<NewVersionNotifier as |version lastVersion reload close|>
<div class='custom-notification'>
Reload to update to the new version ({{version}}) of this application
<button type='button' {{on 'click' reload}}>Reload</button>
<button type='button' {{on 'click' close}}>Close</button>
</div>
</NewVersionNotifier>
Contributing
See the Contributing guide for details.
License
This project is licensed under the MIT License.