UNPKG

notios

Version:

<br /> <img src="https://raw.githubusercontent.com/frouriojs/notios/main/docs/assets/images/ogp.svg" width="1280" alt="notios" />

5 lines (4 loc) 13.3 kB
var j=Object.defineProperty;var o=(t,e)=>j(t,"name",{value:e,configurable:!0}),h=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,s)=>(typeof require!="undefined"?require:e)[s]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var T="notios",i=Object.freeze({rootToken:"NOTIOS_ROOT_TOKEN",parentToken:"NOTIOS_PARENT_TOKEN",doNotAlternate:"NOTIOS_DO_NOT_ALTERNATE"});import P from"fs";import u from"node-ipc";import w from"path";import m from"fs";import f from"path";var O=o(t=>{try{return m.accessSync(t,m.constants.X_OK),!0}catch{return!1}},"executable"),_=o(({cwd:t})=>m.existsSync(f.resolve(t,"package-lock.json"))?"npm":O("yarn")&&m.existsSync(f.resolve(t,"yarn.lock"))?"yarn":O("pnpm")&&m.existsSync(f.resolve(t,"pnpm-lock.yaml"))?"pnpm":"npm","detectNpmClient"),g=_;import A from"assert";var I=Symbol("error hint"),l=o((t,e)=>{try{return t()}catch(s){throw A(s instanceof Error),Object.assign(s,{[I]:e})}},"tryWithHint");var k=o((t,e,s,a)=>{let c=w.resolve(process.cwd(),"package.json"),p=l(()=>P.readFileSync(c).toString(),`Failed to read file ${JSON.stringify(c)}. Please check existense of file and access permissions.`),y=l(()=>JSON.parse(p),`Failed to parse file ${JSON.stringify(c)} as json.`),v=l(()=>Object.entries(y.scripts).map(([n,r])=>{if(typeof r!="string")throw new TypeError("command is not string");return{name:n,command:r}}),`Manifest json ${JSON.stringify(c)} does not have scripts section correctly. Please check the npm documentation for more information: https://docs.npmjs.com/misc/scripts/`),R=a.groups.flatMap(n=>({parallel:n.parallel,patterns:n.patterns,runTasks:t(v.map(r=>r.name),n.patterns).map(r=>({name:r,command:y.scripts[r]}))})),N=process.cwd(),S={cliName:e,args:s,cwd:N,parentToken:process.env[i.parentToken],npmPath:a.npmPath,npmClient:g({cwd:N}),runGroups:R},d=`${T}-${process.env[i.rootToken]}`;u.config.logger=()=>{},u.connectTo(d,()=>{let n=u.of[d];n.on("connect",()=>{n.emit(process.env[i.rootToken],S)}),n.on("exit",r=>{process.exit(r??void 0)})})},"request");var C=o(async({name:t,initial:e,options:s})=>{if(process.env[i.rootToken]&&process.env[i.parentToken]){let a=process.argv.slice(2),c=await import("npm-run-all/bin/common/parse-cli-args.js").then(p=>p.default(a,e,s));await import("npm-run-all/lib/match-tasks.js").then(p=>k(p.default,t,a,c))}else(()=>{try{return h.resolve("@notios/npm-run-all"),!0}catch{return!1}})()?await import(`@notios/npm-run-all/bin/${t}/index.js`):await import(`npm-run-all/bin/${t}/index.js`)},"hijackNpmRunAll"),x=C;x({name:"run-p",initial:{parallel:!0},options:{singleMode:!0}}); //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2NvbnN0YW50cy9pcGMudHMiLCAiLi4vc3JjL2Jvb3RzdHJhcHMvaXBjX3JlcXVlc3QudHMiLCAiLi4vc3JjL3V0aWxzL2RldGVjdF9ucG1fY2xpZW50LnRzIiwgIi4uL3NyYy91dGlscy9lcnJvci50cyIsICIuLi9zcmMvYm9vdHN0cmFwcy9oaWphY2tfbnBtX3J1bl9hbGwudHMiLCAiLi4vc3JjL2VudHJ5cG9pbnRzL3J1bi1wLm10cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IGNvbnN0IElQQ19DT05GSUdfTkFNRSA9ICdub3Rpb3MnO1xuZXhwb3J0IGNvbnN0IGVudlZhck5hbWVzID0gT2JqZWN0LmZyZWV6ZSh7XG4gIHJvb3RUb2tlbjogJ05PVElPU19ST09UX1RPS0VOJyxcbiAgcGFyZW50VG9rZW46ICdOT1RJT1NfUEFSRU5UX1RPS0VOJyxcbiAgZG9Ob3RBbHRlcm5hdGU6ICdOT1RJT1NfRE9fTk9UX0FMVEVSTkFURScsXG59KTtcbiIsICJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IG5vZGVJcGMgZnJvbSAnbm9kZS1pcGMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBlbnZWYXJOYW1lcywgSVBDX0NPTkZJR19OQU1FIH0gZnJvbSAnLi4vY29uc3RhbnRzL2lwYyc7XG5pbXBvcnQgdHlwZSB7IElwY1JlcXVlc3QsIFJ1bkdyb3VwIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pcGNfcmVxdWVzdCc7XG5pbXBvcnQgZGV0ZWN0TnBtQ2xpZW50IGZyb20gJy4uL3V0aWxzL2RldGVjdF9ucG1fY2xpZW50JztcbmltcG9ydCB7IHRyeVdpdGhIaW50IH0gZnJvbSAnLi4vdXRpbHMvZXJyb3InO1xuXG5leHBvcnQgY29uc3QgcmVxdWVzdCA9IChtYXRjaFRhc2tzOiBhbnksIGNsaU5hbWU6IHN0cmluZywgYXJnczogc3RyaW5nW10sIGFyZ3Y6IGFueSk6IHZvaWQgPT4ge1xuICBjb25zdCBtYW5pZmVzdEZ1bGxQYXRoID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksICdwYWNrYWdlLmpzb24nKTtcbiAgY29uc3QgbWFuaWZlc3RKc29uU3RyaW5nID0gdHJ5V2l0aEhpbnQoXG4gICAgKCkgPT4gZnMucmVhZEZpbGVTeW5jKG1hbmlmZXN0RnVsbFBhdGgpLnRvU3RyaW5nKCksXG4gICAgYEZhaWxlZCB0byByZWFkIGZpbGUgJHtKU09OLnN0cmluZ2lmeShtYW5pZmVzdEZ1bGxQYXRoKX0uXFxuUGxlYXNlIGNoZWNrIGV4aXN0ZW5zZSBvZiBmaWxlIGFuZCBhY2Nlc3MgcGVybWlzc2lvbnMuYCxcbiAgKTtcbiAgY29uc3QgbWFuaWZlc3RKc29uID0gdHJ5V2l0aEhpbnQoXG4gICAgKCkgPT4gSlNPTi5wYXJzZShtYW5pZmVzdEpzb25TdHJpbmcpLFxuICAgIGBGYWlsZWQgdG8gcGFyc2UgZmlsZSAke0pTT04uc3RyaW5naWZ5KG1hbmlmZXN0RnVsbFBhdGgpfSBhcyBqc29uLmAsXG4gICk7XG4gIGNvbnN0IHNjcmlwdHMgPSB0cnlXaXRoSGludChcbiAgICAoKSA9PlxuICAgICAgT2JqZWN0LmVudHJpZXMoKG1hbmlmZXN0SnNvbiBhcyB7IHNjcmlwdHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfSkuc2NyaXB0cykubWFwKChbbmFtZSwgY29tbWFuZF0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjb21tYW5kICE9PSAnc3RyaW5nJykgdGhyb3cgbmV3IFR5cGVFcnJvcignY29tbWFuZCBpcyBub3Qgc3RyaW5nJyk7XG4gICAgICAgIHJldHVybiB7IG5hbWUsIGNvbW1hbmQgfTtcbiAgICAgIH0pLFxuICAgIGBNYW5pZmVzdCBqc29uICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICBtYW5pZmVzdEZ1bGxQYXRoLFxuICAgICl9IGRvZXMgbm90IGhhdmUgc2NyaXB0cyBzZWN0aW9uIGNvcnJlY3RseS5cXG5QbGVhc2UgY2hlY2sgdGhlIG5wbSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uOiBodHRwczovL2RvY3MubnBtanMuY29tL21pc2Mvc2NyaXB0cy9gLFxuICApO1xuICBjb25zdCBydW5Hcm91cHM6IFJ1bkdyb3VwW10gPSBhcmd2Lmdyb3Vwcy5mbGF0TWFwKChncm91cDogYW55KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmFsbGVsOiBncm91cC5wYXJhbGxlbCxcbiAgICAgIHBhdHRlcm5zOiBncm91cC5wYXR0ZXJucyxcbiAgICAgIHJ1blRhc2tzOiBtYXRjaFRhc2tzKFxuICAgICAgICBzY3JpcHRzLm1hcCgoc2NyaXB0KSA9PiBzY3JpcHQubmFtZSksXG4gICAgICAgIGdyb3VwLnBhdHRlcm5zLFxuICAgICAgKS5tYXAoKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgY29tbWFuZDogKG1hbmlmZXN0SnNvbiBhcyBhbnkpLnNjcmlwdHNbbmFtZV0sXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICB9O1xuICB9KTtcbiAgY29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3QgcmVxdWVzdDogSXBjUmVxdWVzdCA9IHtcbiAgICBjbGlOYW1lLFxuICAgIGFyZ3MsXG4gICAgY3dkLFxuICAgIHBhcmVudFRva2VuOiBwcm9jZXNzLmVudltlbnZWYXJOYW1lcy5wYXJlbnRUb2tlbl0hLFxuICAgIG5wbVBhdGg6IGFyZ3YubnBtUGF0aCxcbiAgICBucG1DbGllbnQ6IGRldGVjdE5wbUNsaWVudCh7IGN3ZCB9KSxcbiAgICBydW5Hcm91cHMsXG4gIH07XG4gIGNvbnN0IGlkID0gYCR7SVBDX0NPTkZJR19OQU1FfS0ke3Byb2Nlc3MuZW52W2VudlZhck5hbWVzLnJvb3RUb2tlbl19YDtcbiAgbm9kZUlwYy5jb25maWcubG9nZ2VyID0gKCkgPT4ge307XG4gIG5vZGVJcGMuY29ubmVjdFRvKGlkLCAoKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gbm9kZUlwYy5vZltpZF07XG4gICAgY2xpZW50Lm9uKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgY2xpZW50LmVtaXQocHJvY2Vzcy5lbnZbZW52VmFyTmFtZXMucm9vdFRva2VuXSEsIHJlcXVlc3QpO1xuICAgIH0pO1xuICAgIGNsaWVudC5vbignZXhpdCcsIChleGl0Q29kZTogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICAgICAgcHJvY2Vzcy5leGl0KGV4aXRDb2RlID8/IHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH0pO1xufTtcbiIsICJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IE5wbUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvdWlfb3B0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBleGVjdXRhYmxlID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGZzLmFjY2Vzc1N5bmMobmFtZSwgZnMuY29uc3RhbnRzLlhfT0spO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV0ZWN0TnBtQ2xpZW50UGFyYW1zIHtcbiAgY3dkOiBzdHJpbmc7XG59XG5jb25zdCBkZXRlY3ROcG1DbGllbnQgPSAoeyBjd2QgfTogRGV0ZWN0TnBtQ2xpZW50UGFyYW1zKTogTnBtQ2xpZW50ID0+IHtcbiAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aC5yZXNvbHZlKGN3ZCwgJ3BhY2thZ2UtbG9jay5qc29uJykpKSB7XG4gICAgcmV0dXJuICducG0nO1xuICB9XG4gIGlmIChleGVjdXRhYmxlKCd5YXJuJykgJiYgZnMuZXhpc3RzU3luYyhwYXRoLnJlc29sdmUoY3dkLCAneWFybi5sb2NrJykpKSB7XG4gICAgcmV0dXJuICd5YXJuJztcbiAgfVxuICBpZiAoZXhlY3V0YWJsZSgncG5wbScpICYmIGZzLmV4aXN0c1N5bmMocGF0aC5yZXNvbHZlKGN3ZCwgJ3BucG0tbG9jay55YW1sJykpKSB7XG4gICAgcmV0dXJuICdwbnBtJztcbiAgfVxuICByZXR1cm4gJ25wbSc7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBkZXRlY3ROcG1DbGllbnQ7XG4iLCAiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5leHBvcnQgY29uc3QgaGludFN5bWJvbCA9IFN5bWJvbCgnZXJyb3IgaGludCcpO1xuXG5leHBvcnQgY29uc3QgdHJ5V2l0aEhpbnQgPSA8VD4oZjogKCkgPT4gVCwgaGludDogc3RyaW5nKTogVCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGYoKTtcbiAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgIGFzc2VydChlIGluc3RhbmNlb2YgRXJyb3IpO1xuXG4gICAgdGhyb3cgT2JqZWN0LmFzc2lnbihlLCB7XG4gICAgICBbaGludFN5bWJvbF06IGhpbnQsXG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjYXRjaFdpdGhIaW50ID0gKGY6ICgpID0+IHZvaWQpID0+IHtcbiAgdHJ5IHtcbiAgICBmKCk7XG4gIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGhpbnRTeW1ib2wgaW4gZSkge1xuICAgICAgY29uc3QgaGludCA9IChlIGFzIGFueSlbaGludFN5bWJvbF07XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgY29uc29sZS5lcnJvcignW05PVElPUyBFUlJPUiBISU5UXSAlcycsIGhpbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIH1cbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH1cbn07XG4iLCAiaW1wb3J0IHsgZW52VmFyTmFtZXMgfSBmcm9tICcuLi9jb25zdGFudHMvaXBjJztcbmltcG9ydCB7IHJlcXVlc3QgfSBmcm9tICcuL2lwY19yZXF1ZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBIaWphY2tOcG1SdW5BbGxQYXJhbXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGluaXRpYWw/OiBhbnk7XG4gIG9wdGlvbnM/OiBhbnk7XG59XG5cbmNvbnN0IGhpamFja05wbVJ1bkFsbCA9IGFzeW5jICh7IG5hbWUsIGluaXRpYWwsIG9wdGlvbnMgfTogSGlqYWNrTnBtUnVuQWxsUGFyYW1zKSA9PiB7XG4gIGlmIChwcm9jZXNzLmVudltlbnZWYXJOYW1lcy5yb290VG9rZW5dICYmIHByb2Nlc3MuZW52W2VudlZhck5hbWVzLnBhcmVudFRva2VuXSkge1xuICAgIGNvbnN0IGFyZ3MgPSBwcm9jZXNzLmFyZ3Yuc2xpY2UoMik7XG4gICAgY29uc3QgYXJndiA9IGF3YWl0IGltcG9ydCgnbnBtLXJ1bi1hbGwvYmluL2NvbW1vbi9wYXJzZS1jbGktYXJncy5qcycpLnRoZW4oKHBhcnNlQ2xpQXJncykgPT5cbiAgICAgIHBhcnNlQ2xpQXJncy5kZWZhdWx0KGFyZ3MsIGluaXRpYWwsIG9wdGlvbnMpLFxuICAgICk7XG4gICAgYXdhaXQgaW1wb3J0KCducG0tcnVuLWFsbC9saWIvbWF0Y2gtdGFza3MuanMnKS50aGVuKChtYXRjaFRhc2tzKSA9PiByZXF1ZXN0KG1hdGNoVGFza3MuZGVmYXVsdCwgbmFtZSwgYXJncywgYXJndikpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5wbVJ1bkFsbEZvdW5kID0gKCgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlcXVpcmUucmVzb2x2ZSgnQG5vdGlvcy9ucG0tcnVuLWFsbCcpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSkoKTtcblxuICAgIGlmIChucG1SdW5BbGxGb3VuZCkge1xuICAgICAgYXdhaXQgaW1wb3J0KGBAbm90aW9zL25wbS1ydW4tYWxsL2Jpbi8ke25hbWV9L2luZGV4LmpzYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGltcG9ydChgbnBtLXJ1bi1hbGwvYmluLyR7bmFtZX0vaW5kZXguanNgKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGhpamFja05wbVJ1bkFsbDtcbiIsICJpbXBvcnQgaGlqYWNrTnBtUnVuQWxsIGZyb20gJy4uL2Jvb3RzdHJhcHMvaGlqYWNrX25wbV9ydW5fYWxsJztcblxuaGlqYWNrTnBtUnVuQWxsKHtcbiAgbmFtZTogJ3J1bi1wJyxcbiAgaW5pdGlhbDogeyBwYXJhbGxlbDogdHJ1ZSB9LFxuICBvcHRpb25zOiB7IHNpbmdsZU1vZGU6IHRydWUgfSxcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjRXQUFPLEdBQU0sR0FBa0IsU0FDbEIsRUFBYyxPQUFPLE9BQU8sQ0FDdkMsVUFBVyxvQkFDWCxZQUFhLHNCQUNiLGVBQWdCLHlCQUNsQixDQUFDLEVDTEQsa0JBQ0Esd0JBQ0Esb0JDRkEsa0JBQ0Esb0JBR08sR0FBTSxHQUFhLEVBQUMsR0FBaUIsQ0FDMUMsR0FBSSxDQUNGLFNBQUcsV0FBVyxFQUFNLEVBQUcsVUFBVSxJQUFJLEVBQzlCLEVBQ1QsTUFBRSxDQUNBLE1BQU8sRUFDVCxDQUNGLEVBUDBCLGNBWXBCLEVBQWtCLEdBQUMsQ0FBRSxTQUNyQixFQUFHLFdBQVcsRUFBSyxRQUFRLEVBQUssbUJBQW1CLENBQUMsRUFDL0MsTUFFTCxFQUFXLE1BQU0sR0FBSyxFQUFHLFdBQVcsRUFBSyxRQUFRLEVBQUssV0FBVyxDQUFDLEVBQzdELE9BRUwsRUFBVyxNQUFNLEdBQUssRUFBRyxXQUFXLEVBQUssUUFBUSxFQUFLLGdCQUFnQixDQUFDLEVBQ2xFLE9BRUYsTUFWZSxtQkFhakIsRUFBUSxFQzdCZixzQkFFTyxHQUFNLEdBQWEsT0FBTyxZQUFZLEVBRWhDLEVBQWMsR0FBSSxFQUFZLElBQW9CLENBQzdELEdBQUksQ0FDRixNQUFPLEdBQUUsQ0FDWCxPQUFTLEVBQVAsQ0FDQSxRQUFPLFlBQWEsTUFBSyxFQUVuQixPQUFPLE9BQU8sRUFBRyxFQUNwQixHQUFhLENBQ2hCLENBQUMsQ0FDSCxDQUNGLEVBVjJCLGVGSXBCLEdBQU0sR0FBVSxHQUFD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