Open jakub300 opened 6 years ago
There is one more thing.
When the opts.callback
is used, you do not create lastUpdateCheck
so.. Never will be updated and neither can be detected. Because it even does not creates a config file?
I think that [here]() in this .then
should be added
this.config = new ConfigStore(`update-notifier-${this.packageName}`, {
optOut: false,
// Init with the current time so the first check is only
// after the set interval, so not to bother users right away
lastUpdateCheck: Date.now()
});
My use case scenario is that want to create a module that auto updates when needed.
Something like that
export default function autoUpdater(options) {
const opts = Object.assign({}, options);
if (!opts.pkg.name || !opts.pkg.version) {
throw new Error('unpdateNotifier: pkg.name and pkg.version are required');
}
opts.callback = (err, info) => {
if (err) {
throw err;
}
if (isInstalledGlobally(opts.pkg.name) && info.type !== 'latest') {
execSync(`npm install --global ${opts.pkg.name}`);
}
};
return unpdateNotifier(opts);
}
Currently to check and immediately show notification you have to do something like that:
The problem is that
notifier.update = update;
is undocumented hack so better alternative to do that should be provided.