🎩 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 - npm Package Compare versions

Comparing version
0.0.3
to
0.0.4
+34
dist/config/public-path-resolver.d.ts
import { PathResolver } from '@chargebee/chargebee-apps-shared';
/**
* Public package path types resolved relative to this package
*/
export declare enum PublicPathType {
PUBLIC_LIBS_TEMPLATES = "PUBLIC_LIBS_TEMPLATES",
PUBLIC_LIBS_UI_WEB = "PUBLIC_LIBS_UI_WEB"
}
/**
* Resolves paths for public-libs assets (templates, UI web)
*/
export declare class PublicPathResolver extends PathResolver {
/**
* Resolves a public package path
* @param {PublicPathType} pathType - Type of public path to resolve
* @returns {string} Resolved path
*/
resolvePublicPath(pathType: PublicPathType): string;
/**
* Gets the public libs templates directory path
* @returns {string} Path to public libs templates directory
*/
getPublicLibsTemplatesDir(): string;
/**
* Gets the public libs UI web directory path
* @returns {string} Path to public libs UI web directory
*/
getPublicLibsUiWebDir(): string;
/**
* Gets the root directory of this package in production installs
* @returns {string} Path to public-libs package root
*/
private getPackageRoot;
}
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublicPathResolver=exports.PublicPathType=void 0;const path_1=__importDefault(require("path")),chargebee_apps_shared_1=require("@chargebee/chargebee-apps-shared");var PublicPathType;(function(e){e.PUBLIC_LIBS_TEMPLATES="PUBLIC_LIBS_TEMPLATES",e.PUBLIC_LIBS_UI_WEB="PUBLIC_LIBS_UI_WEB"})(PublicPathType||(exports.PublicPathType=PublicPathType={}));class PublicPathResolver extends chargebee_apps_shared_1.PathResolver{resolvePublicPath(t){switch(t){case PublicPathType.PUBLIC_LIBS_TEMPLATES:return this.getPublicLibsTemplatesDir();case PublicPathType.PUBLIC_LIBS_UI_WEB:return this.getPublicLibsUiWebDir();default:throw new Error(`Unknown public path type: ${t}`)}}getPublicLibsTemplatesDir(){if(this.envConfig.isDevelopment()){const t=this.getCliRoot();return path_1.default.join(t,"packages","public-libs","templates")}return path_1.default.join(this.getPackageRoot(),"templates")}getPublicLibsUiWebDir(){if(this.envConfig.isDevelopment()){const t=this.getCliRoot();return path_1.default.join(t,"packages","public-libs","ui","web")}return path_1.default.join(this.getPackageRoot(),"ui","web")}getPackageRoot(){return path_1.default.resolve(__dirname,"../..")}}exports.PublicPathResolver=PublicPathResolver;
+1
-0
export * from './config/config-loader';
export * from './config/public-path-resolver';
export * from './libs/port-service';
export * from './logger/cb-public-logger';
export * from './sandbox/public-sandbox-wrapper';
+1
-1

@@ -1,1 +0,1 @@

"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,r,e,t){t===void 0&&(t=e);var n=Object.getOwnPropertyDescriptor(r,e);(!n||("get"in n?!r.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return r[e]}}),Object.defineProperty(i,t,n)}):(function(i,r,e,t){t===void 0&&(t=e),i[t]=r[e]})),__exportStar=this&&this.__exportStar||function(i,r){for(var e in i)e!=="default"&&!Object.prototype.hasOwnProperty.call(r,e)&&__createBinding(r,i,e)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./config/config-loader"),exports),__exportStar(require("./libs/port-service"),exports),__exportStar(require("./logger/cb-public-logger"),exports),__exportStar(require("./sandbox/public-sandbox-wrapper"),exports);
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,r,e,t){t===void 0&&(t=e);var o=Object.getOwnPropertyDescriptor(r,e);(!o||("get"in o?!r.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return r[e]}}),Object.defineProperty(i,t,o)}):(function(i,r,e,t){t===void 0&&(t=e),i[t]=r[e]})),__exportStar=this&&this.__exportStar||function(i,r){for(var e in i)e!=="default"&&!Object.prototype.hasOwnProperty.call(r,e)&&__createBinding(r,i,e)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./config/config-loader"),exports),__exportStar(require("./config/public-path-resolver"),exports),__exportStar(require("./libs/port-service"),exports),__exportStar(require("./logger/cb-public-logger"),exports),__exportStar(require("./sandbox/public-sandbox-wrapper"),exports);

@@ -1,2 +0,2 @@

"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(a,e,r,n){n===void 0&&(n=r);var t=Object.getOwnPropertyDescriptor(e,r);(!t||("get"in t?!e.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(a,n,t)}):(function(a,e,r,n){n===void 0&&(n=r),a[n]=e[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(a,e){Object.defineProperty(a,"default",{enumerable:!0,value:e})}):function(a,e){a.default=e}),__importStar=this&&this.__importStar||(function(){var a=function(e){return a=Object.getOwnPropertyNames||function(r){var n=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[n.length]=t);return n},a(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=a(e),t=0;t<n.length;t++)n[t]!=="default"&&__createBinding(r,e,n[t]);return __setModuleDefault(r,e),r}})(),__importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublicSandboxWrapper=void 0;const chargebee_apps_shared_1=require("@chargebee/chargebee-apps-shared"),path_1=__importDefault(require("path")),vm_1=__importDefault(require("vm")),dotenv=__importStar(require("dotenv")),cb_public_logger_1=require("../logger/cb-public-logger");class PublicSandboxWrapper{constructor(e,r,n,t,s){this.fileSystem=r,this.packageValidator=n,this.dependencyManager=t,this.allowedModules=e,this.manifestValidator=s}createSafeRequire(e){return this.dependencyManager.createIsolatedRequire(e,this.allowedModules)}loadEnvironmentVariables(e){const r=path_1.default.join(e,".env"),n={};try{const t=dotenv.config({path:r});t.parsed&&(t.parsed.MKPLC_CB_READ_ONLY_API&&(n.MKPLC_CB_READ_ONLY_API=t.parsed.MKPLC_CB_READ_ONLY_API),t.parsed.MKPLC_CB_READ_WRITE_API&&(n.MKPLC_CB_READ_WRITE_API=t.parsed.MKPLC_CB_READ_WRITE_API),t.parsed.MKPLC_SITE_DOMAIN?n.MKPLC_SITE_DOMAIN=t.parsed.MKPLC_SITE_DOMAIN:n.MKPLC_SITE_DOMAIN="")}catch(t){chargebee_apps_shared_1.__logger.debug(`Failed to load .env file from ${r}: ${t}`)}return n}createSandbox(e,r,n){const t={exports:{}},s=t.exports,o=this.loadEnvironmentVariables(e),i=Object.prototype.hasOwnProperty.call(r,"iparams"),c=Object.freeze(i?{event:r.event,iparams:r.iparams??{}}:{event:r.event});return{console:(0,cb_public_logger_1.createSafeConsole)(n),payload:c,setTimeout,clearTimeout,setImmediate,clearImmediate,module:t,exports:s,require:this.createSafeRequire(e),process:{cwd:()=>process.cwd(),env:o,nextTick:process.nextTick},global:void 0,Buffer:void 0,__dirname:void 0,__filename:void 0}}async execute(e,r,n){try{chargebee_apps_shared_1.__logger.debug(`Executing user code from: ${e}`),this.packageValidator.validateHandlerExists(e),this.packageValidator.validateManifestExists(e);const t=path_1.default.join(e,"manifest.json"),s=this.manifestValidator.validateAndGetManifestFile(t),o=r.event.event_type,i=s.events[o];if(!i)throw new Error(`No handler configured for event type: ${o}`);const c=i.handler,u=path_1.default.join(e,"handler","handler.js"),l=this.fileSystem.readFileSync(u,"utf8"),d={eventId:r.event.id||"unknown",eventType:r.event.event_type||"unknown"};return await chargebee_apps_shared_1.sandboxContext.run(d,async()=>{const f=this.createSandbox(e,r,n),_=vm_1.default.createContext(f),p=`
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(a,e,r,n){n===void 0&&(n=r);var t=Object.getOwnPropertyDescriptor(e,r);(!t||("get"in t?!e.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(a,n,t)}):(function(a,e,r,n){n===void 0&&(n=r),a[n]=e[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(a,e){Object.defineProperty(a,"default",{enumerable:!0,value:e})}):function(a,e){a.default=e}),__importStar=this&&this.__importStar||(function(){var a=function(e){return a=Object.getOwnPropertyNames||function(r){var n=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[n.length]=t);return n},a(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=a(e),t=0;t<n.length;t++)n[t]!=="default"&&__createBinding(r,e,n[t]);return __setModuleDefault(r,e),r}})(),__importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PublicSandboxWrapper=void 0;const chargebee_apps_shared_1=require("@chargebee/chargebee-apps-shared"),path_1=__importDefault(require("path")),vm_1=__importDefault(require("vm")),dotenv=__importStar(require("dotenv")),cb_public_logger_1=require("../logger/cb-public-logger");class PublicSandboxWrapper{constructor(e,r,n,t,s){this.fileSystem=r,this.packageValidator=n,this.dependencyManager=t,this.allowedModules=e,this.manifestValidator=s}createSafeRequire(e){return this.dependencyManager.createIsolatedRequire(e,this.allowedModules)}loadEnvironmentVariables(e){const r=path_1.default.join(e,".env"),n={};try{const t=dotenv.config({path:r});t.parsed&&(t.parsed.CB_APPS_READ_ONLY_API&&(n.CB_APPS_READ_ONLY_API=t.parsed.CB_APPS_READ_ONLY_API),t.parsed.CB_APPS_READ_WRITE_API&&(n.CB_APPS_READ_WRITE_API=t.parsed.CB_APPS_READ_WRITE_API),t.parsed.CB_APPS_SITE_DOMAIN?n.CB_APPS_SITE_DOMAIN=t.parsed.CB_APPS_SITE_DOMAIN:n.CB_APPS_SITE_DOMAIN="")}catch(t){chargebee_apps_shared_1.__logger.debug(`Failed to load .env file from ${r}: ${t}`)}return n}createSandbox(e,r,n){const t={exports:{}},s=t.exports,o=this.loadEnvironmentVariables(e),i=Object.prototype.hasOwnProperty.call(r,"iparams"),c=Object.freeze(i?{event:r.event,iparams:r.iparams??{}}:{event:r.event});return{console:(0,cb_public_logger_1.createSafeConsole)(n),payload:c,setTimeout,clearTimeout,setImmediate,clearImmediate,module:t,exports:s,require:this.createSafeRequire(e),process:{cwd:()=>process.cwd(),env:o,nextTick:process.nextTick},global:void 0,Buffer:void 0,__dirname:void 0,__filename:void 0}}async execute(e,r,n){try{chargebee_apps_shared_1.__logger.debug(`Executing user code from: ${e}`),this.packageValidator.validateHandlerExists(e),this.packageValidator.validateManifestExists(e);const t=path_1.default.join(e,"manifest.json"),s=this.manifestValidator.validateAndGetManifestFile(t),o=r.event.event_type,i=s.events[o];if(!i)throw new Error(`No handler configured for event type: ${o}`);const c=i.handler,u=path_1.default.join(e,"handler","handler.js"),l=this.fileSystem.readFileSync(u,"utf8"),d={eventId:r.event.id||"unknown",eventType:r.event.event_type||"unknown"};return await chargebee_apps_shared_1.sandboxContext.run(d,async()=>{const f=this.createSandbox(e,r,n),_=vm_1.default.createContext(f),p=`
(async function() {

@@ -3,0 +3,0 @@ "use strict";

{
"name": "@chargebee/chargebee-apps-libs",
"version": "0.0.3",
"version": "0.0.4",
"description": "Public library implementations for Chargebee Apps CLI",

@@ -25,3 +25,3 @@ "main": "dist/index.js",

"dependencies": {
"@chargebee/chargebee-apps-shared": "0.0.3",
"@chargebee/chargebee-apps-shared": "0.0.4",
"dotenv": "^16.3.1"

@@ -28,0 +28,0 @@ },

# Only these three variables are supported. Replace values for local development only. Do not add new vars.
MKPLC_CB_READ_ONLY_API=REPLACE_WITH_READ_ONLY_API_KEY
MKPLC_CB_READ_WRITE_API=REPLACE_WITH_READ_WRITE_API_KEY
MKPLC_SITE_DOMAIN=REPLACE_WITH_SITE_DOMAIN
CB_APPS_READ_ONLY_API=REPLACE_WITH_READ_ONLY_API_KEY
CB_APPS_READ_WRITE_API=REPLACE_WITH_READ_WRITE_API_KEY
CB_APPS_SITE_DOMAIN=REPLACE_WITH_SITE_DOMAIN
{
"name": "<your-app-name>",
"description": "<your-app-description>",
"github_url": "<your-github-repo-url>",
"events": {

@@ -5,0 +6,0 @@ "customer_created": {

@@ -66,2 +66,3 @@ # Serverless Node.js App Template With iParams

"description": "A custom app",
"github_url": "<your-github-repo-url>",
"events": {

@@ -185,5 +186,5 @@ "customer_created": {

|----------|-------------|
| `MKPLC_CB_READ_ONLY_API` | Chargebee read-only API key |
| `MKPLC_CB_READ_WRITE_API` | Chargebee read-write API key |
| `MKPLC_SITE_DOMAIN` | Chargebee site domain |
| `CB_APPS_READ_ONLY_API` | Chargebee read-only API key |
| `CB_APPS_READ_WRITE_API` | Chargebee read-write API key |
| `CB_APPS_SITE_DOMAIN` | Chargebee site domain |

@@ -201,5 +202,5 @@ - **Production:** The system provides these values at runtime. You do not configure them in production.

```env
MKPLC_CB_READ_ONLY_API=your_read_only_api_key_here
MKPLC_CB_READ_WRITE_API=your_read_write_api_key_here
MKPLC_SITE_DOMAIN=yousite123
CB_APPS_READ_ONLY_API=your_read_only_api_key_here
CB_APPS_READ_WRITE_API=your_read_write_api_key_here
CB_APPS_SITE_DOMAIN=yousite123
```

@@ -211,5 +212,5 @@

// handler/handler.js – only these three vars are available from process.env
const readOnlyApiKey = process.env.MKPLC_CB_READ_ONLY_API;
const readWriteApiKey = process.env.MKPLC_CB_READ_WRITE_API;
const siteDomain = process.env.MKPLC_SITE_DOMAIN;
const readOnlyApiKey = process.env.CB_APPS_READ_ONLY_API;
const readWriteApiKey = process.env.CB_APPS_READ_WRITE_API;
const siteDomain = process.env.CB_APPS_SITE_DOMAIN;
```

@@ -216,0 +217,0 @@

# Only these three variables are supported. Replace values for local development only. Do not add new vars.
MKPLC_CB_READ_ONLY_API=REPLACE_WITH_READ_ONLY_API_KEY
MKPLC_CB_READ_WRITE_API=REPLACE_WITH_READ_WRITE_API_KEY
MKPLC_SITE_DOMAIN=REPLACE_WITH_SITE_DOMAIN
CB_APPS_READ_ONLY_API=REPLACE_WITH_READ_ONLY_API_KEY
CB_APPS_READ_WRITE_API=REPLACE_WITH_READ_WRITE_API_KEY
CB_APPS_SITE_DOMAIN=REPLACE_WITH_SITE_DOMAIN
{
"name": "<your-app-name>",
"description": "<your-app-description>",
"github_url": "<your-github-repo-url>",
"events": {

@@ -5,0 +6,0 @@ "customer_created": {

@@ -62,2 +62,3 @@ # Serverless Node.js App Template

"description": "A custom app",
"github_url": "<your-github-repo-url>",
"events": {

@@ -187,5 +188,5 @@ "customer_created": {

|----------|-------------|
| `MKPLC_CB_READ_ONLY_API` | Chargebee read-only API key |
| `MKPLC_CB_READ_WRITE_API` | Chargebee read-write API key |
| `MKPLC_SITE_DOMAIN` | Chargebee site domain |
| `CB_APPS_READ_ONLY_API` | Chargebee read-only API key |
| `CB_APPS_READ_WRITE_API` | Chargebee read-write API key |
| `CB_APPS_SITE_DOMAIN` | Chargebee site domain |

@@ -202,5 +203,5 @@ - **Production:** The system provides these values at runtime. You do not configure them in production.

# Replace these with your actual Chargebee API keys
MKPLC_CB_READ_ONLY_API=your_read_only_api_key_here
MKPLC_CB_READ_WRITE_API=your_read_write_api_key_here
MKPLC_SITE_DOMAIN=yousite123
CB_APPS_READ_ONLY_API=your_read_only_api_key_here
CB_APPS_READ_WRITE_API=your_read_write_api_key_here
CB_APPS_SITE_DOMAIN=yousite123
```

@@ -217,4 +218,4 @@

// Access your API keys
const readOnlyApiKey = process.env.MKPLC_CB_READ_ONLY_API;
const readWriteApiKey = process.env.MKPLC_CB_READ_WRITE_API;
const readOnlyApiKey = process.env.CB_APPS_READ_ONLY_API;
const readWriteApiKey = process.env.CB_APPS_READ_WRITE_API;

@@ -231,4 +232,4 @@ if (!readOnlyApiKey || !readWriteApiKey) {

const chargebee = new Chargebee({
site: process.env.MKPLC_SITE_DOMAIN,
apiKey: process.env.MKPLC_CB_READ_ONLY_API
site: process.env.CB_APPS_SITE_DOMAIN,
apiKey: process.env.CB_APPS_READ_ONLY_API
});

@@ -235,0 +236,0 @@