update-popup icon indicating copy to clipboard operation
update-popup copied to clipboard

💬Display an update message at right bottom

update-popup

Build Status NPM Download NPM Version NPM License PRs Welcome Automated Release Notes by gren

Table of Contents

  • Features
  • Install
  • Usage
  • Options
  • Notice
  • Contributing
  • Contributors
  • License

Features

Check if the current application is the latest version. If not, it reminds you to reload the current page.

⬆ Back to Top

Install

yarn add @femessage/update-popup

⬆ Back to Top

Usage

popup.txt

You need to set environment variables UPDATE_POPUP_VERSION, when iteratively updating, modify the variables greater than current value.

Environment variables

# .env
UPDATE_POPUP_VERSION=1.0.0 # Support more. e.g.: 1.0.0.1, 1.0.0.1.1

You may use auto to ignore this.

popup.js

Project configurations:

// nuxt.config.js
const config = {
  modules: [
    ['@femessage/update-popup/nuxt', {auto: true}]
  ]
}
// vue.config.js 
// poi.config.js 
// .umirc.ts
const config = {
  chainWebpack: config => {
    config.plugin('femessage-update-popup').use(require('@femessage/update-popup'), [{auto: true}])
  }
}

// and remember add import in your App.js
// you may need to ignore IDE's warning
import '@femessage/update-popup/app/main'

It's so easy.

⬆ Back to Top

Options

publicPath

Use publicPath setting

⬆ Back to Top

auto

  • Type: boolean
  • Default: false

to make updated version code automaticly

Note:If true,the environment variable UPDATE_POPUP_VERSION doesn't work.

versionType

  • Type: 'timestamp' | Support more...
  • Default: timestamp

The way of automatically generated version,values:

  • timestamp:

    Using the current timestamp,it looks like this: 1603184005919.0.0. it was put in the first place to ensure that it would always be bigger than the previous version.

    Note:this will lose the control of version semantics.

inject

  • Type: boolean
  • Default: true

Does it need to be automatically added to the webpack entry file? If set false Need to manually @femessage/update-popup/app/main Inject it into your code. When to set this parameter, see Notice.QianKun

envKey

  • Type: string
  • Default: 'UPDATE_POPUP_VERSION'

Key of the environment variable. e.g. process.env.UPDATE_POPUP_VERSION=1.0.0

versionFileName

  • Type: string
  • Default: 'update_popup_version.txt'

Version filename.

Notice

QianKun

This plugin automatically generates a common js file and adds it to the webpack entry file, however, due to the requirement to export lifecycle hooks for the sub-application's entry file.
It is necessary to disable the automatic addition of entry files, with the following adjustments:

Use in sub-applications

Adjust the project configuration file

# nuxt.config.js
const config = {
-  modules: ['@femessage/update-popup/nuxt']
+  modules: [['@femessage/update-popup/nuxt'], { inject: false }]
}

# vue.config.js or poi.config.js
const config = {
  chainWebpack: config => {
    config.plugin('update-popup').use(UpdatePopup, [{
+     inject: false
    }])
  }
}

Add an entry file in your Sub-application at last

+ import '@femessage/update-popup/app/main'

⬆ Back to Top

Contributing

For those who are interested in contributing to this project, such as:

  • report a bug
  • request new feature
  • fix a bug
  • implement a new feature

Please refer to our contributing guide.

⬆ Back to Top

Contributors

Thanks goes to these wonderful people (emoji key):


EVILLT

💻 ⚠️ 🤔 📖 🚧

4Ark

📖 🌍 💻 🐛

ynwshy

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

⬆ Back to Top

License

MIT

⬆ Back to Top