zcatalyst-cli
Version:
Command Line Tool for CATALYST
43 lines (42 loc) • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../../util_modules/constants");
const path_1 = require("path");
const project_1 = require("../../../util_modules/project");
const fn_utils_1 = require("../../../fn-utils");
const java_1 = require("../../../fn-utils/lib/java");
const shell_1 = require("../../../util_modules/shell");
exports.default = (fn, data, { javaInvoker, slaveFnTarget, accessToken }) => {
var _a, _b, _c, _d;
const javaInvokerDir = (0, path_1.parse)(javaInvoker).dir;
const slaveOptions = [];
slaveOptions.push('-cp');
slaveOptions.push(javaInvokerDir + fn_utils_1.fnUtils.java.classPathSep + (0, path_1.join)(javaInvokerDir, 'lib', '*'));
if (fn.debugPort !== -1) {
slaveOptions.push('-Xdebug');
slaveOptions.push('-Xrunjdwp:transport=dt_socket,address=' + fn.debugPort + ',server=y,suspend=y');
}
slaveOptions.push((0, path_1.basename)(javaInvoker));
slaveOptions.push(javaInvokerDir);
slaveOptions.push(JSON.stringify(slaveFnTarget));
slaveOptions.push(data);
slaveOptions.push(JSON.stringify({
'x-zc-projectid': (0, project_1.getProjectId)(),
'x-zc-project-domain': (0, project_1.getDomainPrefix)() + '.' + constants_1.ORIGIN.app.replace('https://', ''),
'x-zc-project-key': (0, project_1.getDomainKey)(),
'x-zc-environment': (0, project_1.getEnvName)()
}));
slaveOptions.push(JSON.stringify({
'x-zc-user-cred-type': 'token',
'x-zc-user-cred-token': accessToken,
'x-zc-admin-cred-type': 'token',
'x-zc-admin-cred-token': accessToken,
'x-zc-user-type': 'admin'
}));
const spawnCommand = (0, java_1.getJavaSpawnCommand)('java', (_a = fn.target.additionalInfo) === null || _a === void 0 ? void 0 : _a.binPath);
return (0, shell_1.spawn)(spawnCommand, slaveOptions, {
cwd: (_b = fn.target) === null || _b === void 0 ? void 0 : _b.build,
stdio: 'pipe',
env: Object.assign({ X_ZOHO_CATALYST_IS_LOCAL: 'true', X_ZOHO_CATALYST_FUNCTION_LOADED: 'true', X_ZOHO_CATALYST_ACCOUNTS_URL: constants_1.ORIGIN.auth, X_ZOHO_CATALYST_CONSOLE_URL: constants_1.ORIGIN.admin, CATALYST_PORTAL_DOMAIN: constants_1.ORIGIN.iamPortal, X_ZOHO_CATALYST_RESOURCE_ID: (_c = fn.target) === null || _c === void 0 ? void 0 : _c.id, X_ZOHO_STRATUS_RESOURCE_SUFFIX: constants_1.ORIGIN.stratusSuffix, CATALYST_PROJECT_TIMEZONE: (0, project_1.getProjectTimezone)(Intl.DateTimeFormat().resolvedOptions().timeZone) }, (_d = fn.target) === null || _d === void 0 ? void 0 : _d.env_var)
}).RAW();
};