feat: new makeSingleInstance API (#12782)
* Refactor app.makeSingleInstance * new API `app.isPrimaryInstance()` * new API `app.isSingleInstance()` * new event `app.on('second-instance')` * deprecated old syntax `app.makeSingleInstance(cb)` * deprecated old syntax of `app.makeSingleInstance() --> bool` in favor of `app.isPrimaryInstance()` * Fix spec, we don't need process.nextTick hacks any more * Make deprecation TODO for the return value of makeSingleInstance * Refactor makeSingleInstance to requestSingleInstanceLock and add appropriate deprecation comments * I swear this isn't tricking the linter * Make const * Add deprecation warnings for release, and add to planned-breaking-changes BREAKING CHANGE
This commit is contained in:
parent
9c8952aef0
commit
5b5c161601
9 changed files with 176 additions and 52 deletions
8
spec/fixtures/api/singleton/main.js
vendored
8
spec/fixtures/api/singleton/main.js
vendored
|
@ -4,10 +4,12 @@ app.once('ready', () => {
|
|||
console.log('started') // ping parent
|
||||
})
|
||||
|
||||
const shouldExit = app.makeSingleInstance(() => {
|
||||
process.nextTick(() => app.exit(0))
|
||||
const gotTheLock = app.requestSingleInstanceLock()
|
||||
|
||||
app.on('second-instance', () => {
|
||||
setImmediate(() => app.exit(0))
|
||||
})
|
||||
|
||||
if (shouldExit) {
|
||||
if (!gotTheLock) {
|
||||
app.exit(1)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue