🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@chargebee/chargebee-apps-libs

Package Overview
Dependencies
Maintainers
4
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chargebee/chargebee-apps-libs

Public library implementations for Chargebee Apps CLI

npmnpm
Version
0.0.3
Version published
Maintainers
4
Created
Source

@chargebee/chargebee-apps-libs

Library implementations for the Chargebee Apps CLI — local development, sandbox execution, logging, configuration, and the web testing UI.

Installation

npm install @chargebee/chargebee-apps-libs

This package is typically installed as a dependency of @chargebee/chargebee-apps. You can also use it directly when building tools on top of the Chargebee Apps platform.

What's included

  • Configuration — application config loading with caching and validation
  • Logging — structured logging and a safe console for sandboxed user code
  • Sandbox — VM-based secure execution for event handlers
  • Utilities — port validation and related helpers
  • Templates — starter app scaffolds used by the CLI
  • Web UI — browser interface for local handler testing

Templates

serverless-node-starter-app

Basic Node.js serverless app with sample handlers, test data, and TypeScript definitions.

serverless-node-starter-app-with-iparams

Same as the starter app, plus sectioned installation parameters:

  • iparams.json — parameter definitions under installation_parameters.sections
  • iparams.local.json — local values keyed by section name
  • Handlers receive payload.iparams.<section>.<param>

See templates/serverless-node-starter-app-with-iparams/README.md for the full iparams schema and examples.

Usage

import {
	ConfigLoader,
	createCBPublicLogger,
	PublicSandboxWrapper,
} from '@chargebee/chargebee-apps-libs';
import {
	CBFileSystem,
	CBProcess,
	DependencyManager,
	ManifestValidator,
	PackageValidator,
} from '@chargebee/chargebee-apps-shared';

const configLoader = new ConfigLoader();
const allowedModules = configLoader.loadAllowedModules();

const fileSystem = new CBFileSystem();
const processService = new CBProcess();
const packageValidator = new PackageValidator(fileSystem);
const manifestValidator = new ManifestValidator(allowedModules);
const dependencyManager = new DependencyManager(fileSystem);

const manifest = manifestValidator.validateFile('./my-app/manifest.json');
await dependencyManager.ensureDependencies('./my-app', manifest);

const logger = createCBPublicLogger(fileSystem, processService, './my-app');

const sandbox = new PublicSandboxWrapper(
	allowedModules,
	fileSystem,
	packageValidator,
	dependencyManager,
	manifestValidator
);

const result = await sandbox.execute('./my-app', { event: eventData }, logger);

Security

  • Module whitelisting — only approved npm modules can be used
  • Sandboxed execution — user code runs in isolated VM contexts
  • Controlled logging — user code logging is managed and correlated

Dependencies

  • @chargebee/chargebee-apps-shared — shared interfaces, validators, and utilities
  • dotenv — environment variable loading for local development

License

MIT

FAQs

Package last updated on 08 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts