
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
@chargebee/chargebee-apps-libs
Advanced tools
Production-ready library implementations for the public Chargebee Apps CLI.
This package provides concrete implementations of the interfaces defined in @chargebee/chargebee-apps-shared, specifically designed for public use. These implementations focus on local development, testing, and user-facing functionality without exposing internal production details. It also includes the web UI for interactive testing of serverless applications.
The public-libs package implements the contracts defined in the shared package while providing functionality optimized for local development environments.
@chargebee/chargebee-apps-libs
├── src/
│ ├── config/ # Configuration management
│ ├── logger/ # Winston-based logging implementations
│ ├── sandbox/ # VM-based sandbox execution
│ ├── libs/ # Utility services (port, template, etc.)
│ └── index.ts # Main exports
This package provides concrete implementations organized into focused modules. Each module has detailed documentation with implementation examples and usage patterns.
The package includes starter templates for common use cases:
serverless-node-starter-appA complete Node.js serverless application template with:
manifest.jsontemplates/serverless-node-starter-app/
├── handler/
│ └── handler.js # Sample event handlers
├── test_data/
│ ├── customer_created.json
│ ├── subscription_created.json
│ └── invoice_generated.json
├── types/
│ └── types.d.ts # TypeScript definitions
├── manifest.json # Application configuration
├── jsconfig.json # JavaScript configuration
└── README.md # Template documentation
serverless-node-starter-app-with-iparamsSame as the starter app, plus sectioned installation parameters:
iparams.json — parameter definitions under installation_parameters.sectionsiparams.local.json — local values keyed by section namepayload.iparams.<section>.<param>templates/serverless-node-starter-app-with-iparams/
├── handler/
│ └── handler.js # Sample event handlers
├── test_data/
│ ├── customer_created.json
│ ├── subscription_created.json
│ └── invoice_generated.json
├── types/
│ └── types.d.ts # TypeScript definitions
├── iparams.json # Parameter definitions (sectioned schema)
├── iparams.local.json # Local parameter values, keyed by section
├── manifest.json # Application configuration
├── jsconfig.json # JavaScript configuration
└── README.md # Template documentation
See templates/serverless-node-starter-app-with-iparams/README.md for the full iparams schema and examples.
import {
ConfigLoader,
createCBPublicLogger,
PublicSandboxWrapper,
ManifestValidator,
TemplateService
} from '@chargebee/chargebee-apps-libs';
import { DependencyManager } from '@chargebee/chargebee-apps-shared';
// 1. Load configuration
const configLoader = new ConfigLoader();
const allowedModules = configLoader.loadAllowedModules();
// 2. Create application from template
const templateService = new TemplateService();
await templateService.copyTemplate('serverless-node-starter-app', './my-app');
// 3. Validate manifest
const validator = new ManifestValidator(allowedModules);
const manifest = validator.validateFile('./my-app/manifest.json');
// 4. Setup dependencies
const dependencyManager = new DependencyManager();
await dependencyManager.ensureDependencies('./my-app', manifest);
// 5. Create logger for user code
const logger = createCBPublicLogger(fileSystem, process, './my-app');
// 6. Execute user code in sandbox
const sandbox = new PublicSandboxWrapper();
const result = await sandbox.execute(handlerCode, {
event: eventData,
console: createSafeConsole(logger),
require: dependencyManager.createIsolatedRequire('./my-app', allowedModules)
});
import { CBPublicLogger, createSafeConsole } from '@chargebee/chargebee-apps-libs';
import { CBFileSystem, CBProcess } from '@chargebee/chargebee-apps-shared';
class MyCustomLogger extends CBPublicLogger {
constructor(fileSystem: CBFileSystem, process: CBProcess, userCodeDir: string) {
super(fileSystem, process, userCodeDir);
// Add custom transports or configuration
}
customLog(level: string, message: string): void {
// Custom logging logic
this.log(level, message);
}
}
import { PublicSandboxWrapper } from '@chargebee/chargebee-apps-libs';
const sandbox = new PublicSandboxWrapper();
// Custom context creation
const context = {
event: eventData,
console: createSafeConsole(logger),
require: customRequireFunction,
// Add custom globals
utils: {
timestamp: () => new Date().toISOString(),
uuid: () => crypto.randomUUID()
}
};
const result = await sandbox.execute(handlerCode, context);
npm run build
npm run test
npm run test:coverage
npm run lint
npm run lint:fix
src/config/ - Configuration management with caching and validationsrc/logger/ - Winston-based logging with multiple transportssrc/sandbox/ - VM-based secure code execution environmentsrc/libs/ - Core utility services (port, template, file system, process)templates/ - Built-in application templatesui/ - Web UI for local development servertests/unit/ - Unit tests with comprehensive coverageWhen adding new services or features:
@chargebee/chargebee-apps-sharedFAQs
Public library implementations for Chargebee Apps CLI
The npm package @chargebee/chargebee-apps-libs receives a total of 11 weekly downloads. As such, @chargebee/chargebee-apps-libs popularity was classified as not popular.
We found that @chargebee/chargebee-apps-libs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

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.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.