Appearance
Installation
There are several ways to install the ExtensionLogin SDK in your Chrome extension.
NPM (Recommended)
The recommended way to install ExtensionLogin is via npm:
bash
npm install extensionloginThen import it in your JavaScript:
javascript
import ExtensionLogin from 'extensionlogin';With a Bundler
If you're using a bundler like Webpack, Rollup, or Vite:
javascript
// ES Modules
import ExtensionLogin from 'extensionlogin';
// CommonJS
const ExtensionLogin = require('extensionlogin');CDN
You can also load ExtensionLogin from a CDN:
html
<script src="https://cdn.jsdelivr.net/npm/extensionlogin@latest/dist/extensionlogin.min.js"></script>When loaded via CDN, ExtensionLogin is available as a global:
javascript
window.ExtensionLogin.init({ apiKey: 'el_live_xxx' });Specific Version
For production, pin to a specific version:
html
<script src="https://cdn.jsdelivr.net/npm/extensionlogin@1.0.0/dist/extensionlogin.min.js"></script>Manual Download
- Download the latest release from GitHub
- Copy
extensionlogin.min.jsto your extension directory - Include it in your HTML:
html
<script src="extensionlogin.min.js"></script>Manifest V3 Configuration
Add the required permissions to your manifest.json:
json
{
"manifest_version": 3,
"name": "Your Extension",
"version": "1.0.0",
"host_permissions": [
"https://api.extensionlogin.com/*"
],
"permissions": [
"storage"
]
}Required Permissions
| Permission | Purpose |
|---|---|
host_permissions for api.extensionlogin.com | API communication |
storage | Storing user session data locally |
Optional Permissions
| Permission | Purpose |
|---|---|
identity | Required for Google OAuth integration |
TypeScript Support
ExtensionLogin includes TypeScript definitions. No additional packages needed:
typescript
import ExtensionLogin from 'extensionlogin';
import type { User, IdentifyResult, InitOptions } from 'extensionlogin';
const options: InitOptions = {
apiKey: 'el_live_xxx'
};
ExtensionLogin.init(options);
const result: IdentifyResult = await ExtensionLogin.identify({
email: 'user@example.com'
});Bundle Size
ExtensionLogin is designed to be lightweight:
| File | Size | Gzipped |
|---|---|---|
| extensionlogin.min.js | ~25KB | ~8KB |
| extensionlogin.esm.js | ~28KB | ~9KB |
Browser Support
ExtensionLogin works in all Chromium-based browsers:
- Chrome 88+
- Edge 88+
- Brave
- Opera
- Vivaldi
Manifest V2 Support
While we recommend Manifest V3, ExtensionLogin also works with Manifest V2 extensions. The same SDK works for both.
Verifying Installation
After installation, verify everything is working:
javascript
import ExtensionLogin from 'extensionlogin';
console.log('ExtensionLogin loaded:', typeof ExtensionLogin);
// Should output: "ExtensionLogin loaded: object"
ExtensionLogin.init({
apiKey: 'el_live_xxx',
debug: true // Enable debug logging
});
// Should see initialization message in consoleNext Steps
- Configuration - Configure SDK options
- Quick Start - Build your first integration