Skip to content

Installation

There are several ways to install the ExtensionLogin SDK in your Chrome extension.

The recommended way to install ExtensionLogin is via npm:

bash
npm install extensionlogin

Then 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/[email protected]/dist/extensionlogin.min.js"></script>

Manual Download

  1. Download the latest release from GitHub
  2. Copy extensionlogin.min.js to your extension directory
  3. 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

PermissionPurpose
host_permissions for api.extensionlogin.comAPI communication
storageStoring user session data locally

Optional Permissions

PermissionPurpose
identityRequired 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: '[email protected]'
});

Bundle Size

ExtensionLogin is designed to be lightweight:

FileSizeGzipped
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 console

Next Steps

Built for Chrome Extension Developers