@evervault/sdk
Advanced tools
Comparing version 1.1.1 to 1.1.2
@@ -1,2 +0,2 @@ | ||
const { Datatypes, errors } = require('./utils'); | ||
const { Datatypes, errors, sourceParser, cageLock, deploy, environment } = require('./utils'); | ||
const Config = require('./config'); | ||
@@ -49,2 +49,38 @@ const { Crypto, Http } = require('./core'); | ||
/** | ||
* | ||
* @param {Function} func | ||
* @returns {Function} | ||
*/ | ||
cagify(func) { | ||
if (!Datatypes.isFunction(func)) { | ||
throw new errors.EvervaultError('Cagify must be provided with a function to run'); | ||
} | ||
const { cageName, functionRequires, functionParameters } = sourceParser.parseSource(func); | ||
if (cageLock.deployCheck(cageName)) { | ||
console.log(`Deploying cage ${cageName}`); | ||
const { deployedBy, deployedTeam } = deploy.runDeployment(cageName, func, functionParameters, functionRequires); | ||
cageLock.addCageToLockfile(cageName, deployedBy, deployedTeam); | ||
} | ||
return async (...parameters) => { | ||
const data = {}; | ||
parameters.forEach((param, index) => { | ||
data[functionParameters[index]] = param; | ||
}) | ||
const runtimeObject = { | ||
environment: await this.encrypt(environment.getEnvironment(func)), | ||
data | ||
}; | ||
const result = await this.run(cageName, runtimeObject); | ||
if (result.statusCode === 404) throw new errors.EvervaultError('API key mismatch: please ensure you have switched to your app\'s team in the CLI'); | ||
return result.result; | ||
}; | ||
} | ||
/** | ||
* | ||
@@ -51,0 +87,0 @@ * @param {String} cageName |
@@ -11,2 +11,3 @@ const isArray = (data) => data.constructor.name === 'Array'; | ||
const isBoolean = (data) => typeof data === 'boolean'; | ||
const isFunction = (data) => typeof data === 'function'; | ||
@@ -64,2 +65,3 @@ const isEncryptable = (data) => | ||
isString, | ||
isFunction, | ||
isEncryptable, | ||
@@ -66,0 +68,0 @@ getHeaderType, |
module.exports = { | ||
Datatypes: require('./datatypes'), | ||
errors: require('./errors'), | ||
sourceParser: require('./source'), | ||
cageLock: require('./cagelock'), | ||
environment: require('./environment'), | ||
deploy: require('./deploy') | ||
}; |
{ | ||
"name": "@evervault/sdk", | ||
"version": "1.1.1", | ||
"version": "1.1.2", | ||
"description": "Node.js SDK for working with evervault cages", | ||
@@ -26,2 +26,7 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"escodegen": "^1.14.3", | ||
"esprima": "^4.0.1", | ||
"haikunator": "^2.1.2", | ||
"konan": "^2.1.1", | ||
"lodash": "^4.17.19", | ||
"phin": "^3.5.0", | ||
@@ -28,0 +33,0 @@ "uuid": "^8.1.0" |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
47105
27
1238
7
4
1
+ Addedescodegen@^1.14.3
+ Addedesprima@^4.0.1
+ Addedhaikunator@^2.1.2
+ Addedkonan@^2.1.1
+ Addedlodash@^4.17.19
+ Added@babel/code-frame@7.26.2(transitive)
+ Added@babel/generator@7.26.9(transitive)
+ Added@babel/helper-string-parser@7.25.9(transitive)
+ Added@babel/helper-validator-identifier@7.25.9(transitive)
+ Added@babel/parser@7.26.9(transitive)
+ Added@babel/template@7.26.9(transitive)
+ Added@babel/traverse@7.26.9(transitive)
+ Added@babel/types@7.26.9(transitive)
+ Added@jridgewell/gen-mapping@0.3.8(transitive)
+ Added@jridgewell/resolve-uri@3.1.2(transitive)
+ Added@jridgewell/set-array@1.2.1(transitive)
+ Added@jridgewell/sourcemap-codec@1.5.0(transitive)
+ Added@jridgewell/trace-mapping@0.3.25(transitive)
+ Added@types/random-seed@0.3.5(transitive)
+ Addeddebug@4.4.0(transitive)
+ Addeddeep-is@0.1.4(transitive)
+ Addedescodegen@1.14.3(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedestraverse@4.3.0(transitive)
+ Addedesutils@2.0.3(transitive)
+ Addedfast-levenshtein@2.0.6(transitive)
+ Addedglobals@11.12.0(transitive)
+ Addedhaikunator@2.1.2(transitive)
+ Addedjs-tokens@4.0.0(transitive)
+ Addedjsesc@3.1.0(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedkonan@2.1.1(transitive)
+ Addedlevn@0.3.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedlodash.defaults@4.2.0(transitive)
+ Addedms@2.1.3(transitive)
+ Addedoptionator@0.8.3(transitive)
+ Addedpicocolors@1.1.1(transitive)
+ Addedprelude-ls@1.1.2(transitive)
+ Addedrandom-seed@0.3.0(transitive)
+ Addedsource-map@0.6.1(transitive)
+ Addedtype-check@0.3.2(transitive)
+ Addedword-wrap@1.2.5(transitive)