UNPKG

@nvs-pinia/collection

Version:

Frequently used Pinia modules at Netvlies

47 lines (32 loc) 1.84 kB
# Pinia Collection: collection 🍍 This repository contains Pinia store modules collection that is frequently used in NVS projects. ## Installation 1. Add Pinia to your project. [Follow the guide here](https://pinia.vuejs.org/getting-started.html) 2. Add the client bundle to your project: `npm i @nvs-pinia/client` 3. Add the netvlies pinia collection to your project: `npm i @nvs-pinia/collection` 4. Create a compatible Pinia instance and provide custom options: ``` import { createApp } from 'vue'; import { usePiniaCollection } from '@nvs-pinia/client'; createApp({...}).use(usePiniaCollection({...})); ``` 4. Import the module(s) you need inside your `script setup`: `import { useAuthentication } from '@nvs-pinia/collection';` 5. Use the imported module in the composition API or anywhere after initialization of Pinia. [See the docs](https://pinia.vuejs.org/core-concepts/outside-component-usage.html). ## Usage of plugins without Pinia collection instance By default, some of the plugins provided by this collection will be loaded on usage of `usePiniaCollection`. If you have a Pinia instance of your own and just want to use some of these plugins, insert the following: ``` import { createPinia } from 'pinia'; import { useAPI } from '@nvs-pinia/client'; const pinia = createPinia(); pinia.use({ store } => { store.$api = useAPI(...); }); ``` For more docs, follow the [Pinia plugin guide](https://pinia.vuejs.org/core-concepts/plugins.html) ## Contributing guide 1. Clone this repo 2. Make your changes and commit them according to our [git commit format](https://netvlies.jira.com/l/c/Z2MQzswC) 3. Submit PR and get it approved 4. Merge PR to `release/{MR Creation year}{MR creation month}{3 digit number}` e.g. `release/202206001` 5. Create new release with `npm run release` 6. Merge release to `main`