@byu-oit/nuxt-common
TypeScript icon, indicating that this package has built-in type declarations

2.17.10 • Public • Published

Nuxt common library

Common packages, plus a small set of plugins, for OIT Vue frontend apps

IMPORTANT

This package uses Nuxt 2, which has some... quirks when used with Node 18 or above. To get a clean installation, you must use the --legacy-peer-deps flag for the initial installation:

  • DELETE any existing package-lock.json
  • Run npm install --legacy-peer-deps
  • Bizarrely, you can now run npm install without that legacy flag; the resulting package-lock will be different than if you run it without first running the legacy-flag version

One of the sub-dependencies of Nuxt 2 also requires a legacy OpenSSL environment flag for all nuxt commands. In your package.json, for each script that runs the nuxt command, prepend

cross-env NODE_OPTIONS=--openssl-legacy-provider 

For example:

  "scripts": {
    "dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider nuxt",
    "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider nuxt build",
    "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider nuxt start",
  }
  • AppDynamics

Add AppDynamics monitoring.

Usage: Set a build environment variable NUXT_ENV_APP_DYNAMICS_KEY, or a config environment variable appDynamicsKey

  • Axios

Automatically attempt token refresh on WSO2 401 error, and automatically pop up a Vuetify dialog on any other response errors

Usage: enabled automatically. To disable the error popup (e.g. if you want to completely handle the error yourself), either set a global environment variable NUXT_ENV_NO_AXIOS_AUTO_ERROR, or add noAutoError to the config for individual axios calls, e.g.

  this.$axios.$get(url, { noAutoError: true })
  • Filters

A few convenient Vue filters

  • moment - a slightly-enhanced vue-moment filter that won't complain about null values

  • yearTerm - convert year-term integers to full text, e.g. "20213" becomes "Spring 2021"

  • stripHtml - strip HTML tags, i.e. extract plain-text content from HTML content

  • Implicit Grant

Wraps WSO2 implicit grant process. Defaults the entire site to forced auto-login on load.

Usage: Set environment variables NUXT_ENV_OAUTH_CLIENT_ID and NUXT_ENV_OAUTH_CALLBACK_URL To disable auto-login (i.e. allow some public pages), set environment variable NUXT_ENV_OAUTH_DISABLE_AUTO_LOGIN

Readme

Keywords

none

Package Sidebar

Install

npm i @byu-oit/nuxt-common

Weekly Downloads

15

Version

2.17.10

License

Apache-2.0

Unpacked Size

29.6 kB

Total Files

23

Last publish

Collaborators

  • mjweather
  • yoshutch
  • lehinpm
  • oscea
  • stuft2
  • mhailstone
  • arasmus8
  • garygsc
  • martingarn
  • snelg
  • byu-oit-bot