zephyr-agent
Version:
Zephyr plugin agent
93 lines (92 loc) • 3.08 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, getters, values)=>{
var define = (defs, kind)=>{
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
[kind]: defs[key]
});
};
define(getters, "get");
define(values, "value");
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
easCiIdentityProvider: ()=>easCiIdentityProvider
});
const external_node_child_process_namespaceObject = require("node:child_process");
const external_node_util_namespaceObject = require("node:util");
const external_utils_js_namespaceObject = require("./utils.js");
const execFile = (0, external_node_util_namespaceObject.promisify)(external_node_child_process_namespaceObject.execFile);
const EAS_ISSUER = 'https://expo.dev';
const GIT_TIMEOUT_MS = 10000;
const easCiIdentityProvider = {
provider: 'eas',
detect: isEasBuild,
infer: inferEasIdentity
};
function isEasBuild(env) {
return 'true' === env['EAS_BUILD'];
}
async function inferEasIdentity(env) {
const username = env['EAS_BUILD_USERNAME']?.trim() || void 0;
const emails = await readCommitEmails(env);
if (emails.length > 0) return {
provider: 'eas',
email: emails[0],
emails,
username,
source: 'git'
};
const providerSubject = username ?? env['EAS_BUILD_PROJECT_ID']?.trim();
if (!providerSubject) return;
return {
provider: 'eas',
issuer: EAS_ISSUER,
providerSubject,
username,
providerActorType: 'bot',
source: 'env'
};
}
async function readCommitEmails(env) {
const commit = env['EAS_BUILD_GIT_COMMIT_HASH']?.trim() || 'HEAD';
try {
const { stdout } = await execFile('git', [
'show',
'-s',
'--format=%ae%n%ce',
commit
], {
cwd: env['EAS_BUILD_WORKINGDIR']?.trim() || process.cwd(),
timeout: GIT_TIMEOUT_MS
});
return (0, external_utils_js_namespaceObject.getEmails)(stdout.split('\n'));
} catch {
return [];
}
}
exports.easCiIdentityProvider = __webpack_exports__.easCiIdentityProvider;
for(var __rspack_i in __webpack_exports__)if (-1 === [
"easCiIdentityProvider"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
value: true
});
//# sourceMappingURL=eas.js.map