nuxt-unleash
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

nuxt-unleash

npm version npm downloads Github Actions CI Codecov License

Nuxt.js module to use Unleash toggle feature services

📖 Release Notes

Features

Use $unleash to access and handle your Unleash feature flags in client side, or context.app.unleash to access Unleash feature flags from server side.

Setup

  1. Add nuxt-unleash dependency to your project
yarn add nuxt-unleash
  1. Add nuxt-unleash to the modules section of nuxt.config.js
export default {
  modules: [
    // Simple usage
    'nuxt-unleash',

    // With options
    ['nuxt-unleash', { /* module options */ }]
  ]
}

⚠️ If you are using Nuxt < v2.9 you have to install the module as a dependency (No --dev or --save-dev flags) and use modules section in nuxt.config.js instead of buildModules.

Using top level options

export default {
  buildModules: [
    'nuxt-unleash'
  ],
  unleash: {
    /* module options */
  }
}

Options

url

  • Type: String
  • Required: true

Unleash API URL

instanceId

  • Type: String
  • Required: true

Unleash API Instance ID

environment

  • Type: String
  • Required: false

Name of the environment your Unleash application runs in. See the example configuration.

config

The module allows some configuration parameters.

If you want to default to the value of a feature that doesn't exist, use:

enabledDefault: true

On the other hand, to set a header as the source of the ip, you can add:

headerIP: 'CF-Connection-IP'

Usage

Client Side

To access the module in side client you just have to call this.$unleash and method you want to use.

<template>
  <h1>{{ value ? 'enabled' : 'disabled' }}</h1>
</template>

<script>
export default {
  mounted() {
    this.value = this.$unleash.isEnabled('new-feature')
  }
}
</script>

Sever Side

To access the module in side server you just have to call ctx.app.unleash and method you want to use.

asyncData(ctx) {
  const value = ctx.app.unleash.isEnabled('new-feature')
  if(value) {
      ctx.redirect('/new-feature-page')
  }
}

Development

  1. Clone this repository
  2. Install dependencies using yarn install or npm install
  3. Start development server using npm run dev

License

MIT License

Copyright (c) Conejerock

Package Sidebar

Install

npm i nuxt-unleash

Weekly Downloads

23

Version

1.0.4

License

MIT

Unpacked Size

14.8 kB

Total Files

9

Last publish

Collaborators

  • mr.cone