function-exec-sync
Version:
Run a function in a node process
1 lines • 2.82 kB
Source Map (JSON)
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/function-exec-sync/src/workers/runFunction.cjs"],"sourcesContent":["require('../polyfills.cjs');\nconst fs = require('fs');\nconst serialize = require('serialize-javascript');\nconst compat = require('async-compat');\n\nconst input = process.argv[2];\nconst output = process.argv[3];\n\nfunction writeResult(result) {\n fs.writeFile(output, serialize(result), 'utf8', () => {\n process.exit(0);\n });\n}\n\nfunction writeError(error) {\n const result = { error: { message: error.message, stack: error.stack } };\n for (const key in error) result.error[key] = error[key];\n writeResult(result);\n}\n\n// get data\ntry {\n // biome-ignore lint/security/noGlobalEval: Serialize\n const workerData = eval(`(${fs.readFileSync(input, 'utf8')})`);\n\n // set up env\n if (process.cwd() !== workerData.cwd) process.chdir(workerData.cwd);\n for (const key in workerData.env) process.env[key] = workerData.env[key];\n\n // call function\n const fn = require(workerData.filePath);\n if (typeof fn !== 'function') {\n writeResult({ value: fn });\n } else {\n const args = [fn, workerData.callbacks].concat(workerData.args);\n args.push((err, value) => {\n err ? writeError(err) : writeResult({ value });\n });\n compat.asyncFunction.apply(null, args);\n }\n} catch (err) {\n writeError(err);\n}\n"],"names":["require","fs","serialize","compat","input","process","argv","output","writeResult","result","writeFile","exit","writeError","error","message","stack","key","workerData","eval","readFileSync","cwd","chdir","env","fn","filePath","value","args","callbacks","concat","push","err","asyncFunction","apply"],"mappings":";AAAAA,QAAQ;AACR,IAAMC,KAAKD,QAAQ;AACnB,IAAME,YAAYF,QAAQ;AAC1B,IAAMG,SAASH,QAAQ;AAEvB,IAAMI,QAAQC,QAAQC,IAAI,CAAC,EAAE;AAC7B,IAAMC,SAASF,QAAQC,IAAI,CAAC,EAAE;AAE9B,SAASE,YAAYC,MAAM;IACzBR,GAAGS,SAAS,CAACH,QAAQL,UAAUO,SAAS,QAAQ;QAC9CJ,QAAQM,IAAI,CAAC;IACf;AACF;AAEA,SAASC,WAAWC,KAAK;IACvB,IAAMJ,SAAS;QAAEI,OAAO;YAAEC,SAASD,MAAMC,OAAO;YAAEC,OAAOF,MAAME,KAAK;QAAC;IAAE;IACvE,IAAK,IAAMC,OAAOH,MAAOJ,OAAOI,KAAK,CAACG,IAAI,GAAGH,KAAK,CAACG,IAAI;IACvDR,YAAYC;AACd;AAEA,WAAW;AACX,IAAI;IACF,qDAAqD;IACrD,IAAMQ,aAAaC,KAAK,AAAC,IAAkC,OAA/BjB,GAAGkB,YAAY,CAACf,OAAO,SAAQ;IAE3D,aAAa;IACb,IAAIC,QAAQe,GAAG,OAAOH,WAAWG,GAAG,EAAEf,QAAQgB,KAAK,CAACJ,WAAWG,GAAG;IAClE,IAAK,IAAMJ,OAAOC,WAAWK,GAAG,CAAEjB,QAAQiB,GAAG,CAACN,IAAI,GAAGC,WAAWK,GAAG,CAACN,IAAI;IAExE,gBAAgB;IAChB,IAAMO,KAAKvB,QAAQiB,WAAWO,QAAQ;IACtC,IAAI,OAAOD,OAAO,YAAY;QAC5Bf,YAAY;YAAEiB,OAAOF;QAAG;IAC1B,OAAO;QACL,IAAMG,OAAO;YAACH;YAAIN,WAAWU,SAAS;SAAC,CAACC,MAAM,CAACX,WAAWS,IAAI;QAC9DA,KAAKG,IAAI,CAAC,SAACC,KAAKL;YACdK,MAAMlB,WAAWkB,OAAOtB,YAAY;gBAAEiB,OAAAA;YAAM;QAC9C;QACAtB,OAAO4B,aAAa,CAACC,KAAK,CAAC,MAAMN;IACnC;AACF,EAAE,OAAOI,KAAK;IACZlB,WAAWkB;AACb"}