@rio-cloud/rio-session-expired-info
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

RIO Session Expired Info

👉 Provides the SessionExpiredDialog component that can be used to inform the user about their expired session.

🔋 Comes "batteries included", meaning you don't need to provide the translations. Just supply it with the current locale of your app.

Installation

Before installing, make sure you have these dependencies in your project already as they're needed by this package:

  • react version 16.7 or above
  • react-dom version 16.7 or above
  • react-intl version 5.24.8 or above
  • @rio-cloud/rio-uikit version 0.15 or above

Next, add the npm package to your project:

npm install @rio-cloud/rio-session-expired-info --save

Usage

import { SessionExpiredDialog } from '@rio-cloud/rio-session-expired-info';

const Example = () => {
    const [showDialog, setShowDialog] = useState(false);
    
    const handleDialogClose = () => {
        setShowDialog(false);
        // you could perform other things, e.g. track that the user deliberately wants to stay in the current page
    };

    return (
        <SessionExpiredDialog
            show={showDialog}
            onClose={handleDialogClose}
            locale="en-GB"
        />
    );
}

License

Both @rio-cloud/rio-uikit and @rio-cloud/rio-session-expired-info are licensed under the Apache 2.0 license.

You can see the full license text in LICENSE.

Development

A local demo page can be started with npm start. You can view it at http://localhost:3000.

Publishing

ℹ️ The version in the package.json is always the latest one that's already on npmjs.com.

💪 Publishing is done by hand from your local dev machine, but mostly automated to guarantee a consistent way.

⚠️ Make sure you've committed & pushed all your changes and your working copy is clean & up to date with the remote. Then, when you're ready:

npm run release

Before running the actual release script, npm will call our prerelease script automatically, which will

  • format the code
  • run the linter
  • run the build (to produce the dist folder that's going to be a part of the package)

Once that's done, the release script will kick in, which will start np. That will

  • check whether you're in the right state to publish, at all (on master branch, no changed files, etc.)
  • provide some feedback if there are unknown files that will be added to the package for the first time and/or files which are present, but won't be added to the package. If that's the case, please read carefully, what's going on
  • ask you which type of release / published version you want (think about semver!)
  • perform a clean npm install just to be sure
  • run tests
  • update package.json and lockfile with the new version + commit & tag
  • perform the actual npm publish internally (this might ask you for your npmjs.com login incl. 2FA)
  • push everything to git

TODOs

  • [x] update README, docs, etc
  • [x] add https://www.npmjs.com/package/np for publishing
  • [x] remove s3 + deployment + distribution
  • [x] re-create simple build pipeline in CDK
  • [ ] re-add license checker (maybe a newer version, though)
  • [x] add slack alerts and/or datadog monitors to pipelines
  • [ ] set up renovate

/@rio-cloud/rio-session-expired-info/

    Package Sidebar

    Install

    npm i @rio-cloud/rio-session-expired-info

    Weekly Downloads

    691

    Version

    1.0.0

    License

    Apache-2.0

    Unpacked Size

    37.5 kB

    Total Files

    8

    Last publish

    Collaborators

    • defaude
    • rioclaid
    • rio_cop_frontend
    • rio_team_ctc