BYU Front End common module for Nuxt.js
npm install @byu-oit/nuxt-commonCommon packages, plus a small set of plugins, for OIT Vue frontend apps
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:
`json`
"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.`typescript`
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 valuesyearTerm
- - 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_URLNUXT_ENV_OAUTH_DISABLE_AUTO_LOGIN`
To disable auto-login (i.e. allow some public pages), set environment variable