npm.io
1.0.3 • Published 7 years ago

vuex-electron

Licence
MIT
Version
1.0.3
Deps
2
Size
243 kB
Vulns
0
Weekly
0
Stars
301

Vuex Electron

Travis Code Climate Code Climate Code Style Prettier Made With Love

The easiest way to share your Vuex Store between all processes (including main).

Features

Persisted state
Shared mutations

Requirements

Installation

Installation of the Vuex Electron easy as 1-2-3.

  1. Install package with using of yarn or npm:

    yarn install vuex-electron

    or

    npm install vuex-electron
  2. Include plugins in your Vuex store::

    import Vue from "vue"
    import Vuex from "vuex"
    
    import { createPersistedState, createSharedMutations } from "vuex-electron"
    
    Vue.use(Vuex)
    
    export default new Vuex.Store({
      // ...
      plugins: [
        createPersistedState(),
        createSharedMutations()
      ],
      // ...
    })
  3. In case if you enabled createSharedMutations() plugin you need to create an instance of store in the main process. To do it just add this line into your main process (for example src/main.js):

    import './path/to/your/store'
  4. Well done you did it! The last step is to add the star to this repo

Usage example: Vuex Electron Example

IMPORTANT

In renderer process to call actions you need to use dispatch or mapActions. Don't use commit because actions fired via commit will not be shared between processes.

Options

Available options for createPersistedState()

createPersistedState({
  whitelist: ["whitelistedAction", "anotherWhitelistedAction"],

  // or

  whitelist: (mutation) => {
    return true
  },

  // or

  blacklist: ["ignoredAction", "anotherIgnoredAction"],

  // or

  blacklist: (mutation) => {
    return true
  }
})
Author

Andrew Emelianenko
IG: @truemelianenko

License

MIT License