@mindpath/aether-core
v0.0.4
Published
Aether Core
Downloads
215
Readme
Run the npm Package Locally
Follow these steps to build, pack, and install the local npm package in another repository.
1️⃣ Create Build with Updated Code
Run the build command inside the package project:
pnpm build2️⃣ Check if .tgz File Is Created
After the build, verify whether a .tgz file (for example aether-components-0.0.1.tgz) exists in version folder of the project root.
- If the file exists → skip to Step 4
- If the file does NOT exist → continue to Step 3
3️⃣ Generate the .tgz Package
Run the following command to create the tarball package if not created the .tgz file:
pnpm packThis will generate a file like:
aether-components-0.0.1.tgz4️⃣ Go to Another Local Repository
Navigate to the project where you want to use this package:
cd /path/to/your/other-repo5️⃣ Install the Local Package
Install the generated .tgz file using npm or pnpm:
pnpm install /path/to/aether-components-0.0.1.tgzor
npm install /path/to/aether-components-0.0.1.tgz✅ Done
@mindpath/aether-core
Overview
The EbotifyLiveChatConnector is a powerful library for managing live chat connections via socket communication. It provides seamless integration with Ebotify Live Chat, enabling efficient handling of real-time communication with type safety.
Features
- Socket Connection Management: Easily establish and manage socket connections.
- Real-time Communication: Send and receive messages in real time.
- Session Management: Update and retrieve session-specific user and settings data.
- Type Safety: Robust type definitions for improved developer experience.
- Customizable Events: Handle connection and message events with custom handlers.
Installation
Install the package using pnpm:
npm add @mindpath/aether-coreUsage
Configuration
Set up the EbotifyLiveChatConnector with your configuration:
import EbotifyLiveChatConnector from '@mindpath/aether-core';
const config = {
url: 'https://example.com',
botId: 'BOT123',
ebotifyCustomerId: 'CUSTOMER456',
organisationId: 'ORG789',
tenantId: 'TENANT012',
ticketNo: 'TICKET345',
onConnect: () => console.log('Connected to Ebotify Live Chat'),
};
const liveChatConnector = new EbotifyLiveChatConnector(config);Manage User and Session Settings
Update and retrieve user and session settings:
// Update user details
liveChatConnector.updateUser({ name: 'John Doe', contactNumber: '1234567890' });
// Get user details
const user = liveChatConnector.getUser();
console.log(user);
// Update session settings
liveChatConnector.updateSettings({ socketId: 'NEW_SOCKET_ID' });
// Get session settings
const settings = liveChatConnector.getSettings();
console.log(settings);Listen for Incoming Messages
Handle messages using a custom event handler:
liveChatConnector.listenMessage((data) => {
console.log('Received message:', data);
});Send Messages
Send messages to the Ebotify Live Chat:
const message = {
type: 'text',
message: 'Hello, how can I help you?',
};
liveChatConnector.message(message);tsup Configuration
This project uses tsup for bundling. Below is the configuration used:
import { defineConfig } from 'tsup';
export default defineConfig({
entry: ['./src/**/*.{ts,tsx}'],
treeshake: 'recommended',
format: ['cjs', 'esm'],
dts: true,
minify: true,
splitting: false,
sourcemap: false,
clean: true,
minifyIdentifiers: true,
minifySyntax: true,
minifyWhitespace: true,
platform: 'browser',
});Peer Dependencies
Ensure the following peer dependencies are installed:
react: ^18.2.0react-dom: ^18.2.0luxon: ^3.4.4socket.io-client: ^4.7.4
File Structure
dist: Contains the bundled output files.- Source Code:
- Type definitions and enums.
- Core classes (
EbotifyLiveChatConnector,SocketService, etc.).
License
This project is licensed under the ISC License.
