payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
99 lines (98 loc) • 10.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getPayloadVersion: function() {
return getPayloadVersion;
},
sendEvent: function() {
return sendEvent;
}
});
const _child_process = require("child_process");
const _conf = /*#__PURE__*/ _interop_require_default(require("conf"));
const _crypto = require("crypto");
const _findup = /*#__PURE__*/ _interop_require_default(require("find-up"));
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
const _oneWayHash = require("./oneWayHash");
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const sendEvent = async ({ event, payload })=>{
if (payload.config.telemetry !== false) {
try {
const packageJSON = await getPackageJSON();
const baseEvent = {
envID: getEnvID(),
nodeEnv: process.env.NODE_ENV || 'development',
nodeVersion: process.version,
payloadVersion: getPayloadVersion(packageJSON),
projectID: getProjectID(payload, packageJSON)
};
await fetch('https://telemetry.payloadcms.com/events', {
body: JSON.stringify({
...baseEvent,
...event
}),
headers: {
'Content-Type': 'application/json'
},
method: 'post'
});
} catch (_) {
// Eat any errors in sending telemetry event
}
}
};
/**
* This is a quasi-persistent identifier used to dedupe recurring events. It's
* generated from random data and completely anonymous.
*/ const getEnvID = ()=>{
const conf = new _conf.default();
const ENV_ID = 'envID';
const val = conf.get(ENV_ID);
if (val) {
return val;
}
const generated = (0, _crypto.randomBytes)(32).toString('hex');
conf.set(ENV_ID, generated);
return generated;
};
const getProjectID = (payload, packageJSON)=>{
const projectID = getGitID(payload) || getPackageJSONID(payload, packageJSON) || payload.config.serverURL || process.cwd();
return (0, _oneWayHash.oneWayHash)(projectID, payload.secret);
};
const getGitID = (payload)=>{
try {
const originBuffer = (0, _child_process.execSync)('git config --local --get remote.origin.url', {
stdio: 'pipe',
timeout: 1000
});
return (0, _oneWayHash.oneWayHash)(String(originBuffer).trim(), payload.secret);
} catch (_) {
return null;
}
};
const getPackageJSON = async ()=>{
const packageJsonPath = await (0, _findup.default)('package.json', {
cwd: __dirname
});
const jsonContent = JSON.parse(_fs.default.readFileSync(packageJsonPath, 'utf-8'));
return jsonContent;
};
const getPackageJSONID = (payload, packageJSON)=>{
return (0, _oneWayHash.oneWayHash)(packageJSON.name, payload.secret);
};
const getPayloadVersion = (packageJSON)=>{
return packageJSON?.dependencies?.payload ?? '';
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvdGVsZW1ldHJ5L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2VzcydcbmltcG9ydCBDb25mIGZyb20gJ2NvbmYnXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0bydcbmltcG9ydCBmaW5kVXAgZnJvbSAnZmluZC11cCdcbmltcG9ydCBmcyBmcm9tICdmcydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQWRtaW5Jbml0RXZlbnQgfSBmcm9tICcuL2V2ZW50cy9hZG1pbkluaXQnXG5pbXBvcnQgdHlwZSB7IFNlcnZlckluaXRFdmVudCB9IGZyb20gJy4vZXZlbnRzL3NlcnZlckluaXQnXG5cbmltcG9ydCB7IG9uZVdheUhhc2ggfSBmcm9tICcuL29uZVdheUhhc2gnXG5cbmV4cG9ydCB0eXBlIEJhc2VFdmVudCA9IHtcbiAgZW52SUQ6IHN0cmluZ1xuICBub2RlRW52OiBzdHJpbmdcbiAgbm9kZVZlcnNpb246IHN0cmluZ1xuICBwYXlsb2FkVmVyc2lvbjogc3RyaW5nXG4gIHByb2plY3RJRDogc3RyaW5nXG59XG5cbnR5cGUgUGFja2FnZUpTT04gPSB7XG4gIGRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPlxuICBuYW1lOiBzdHJpbmdcbn1cblxudHlwZSBUZWxlbWV0cnlFdmVudCA9IEFkbWluSW5pdEV2ZW50IHwgU2VydmVySW5pdEV2ZW50XG5cbnR5cGUgQXJncyA9IHtcbiAgZXZlbnQ6IFRlbGVtZXRyeUV2ZW50XG4gIHBheWxvYWQ6IFBheWxvYWRcbn1cblxuZXhwb3J0IGNvbnN0IHNlbmRFdmVudCA9IGFzeW5jICh7IGV2ZW50LCBwYXlsb2FkIH06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKHBheWxvYWQuY29uZmlnLnRlbGVtZXRyeSAhPT0gZmFsc2UpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFja2FnZUpTT04gPSBhd2FpdCBnZXRQYWNrYWdlSlNPTigpXG5cbiAgICAgIGNvbnN0IGJhc2VFdmVudDogQmFzZUV2ZW50ID0ge1xuICAgICAgICBlbnZJRDogZ2V0RW52SUQoKSxcbiAgICAgICAgbm9kZUVudjogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ2RldmVsb3BtZW50JyxcbiAgICAgICAgbm9kZVZlcnNpb246IHByb2Nlc3MudmVyc2lvbixcbiAgICAgICAgcGF5bG9hZFZlcnNpb246IGdldFBheWxvYWRWZXJzaW9uKHBhY2thZ2VKU09OKSxcbiAgICAgICAgcHJvamVjdElEOiBnZXRQcm9qZWN0SUQocGF5bG9hZCwgcGFja2FnZUpTT04pLFxuICAgICAgfVxuXG4gICAgICBhd2FpdCBmZXRjaCgnaHR0cHM6Ly90ZWxlbWV0cnkucGF5bG9hZGNtcy5jb20vZXZlbnRzJywge1xuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IC4uLmJhc2VFdmVudCwgLi4uZXZlbnQgfSksXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgLy8gRWF0IGFueSBlcnJvcnMgaW4gc2VuZGluZyB0ZWxlbWV0cnkgZXZlbnRcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGEgcXVhc2ktcGVyc2lzdGVudCBpZGVudGlmaWVyIHVzZWQgdG8gZGVkdXBlIHJlY3VycmluZyBldmVudHMuIEl0J3NcbiAqIGdlbmVyYXRlZCBmcm9tIHJhbmRvbSBkYXRhIGFuZCBjb21wbGV0ZWx5IGFub255bW91cy5cbiAqL1xuY29uc3QgZ2V0RW52SUQgPSAoKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY29uZiA9IG5ldyBDb25mKClcbiAgY29uc3QgRU5WX0lEID0gJ2VudklEJ1xuXG4gIGNvbnN0IHZhbCA9IGNvbmYuZ2V0KEVOVl9JRClcbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB2YWwgYXMgc3RyaW5nXG4gIH1cblxuICBjb25zdCBnZW5lcmF0ZWQgPSByYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpXG4gIGNvbmYuc2V0KEVOVl9JRCwgZ2VuZXJhdGVkKVxuICByZXR1cm4gZ2VuZXJhdGVkXG59XG5cbmNvbnN0IGdldFByb2plY3RJRCA9IChwYXlsb2FkOiBQYXlsb2FkLCBwYWNrYWdlSlNPTjogUGFja2FnZUpTT04pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwcm9qZWN0SUQgPVxuICAgIGdldEdpdElEKHBheWxvYWQpIHx8XG4gICAgZ2V0UGFja2FnZUpTT05JRChwYXlsb2FkLCBwYWNrYWdlSlNPTikgfHxcbiAgICBwYXlsb2FkLmNvbmZpZy5zZXJ2ZXJVUkwgfHxcbiAgICBwcm9jZXNzLmN3ZCgpXG4gIHJldHVybiBvbmVXYXlIYXNoKHByb2plY3RJRCwgcGF5bG9hZC5zZWNyZXQpXG59XG5cbmNvbnN0IGdldEdpdElEID0gKHBheWxvYWQ6IFBheWxvYWQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBvcmlnaW5CdWZmZXIgPSBleGVjU3luYygnZ2l0IGNvbmZpZyAtLWxvY2FsIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsJywge1xuICAgICAgc3RkaW86ICdwaXBlJyxcbiAgICAgIHRpbWVvdXQ6IDEwMDAsXG4gICAgfSlcblxuICAgIHJldHVybiBvbmVXYXlIYXNoKFN0cmluZyhvcmlnaW5CdWZmZXIpLnRyaW0oKSwgcGF5bG9hZC5zZWNyZXQpXG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmNvbnN0IGdldFBhY2thZ2VKU09OID0gYXN5bmMgKCk6IFByb21pc2U8UGFja2FnZUpTT04+ID0+IHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gYXdhaXQgZmluZFVwKCdwYWNrYWdlLmpzb24nLCB7IGN3ZDogX19kaXJuYW1lIH0pXG4gIGNvbnN0IGpzb25Db250ZW50OiBQYWNrYWdlSlNPTiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0Zi04JykpXG4gIHJldHVybiBqc29uQ29udGVudFxufVxuXG5jb25zdCBnZXRQYWNrYWdlSlNPTklEID0gKHBheWxvYWQ6IFBheWxvYWQsIHBhY2thZ2VKU09OOiBQYWNrYWdlSlNPTik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBvbmVXYXlIYXNoKHBhY2thZ2VKU09OLm5hbWUsIHBheWxvYWQuc2VjcmV0KVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UGF5bG9hZFZlcnNpb24gPSAocGFja2FnZUpTT046IFBhY2thZ2VKU09OKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHBhY2thZ2VKU09OPy5kZXBlbmRlbmNpZXM/LnBheWxvYWQgPz8gJydcbn1cbiJdLCJuYW1lcyI6WyJnZXRQYXlsb2FkVmVyc2lvbiIsInNlbmRFdmVudCIsImV2ZW50IiwicGF5bG9hZCIsImNvbmZpZyIsInRlbGVtZXRyeSIsInBhY2thZ2VKU09OIiwiZ2V0UGFja2FnZUpTT04iLCJiYXNlRXZlbnQiLCJlbnZJRCIsImdldEVudklEIiwibm9kZUVudiIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm5vZGVWZXJzaW9uIiwidmVyc2lvbiIsInBheWxvYWRWZXJzaW9uIiwicHJvamVjdElEIiwiZ2V0UHJvamVjdElEIiwiZmV0Y2giLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImhlYWRlcnMiLCJtZXRob2QiLCJfIiwiY29uZiIsIkNvbmYiLCJFTlZfSUQiLCJ2YWwiLCJnZXQiLCJnZW5lcmF0ZWQiLCJyYW5kb21CeXRlcyIsInRvU3RyaW5nIiwic2V0IiwiZ2V0R2l0SUQiLCJnZXRQYWNrYWdlSlNPTklEIiwic2VydmVyVVJMIiwiY3dkIiwib25lV2F5SGFzaCIsInNlY3JldCIsIm9yaWdpbkJ1ZmZlciIsImV4ZWNTeW5jIiwic3RkaW8iLCJ0aW1lb3V0IiwiU3RyaW5nIiwidHJpbSIsInBhY2thZ2VKc29uUGF0aCIsImZpbmRVcCIsIl9fZGlybmFtZSIsImpzb25Db250ZW50IiwicGFyc2UiLCJmcyIsInJlYWRGaWxlU3luYyIsIm5hbWUiLCJkZXBlbmRlbmNpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBNEdhQSxpQkFBaUI7ZUFBakJBOztJQTVFQUMsU0FBUztlQUFUQTs7OytCQWhDWTs2REFDUjt3QkFDVzsrREFDVDsyREFDSjs0QkFNWTs7Ozs7O0FBc0JwQixNQUFNQSxZQUFZLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQVE7SUFDdEQsSUFBSUEsUUFBUUMsTUFBTSxDQUFDQyxTQUFTLEtBQUssT0FBTztRQUN0QyxJQUFJO1lBQ0YsTUFBTUMsY0FBYyxNQUFNQztZQUUxQixNQUFNQyxZQUF1QjtnQkFDM0JDLE9BQU9DO2dCQUNQQyxTQUFTQyxRQUFRQyxHQUFHLENBQUNDLFFBQVEsSUFBSTtnQkFDakNDLGFBQWFILFFBQVFJLE9BQU87Z0JBQzVCQyxnQkFBZ0JqQixrQkFBa0JNO2dCQUNsQ1ksV0FBV0MsYUFBYWhCLFNBQVNHO1lBQ25DO1lBRUEsTUFBTWMsTUFBTSwyQ0FBMkM7Z0JBQ3JEQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7b0JBQUUsR0FBR2YsU0FBUztvQkFBRSxHQUFHTixLQUFLO2dCQUFDO2dCQUM5Q3NCLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtnQkFDQUMsUUFBUTtZQUNWO1FBQ0YsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsNENBQTRDO1FBQzlDO0lBQ0Y7QUFDRjtBQUVBOzs7Q0FHQyxHQUNELE1BQU1oQixXQUFXO0lBQ2YsTUFBTWlCLE9BQU8sSUFBSUMsYUFBSTtJQUNyQixNQUFNQyxTQUFTO0lBRWYsTUFBTUMsTUFBTUgsS0FBS0ksR0FBRyxDQUFDRjtJQUNyQixJQUFJQyxLQUFLO1FBQ1AsT0FBT0E7SUFDVDtJQUVBLE1BQU1FLFlBQVlDLElBQUFBLG1CQUFXLEVBQUMsSUFBSUMsUUFBUSxDQUFDO0lBQzNDUCxLQUFLUSxHQUFHLENBQUNOLFFBQVFHO0lBQ2pCLE9BQU9BO0FBQ1Q7QUFFQSxNQUFNYixlQUFlLENBQUNoQixTQUFrQkc7SUFDdEMsTUFBTVksWUFDSmtCLFNBQVNqQyxZQUNUa0MsaUJBQWlCbEMsU0FBU0csZ0JBQzFCSCxRQUFRQyxNQUFNLENBQUNrQyxTQUFTLElBQ3hCMUIsUUFBUTJCLEdBQUc7SUFDYixPQUFPQyxJQUFBQSxzQkFBVSxFQUFDdEIsV0FBV2YsUUFBUXNDLE1BQU07QUFDN0M7QUFFQSxNQUFNTCxXQUFXLENBQUNqQztJQUNoQixJQUFJO1FBQ0YsTUFBTXVDLGVBQWVDLElBQUFBLHVCQUFRLEVBQUMsOENBQThDO1lBQzFFQyxPQUFPO1lBQ1BDLFNBQVM7UUFDWDtRQUVBLE9BQU9MLElBQUFBLHNCQUFVLEVBQUNNLE9BQU9KLGNBQWNLLElBQUksSUFBSTVDLFFBQVFzQyxNQUFNO0lBQy9ELEVBQUUsT0FBT2YsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGO0FBRUEsTUFBTW5CLGlCQUFpQjtJQUNyQixNQUFNeUMsa0JBQWtCLE1BQU1DLElBQUFBLGVBQU0sRUFBQyxnQkFBZ0I7UUFBRVYsS0FBS1c7SUFBVTtJQUN0RSxNQUFNQyxjQUEyQjdCLEtBQUs4QixLQUFLLENBQUNDLFdBQUUsQ0FBQ0MsWUFBWSxDQUFDTixpQkFBaUI7SUFDN0UsT0FBT0c7QUFDVDtBQUVBLE1BQU1kLG1CQUFtQixDQUFDbEMsU0FBa0JHO0lBQzFDLE9BQU9rQyxJQUFBQSxzQkFBVSxFQUFDbEMsWUFBWWlELElBQUksRUFBRXBELFFBQVFzQyxNQUFNO0FBQ3BEO0FBRU8sTUFBTXpDLG9CQUFvQixDQUFDTTtJQUNoQyxPQUFPQSxhQUFha0QsY0FBY3JELFdBQVc7QUFDL0MifQ==