Registry / web-framework / idle-vue

idle-vue

JSON →
library2.0.5jsnpmunverified

idle-vue is a Vue.js plugin designed to detect user inactivity within a Vue 2 application. It leverages the underlying `idle-js` library to provide a reactive and integrated solution for monitoring when a user has not interacted with the application for a specified duration. The package is currently at version 2.0.5 and, as a Vue 2-specific plugin, its release cadence is likely stable, focused on maintenance rather than frequent new features, aligning with the lifecycle of Vue 2 itself. It offers three primary mechanisms for handling idle states: `onIdle` and `onActive` lifecycle hooks accessible in any Vue component, a computed property `isAppIdle` for reactive state management, and an optional `IdleView` component for a default idle overlay. A key differentiator is its flexible integration, allowing users to either provide an `eventEmitter` (a Vue instance) for hook-based responses or a Vuex `store` for state-driven reactivity, providing developers with robust options for building responsive user experiences around inactivity detection without boilerplate DOM event handling.

npm install idle-vue
INSTALL
IMPORT
SIG · IDLE-VUE
I
idle-vue
web-frameworkjavascriptv2.0.5
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

IdleVue
import IdleVue from 'idle-vue'
const IdleVue = require('idle-vue')
CommonJS require syntax is typically not used in modern Vue (ESM-based) projects.
Vue
import Vue from 'vue'
const Vue = require('vue')
The global Vue instance is required to install the plugin via `Vue.use()`.
Plugin Installation
Vue.use(IdleVue, options)
idle-vue is a Vue plugin and must be installed globally with `Vue.use()` before creating the root Vue instance.

This quickstart demonstrates how to set up `idle-vue` using an `eventEmitter` to detect user inactivity and respond via `onIdle` and `onActive` hooks, updating the UI accordingly.

import Vue from 'vue'; import IdleVue from 'idle-vue'; // Create a new Vue instance to act as the event hub for idle-vue const eventsHub = new new Vue(); // Install the idle-vue plugin with the event hub and an idle time of 10 seconds Vue.use(IdleVue, { eventEmitter: eventsHub, idleTime: 10000 // 10 seconds (in milliseconds) }); // Create the main Vue application instance const vm = new Vue({ el: '#app', data () { return { messageStr: 'Application is active.' }; }, // Define the onIdle hook to be called when the app goes idle onIdle() { this.messageStr = 'Application is idle. ZZZ...'; console.log('User is idle!'); }, // Define the onActive hook to be called when the app becomes active again onActive() { this.messageStr = 'Application is active again!'; console.log('User is active!'); }, template: ` <div style="font-family: sans-serif; text-align: center; margin-top: 50px;"> <h1>idle-vue Example</h1> <p>{{ messageStr }}</p> <p>Move your mouse or type to stay active. It will go idle after 10 seconds of inactivity.</p> </div> ` });
Debug
Known issues
breakingidle-vue is designed for Vue 2 applications and is not compatible with Vue 3 due to fundamental changes in Vue's plugin API and reactivity system.
fix
For Vue 3 projects, consider alternative libraries or implement idle detection manually using standard browser APIs.
affects: >=2.0.0
gotchaThe plugin requires either an `eventEmitter` (a Vue instance) or a Vuex `store` instance in its options. Omitting both will prevent the plugin from functioning correctly.
fix
Ensure that the options object passed to `Vue.use(IdleVue, options)` includes either `eventEmitter: new Vue()` or `store: new Vuex.Store({...})`.
affects: >=2.0.0
gotchaThe `onIdle` and `onActive` hooks will only be invoked if an `eventEmitter` (a Vue instance) is provided in the plugin options.
fix
To use the hooks, pass `eventEmitter: new Vue()` in the plugin options. If using a Vuex store, ensure the store is correctly configured and passed.
affects: >=2.0.0
gotchaThe `isAppIdle` computed property and the `IdleView` component will only be available if a Vuex `store` instance is provided in the plugin options.
fix
To utilize `isAppIdle` or the `IdleView` component, pass `store: new Vuex.Store({...})` in the plugin options and ensure the store is correctly imported and provided to your root Vue instance.
affects: >=2.0.0
Errors
Common errors & fixes
Error: `Vue.use()` requires a plugin be passed as an argument.
Attempting to install idle-vue without correctly importing or passing the IdleVue plugin itself.
fix
Ensure `import IdleVue from 'idle-vue'` is present and `Vue.use(IdleVue, ...)` is called with the imported plugin.
TypeError: Cannot read properties of undefined (reading 'isIdle') or 'isAppIdle' is undefined.
The `idle-vue` plugin was not initialized with a Vuex store, which is required for `isAppIdle` to be available.
fix
Pass a Vuex store instance in the plugin options: `Vue.use(IdleVue, { store })` and ensure the store is provided to your root Vue instance.
onIdle or onActive hooks are not firing.
The `idle-vue` plugin was not initialized with an `eventEmitter` (a Vue instance) in its options, which is necessary for the hooks to function.
fix
Provide an `eventEmitter` in the plugin options: `const eventsHub = new Vue(); Vue.use(IdleVue, { eventEmitter: eventsHub, ... })`.
Upgrade
Version history
2.0.5latest on npm
Audit
Dependencies
vuerequiredCore dependency as idle-vue is a Vue.js plugin, requiring a global Vue instance.
idle-jsrequiredProvides the underlying logic for user idle detection.
vuexoptionalOptional dependency for integrating idle state with a Vuex store, enabling the 'isAppIdle' computed property and 'IdleView' component.
Agent activity
4 hits · last 30 days
node
4
Resources
idle-vue — npm install idle-vue · libregistry