Installation

Choose the installation method that best fits your project setup.


The simplest way to get started. Add the script tag to your HTML:

<!-- Development (with source maps) -->
<script src="https://js.qariyb.com/v1/qariyb.js"></script>

<!-- Production (minified) -->
<script src="https://js.qariyb.com/v1/qariyb.min.js"></script>

With Configuration

<script>
  window.QariybConfig = {
    publishableKey: 'pk_live_...',
    theme: 'light',
  };
</script>
<script src="https://js.qariyb.com/v1/qariyb.js"></script>

npm / yarn / pnpm

For modern JavaScript projects with bundlers:

Install

npm install @qariyb/js

ESM Import

// Import registers all web components automatically
import '@qariyb/js';

// Optional: import specific exports
import { VERSION, QariybCheckout } from '@qariyb/js';

CommonJS

// Registers all web components
require('@qariyb/js');

TypeScript Support

The package includes TypeScript definitions. Import types directly:

import type {
  QariybConfig,
  QariybEvent,
  TicketType,
  Cart,
  Order,
  OrderTicket,
  CheckoutSuccessDetail,
} from '@qariyb/js';

Typed Event Listeners

import type { QariybCustomEvent, CheckoutSuccessDetail } from '@qariyb/js';

document.addEventListener('qariyb:checkout:success', ((
  e: QariybCustomEvent<CheckoutSuccessDetail>
) => {
  const { order, tickets } = e.detail.data;
  console.log(order.id, tickets.length);
}) as EventListener);

Bundler Configuration

Vite

Works out of the box. No configuration needed.

// vite.config.js
export default {
  // @qariyb/js works with default settings
};

Webpack

Add to your entry file:

// index.js
import '@qariyb/js';

Rollup

// rollup.config.js
import resolve from '@rollup/plugin-node-resolve';

export default {
  plugins: [resolve()],
};

Package Exports

The package provides multiple build formats:

ExportPathUse Case
ESMdist/qariyb.esm.jsModern bundlers (Vite, Webpack 5)
UMDdist/qariyb.umd.jsLegacy bundlers, script tags
Typesdist/index.d.tsTypeScript support

Direct Imports

// ESM (default for import)
import '@qariyb/js';

// Specific build
import '@qariyb/js/qariyb.js';
import '@qariyb/js/qariyb.min.js';

Version Information

Check the loaded SDK version:

import { VERSION } from '@qariyb/js';
console.log('Qariyb Embed version:', VERSION);

Or from the global:

// After loading via CDN
console.log('Loaded version:', window.Qariyb?.VERSION);

Content Security Policy (CSP)

If your site uses CSP, add these directives:

script-src 'self' https://js.qariyb.com https://js.stripe.com;
frame-src https://js.stripe.com;
connect-src https://api.qariyb.com https://api.stripe.com;

Subresource Integrity (SRI)

For additional security with CDN usage:

<script
  src="https://js.qariyb.com/v1/qariyb.min.js"
  integrity="sha384-HASH_HERE"
  crossorigin="anonymous"
></script>

Verifying Installation

Test that the SDK loaded correctly:

<script>
  // Check if web component is registered
  if (customElements.get('qariyb-checkout')) {
    console.log('Qariyb Embed loaded successfully!');
  }

  // Listen for SDK initialization
  window.addEventListener('qariyb:initialized', (e) => {
    console.log('SDK initialized:', e.detail.data.version);
  });
</script>

Next Steps

Was this page helpful?