Bumps the npm-dependencies group with 32 updates in the /js directory: | Package | From | To | | --- | --- | --- | | [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `3.3.1` | `3.3.3` | | [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.37.0` | `9.39.2` | | [eslint](https://github.com/eslint/eslint) | `9.38.0` | `9.39.2` | | [eslint-plugin-playwright](https://github.com/playwright-community/eslint-plugin-playwright) | `2.2.2` | `2.4.0` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.4` | `16.2.7` | | [i18next](https://github.com/i18next/i18next) | `25.6.0` | `25.7.3` | | [keycloak-js](https://github.com/keycloak/keycloak-js) | `26.2.0` | `26.2.2` | | [lodash-es](https://github.com/lodash/lodash) | `4.17.21` | `4.17.22` | | [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.63.0` | `7.70.0` | | [react-i18next](https://github.com/i18next/react-i18next) | `16.0.1` | `16.5.1` | | [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `6.30.1` | `6.30.2` | | [@playwright/test](https://github.com/microsoft/playwright) | `1.56.0` | `1.57.0` | | [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react-swc) | `4.1.0` | `4.2.2` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.1.11` | `7.3.0` | | [vite-plugin-checker](https://github.com/fi3ework/vite-plugin-checker) | `0.11.0` | `0.12.0` | | [@dagrejs/dagre](https://github.com/dagrejs/dagre) | `1.1.5` | `1.1.8` | | [p-debounce](https://github.com/sindresorhus/p-debounce) | `5.0.0` | `5.1.0` | | [yaml](https://github.com/eemeli/yaml) | `2.8.1` | `2.8.2` | | [@axe-core/playwright](https://github.com/dequelabs/axe-core-npm) | `4.10.2` | `4.11.0` | | [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.3.0` | `16.3.1` | | [jsdom](https://github.com/jsdom/jsdom) | `27.0.0` | `27.4.0` | | [properties-file](https://github.com/properties-file/properties-file) | `3.6.1` | `3.6.3` | | [commander](https://github.com/tj/commander.js) | `14.0.1` | `14.0.2` | | [fs-extra](https://github.com/jprichardson/node-fs-extra) | `11.3.2` | `11.3.3` | | [simple-git](https://github.com/steveukx/git-js/tree/HEAD/simple-git) | `3.28.0` | `3.30.0` | | [@octokit/rest](https://github.com/octokit/rest.js) | `22.0.0` | `22.0.1` | | [@types/gunzip-maybe](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/gunzip-maybe) | `1.4.2` | `1.4.3` | | [@faker-js/faker](https://github.com/faker-js/faker) | `10.1.0` | `10.2.0` | | [chai](https://github.com/chaijs/chai) | `6.2.0` | `6.2.2` | | [mocha](https://github.com/mochajs/mocha) | `11.7.4` | `11.7.5` | | [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/HEAD/packages/replace) | `6.0.2` | `6.0.3` | | [rollup](https://github.com/rollup/rollup) | `4.52.5` | `4.55.1` | Updates `@eslint/eslintrc` from 3.3.1 to 3.3.3 - [Release notes](https://github.com/eslint/eslintrc/releases) - [Changelog](https://github.com/eslint/eslintrc/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslintrc/compare/v3.3.1...eslintrc-v3.3.3) Updates `@eslint/js` from 9.37.0 to 9.39.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js) Updates `eslint` from 9.38.0 to 9.39.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.38.0...v9.39.2) Updates `eslint-plugin-playwright` from 2.2.2 to 2.4.0 - [Release notes](https://github.com/playwright-community/eslint-plugin-playwright/releases) - [Changelog](https://github.com/mskelton/eslint-plugin-playwright/blob/main/CHANGELOG.md) - [Commits](https://github.com/playwright-community/eslint-plugin-playwright/compare/v2.2.2...v2.4.0) Updates `lint-staged` from 16.2.4 to 16.2.7 - [Release notes](https://github.com/lint-staged/lint-staged/releases) - [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md) - [Commits](https://github.com/lint-staged/lint-staged/compare/v16.2.4...v16.2.7) Updates `i18next` from 25.6.0 to 25.7.3 - [Release notes](https://github.com/i18next/i18next/releases) - [Changelog](https://github.com/i18next/i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/i18next/compare/v25.6.0...v25.7.3) Updates `keycloak-js` from 26.2.0 to 26.2.2 - [Release notes](https://github.com/keycloak/keycloak-js/releases) - [Changelog](https://github.com/keycloak/keycloak-js/blob/main/RELEASE-CHECKLIST.md) - [Commits](https://github.com/keycloak/keycloak-js/compare/26.2.0...26.2.2) Updates `lodash-es` from 4.17.21 to 4.17.22 - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/commits) Updates `react-hook-form` from 7.63.0 to 7.70.0 - [Release notes](https://github.com/react-hook-form/react-hook-form/releases) - [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md) - [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.63.0...v7.70.0) Updates `react-i18next` from 16.0.1 to 16.5.1 - [Changelog](https://github.com/i18next/react-i18next/blob/master/CHANGELOG.md) - [Commits](https://github.com/i18next/react-i18next/compare/v16.0.1...v16.5.1) Updates `react-router-dom` from 6.30.1 to 6.30.2 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.30.2/packages/react-router-dom) Updates `@playwright/test` from 1.56.0 to 1.57.0 - [Release notes](https://github.com/microsoft/playwright/releases) - [Commits](https://github.com/microsoft/playwright/compare/v1.56.0...v1.57.0) Updates `@vitejs/plugin-react-swc` from 4.1.0 to 4.2.2 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react-swc@4.2.2/packages/plugin-react-swc) Updates `vite` from 7.1.11 to 7.3.0 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v7.3.0/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.3.0/packages/vite) Updates `vite-plugin-checker` from 0.11.0 to 0.12.0 - [Release notes](https://github.com/fi3ework/vite-plugin-checker/releases) - [Commits](https://github.com/fi3ework/vite-plugin-checker/compare/vite-plugin-checker@0.11.0...vite-plugin-checker@0.12.0) Updates `@dagrejs/dagre` from 1.1.5 to 1.1.8 - [Release notes](https://github.com/dagrejs/dagre/releases) - [Commits](https://github.com/dagrejs/dagre/compare/v1.1.5...v1.1.8) Updates `p-debounce` from 5.0.0 to 5.1.0 - [Release notes](https://github.com/sindresorhus/p-debounce/releases) - [Commits](https://github.com/sindresorhus/p-debounce/compare/v5.0.0...v5.1.0) Updates `yaml` from 2.8.1 to 2.8.2 - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v2.8.1...v2.8.2) Updates `@axe-core/playwright` from 4.10.2 to 4.11.0 - [Release notes](https://github.com/dequelabs/axe-core-npm/releases) - [Changelog](https://github.com/dequelabs/axe-core-npm/blob/develop/CHANGELOG.md) - [Commits](https://github.com/dequelabs/axe-core-npm/compare/v4.10.2...v4.11.0) Updates `@testing-library/react` from 16.3.0 to 16.3.1 - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.1) Updates `jsdom` from 27.0.0 to 27.4.0 - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/27.0.0...27.4.0) Updates `properties-file` from 3.6.1 to 3.6.3 - [Release notes](https://github.com/properties-file/properties-file/releases) - [Changelog](https://github.com/properties-file/properties-file/blob/main/CHANGELOG.md) - [Commits](https://github.com/properties-file/properties-file/compare/3.6.1...3.6.3) Updates `commander` from 14.0.1 to 14.0.2 - [Release notes](https://github.com/tj/commander.js/releases) - [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md) - [Commits](https://github.com/tj/commander.js/compare/v14.0.1...v14.0.2) Updates `fs-extra` from 11.3.2 to 11.3.3 - [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md) - [Commits](https://github.com/jprichardson/node-fs-extra/compare/11.3.2...11.3.3) Updates `simple-git` from 3.28.0 to 3.30.0 - [Release notes](https://github.com/steveukx/git-js/releases) - [Changelog](https://github.com/steveukx/git-js/blob/main/simple-git/CHANGELOG.md) - [Commits](https://github.com/steveukx/git-js/commits/simple-git@3.30.0/simple-git) Updates `@octokit/rest` from 22.0.0 to 22.0.1 - [Release notes](https://github.com/octokit/rest.js/releases) - [Commits](https://github.com/octokit/rest.js/compare/v22.0.0...v22.0.1) Updates `@types/gunzip-maybe` from 1.4.2 to 1.4.3 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/gunzip-maybe) Updates `@faker-js/faker` from 10.1.0 to 10.2.0 - [Release notes](https://github.com/faker-js/faker/releases) - [Changelog](https://github.com/faker-js/faker/blob/next/CHANGELOG.md) - [Commits](https://github.com/faker-js/faker/compare/v10.1.0...v10.2.0) Updates `chai` from 6.2.0 to 6.2.2 - [Release notes](https://github.com/chaijs/chai/releases) - [Changelog](https://github.com/chaijs/chai/blob/main/History.md) - [Commits](https://github.com/chaijs/chai/compare/v6.2.0...v6.2.2) Updates `mocha` from 11.7.4 to 11.7.5 - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/v11.7.5/CHANGELOG.md) - [Commits](https://github.com/mochajs/mocha/compare/v11.7.4...v11.7.5) Updates `@rollup/plugin-replace` from 6.0.2 to 6.0.3 - [Changelog](https://github.com/rollup/plugins/blob/master/packages/replace/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/babel-v6.0.3/packages/replace) Updates `rollup` from 4.52.5 to 4.55.1 - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.52.5...v4.55.1) --- updated-dependencies: - dependency-name: "@eslint/eslintrc" dependency-version: 3.3.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@eslint/js" dependency-version: 9.39.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: eslint dependency-version: 9.39.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: eslint-plugin-playwright dependency-version: 2.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: lint-staged dependency-version: 16.2.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: i18next dependency-version: 25.7.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: keycloak-js dependency-version: 26.2.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: lodash-es dependency-version: 4.17.22 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: react-hook-form dependency-version: 7.70.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: react-i18next dependency-version: 16.5.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: react-router-dom dependency-version: 6.30.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@playwright/test" dependency-version: 1.57.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@vitejs/plugin-react-swc" dependency-version: 4.2.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: vite dependency-version: 7.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: vite-plugin-checker dependency-version: 0.12.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@dagrejs/dagre" dependency-version: 1.1.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: p-debounce dependency-version: 5.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: yaml dependency-version: 2.8.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@axe-core/playwright" dependency-version: 4.11.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@testing-library/react" dependency-version: 16.3.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: jsdom dependency-version: 27.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: properties-file dependency-version: 3.6.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: commander dependency-version: 14.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: fs-extra dependency-version: 11.3.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: simple-git dependency-version: 3.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: "@octokit/rest" dependency-version: 22.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@types/gunzip-maybe" dependency-version: 1.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@faker-js/faker" dependency-version: 10.2.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies - dependency-name: chai dependency-version: 6.2.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: mocha dependency-version: 11.7.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: "@rollup/plugin-replace" dependency-version: 6.0.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-dependencies - dependency-name: rollup dependency-version: 4.55.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Keycloak Account UI
This project is the next generation of the Keycloak Account UI. It is written with React and PatternFly and uses Vite.
Features
Contains all the "pages" from the account-ui as re-usable components, all the functions to save and the side menu to use in your own build of the account-ui
Install
npm i @keycloak/keycloak-account-ui
Usage
To use these pages you'll need to add KeycloakProvider in your component hierarchy to setup what client, realm and url to use.
import { KeycloakProvider } from "@keycloak/keycloak-ui-shared";
//...
<KeycloakProvider environment={{
serverBaseUrl: "http://localhost:8080",
realm: "master",
clientId: "security-admin-console"
}}>
{/* rest of you application */}
</KeycloakProvider>
Translation
For the translation we use react-i18next you can set it up as described on their website.
If you want to use the translations that are provided then you need to add i18next-fetch-backend to your project and add:
backend: {
loadPath: `http://localhost:8180/resources/master/account/{{lng}}`,
parse: (data: string) => {
const messages = JSON.parse(data);
return Object.fromEntries(
messages.map(({ key, value }) => [key, value])
);
},
},
to the i18next config object.
Save functions
If you want to build your own "pages" you can still reuse the save functions:
- deleteConsent
- deleteCredentials
- deleteSession
- getApplications
- getCredentials
- getDevices
- getGroups
- getLinkedAccounts
- getPermissionRequests
- getPersonalInfo
- getSupportedLocales
- linkAccount
- savePersonalInfo
- unLinkAccount
Example:
import { savePersonalInfo, useEnvironment } from "@keycloak/keycloak-account-ui";
//...
function App() {
// the save function also needs to have the context so that it knows where to POST
// this hook gives us access to the `KeycloakProvider` context
const context = useEnvironment();
const submit = async (data) => {
try {
await savePersonalInfo(context, data);
} catch (error) {
// Error contains `name` and `value` of the server side errors
// and your app will have better error handling ;)
console.error(error);
}
}
// ...
Building
To build a library instead of an app you need to add the LIB=true environment variable.
LIB=true pnpm run build