Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–223 runs
build_error
glibcnode 18–223 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
AuthProvider
✓ import { AuthProvider } from 'xadmin-auth'
✗ const AuthProvider = require('xadmin-auth')
ESM-only package since v3; CommonJS require will fail.
useAuth
✓ import { useAuth } from 'xadmin-auth'
✗ import useAuth from 'xadmin-auth'
Named export, not default export.
withAuth
✓ import { withAuth } from 'xadmin-auth'
✗ import { withAuth } from 'xadmin-auth/withAuth'
Import directly from package root; subpaths may break in future versions.
Shows setup of AuthProvider and useAuth hook with a basic login form.
import React from 'react';
import { AuthProvider, useAuth } from 'xadmin-auth';
import { Xadmin } from 'xadmin';
function LoginPage() {
const { login } = useAuth();
const handleSubmit = async (e) => {
e.preventDefault();
const form = new FormData(e.target);
try {
await login(form.get('username'), form.get('password'));
alert('Logged in!');
} catch (err) {
alert('Login failed: ' + err.message);
}
};
return (
<form onSubmit={handleSubmit}>
<input name="username" placeholder="Username" />
<input name="password" type="password" placeholder="Password" />
<button type="submit">Log In</button>
</form>
);
}
function App() {
return (
<Xadmin>
<AuthProvider>
<LoginPage />
</AuthProvider>
</Xadmin>
);
}
export default App;
Errors
Common errors & fixes
Module not found: Can't resolve 'xadmin-auth'
Package not installed or not in node_modules.
fixRun 'npm install xadmin-auth' or 'yarn add xadmin-auth'.
TypeError: Cannot destructure property 'login' of '(0 , ...)' as it is undefined.
useAuth hook called outside of AuthProvider.
fixEnsure component is inside <AuthProvider>.
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function but got: object.
Importing a default export when only named exports exist (e.g., import AuthProvider from 'xadmin-auth').
fixUse named import: import { AuthProvider } from 'xadmin-auth'. Audit
Dependencies
reactrequiredJSX and component lifecycle needed for auth components
lodashrequiredUtility functions for object manipulation and deep cloning
react-router-domrequiredRouting for protected routes and navigation after auth actions
xadminrequiredCore Xadmin framework providing base abstractions
xadmin-formrequiredForm handling for login and registration forms
xadmin-i18nrequiredInternationalization support for auth UI messages
xadmin-modelrequiredData models for user and permission entities