UNPKG

nx-mesh

Version:
2 lines (1 loc) 3.61 kB
var R=Object.create;var p=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var K=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),U=(e,r)=>{for(var o in r)p(e,o,{get:r[o],enumerable:!0})},f=(e,r,o,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of q(r))!I.call(e,n)&&n!==o&&p(e,n,{get:()=>r[n],enumerable:!(t=D(r,n))||t.enumerable});return e};var $=(e,r,o)=>(o=e!=null?R(M(e)):{},f(r||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e)),j=e=>f(p({},"__esModule",{value:!0}),e);var O=K((ie,l)=>{"use strict";var L=require("net"),g=class extends Error{constructor(r){super(`${r} is locked`)}},m={old:new Set,young:new Set},G=1e3*15,d,h=e=>new Promise((r,o)=>{let t=L.createServer();t.unref(),t.on("error",o),t.listen(e,()=>{let{port:n}=t.address();t.close(()=>{r(n)})})}),N=function*(e){e&&(yield*e),yield 0};l.exports=async e=>{let r;e&&(r=typeof e.port=="number"?[e.port]:e.port),d===void 0&&(d=setInterval(()=>{m.old=m.young,m.young=new Set},G),d.unref&&d.unref());for(let o of N(r))try{let t=await h({...e,port:o});for(;m.old.has(t)||m.young.has(t);){if(o!==0)throw new g(o);t=await h({...e,port:o})}return m.young.add(t),t}catch(t){if(!["EADDRINUSE","EACCES"].includes(t.code)&&!(t instanceof g))throw t}throw new Error("No available ports found")};l.exports.makeRange=(e,r)=>{if(!Number.isInteger(e)||!Number.isInteger(r))throw new TypeError("`from` and `to` must be integer numbers");if(e<1024||e>65535)throw new RangeError("`from` must be between 1024 and 65535");if(r<1024||r>65536)throw new RangeError("`to` must be between 1024 and 65536");if(r<e)throw new RangeError("`to` must be greater than or equal to `from`");return function*(t,n){for(let s=t;s<=n;s++)yield s}(e,r)}});var Q={};U(Q,{default:()=>V,devExecutor:()=>b});module.exports=j(Q);var w=require("@nrwl/devkit"),T=require("node:path");var C=e=>{let r={};return Object.entries(e).forEach(([o,t])=>{let n=`--${o}`,s;Array.isArray(t)?s=t.join(" "):s=t,s!==void 0&&s!==""&&(r[n]=`${s}`)}),r},v=e=>Object.entries(e).flat();var A=require("node:child_process");var x=e=>{let r={};return Object.keys(e).forEach(o=>{let t=e[o],n=o.toUpperCase();o==="debug"&&t!==void 0&&(r[n]=(+t).toString())}),r};var y=e=>{let r=C(e.args),o=x(e.env);return{args:r,env:o}};var i;async function E(e,r,o,t){let{args:n,env:s}=y(r),k=v(n);return new Promise((P,c)=>{i=(0,A.spawn)("npx",["graphql-mesh",e,...k],{stdio:t?.stdio??[0,1,2],cwd:o.root,env:{...process.env,...s,FORCE_COLOR:"true"}}),process.on("exit",()=>i.kill()),process.on("SIGTERM",()=>i.kill()),i.on("error",a=>{c(a)}),i.on("exit",a=>{a===0?P(a):c(a)})})}var u=$(O());async function B(e){let r=e.port.number??4200,o=e.port.range!==void 0,t=u.default.makeRange(e.port.range?.from??1024,e.port.range?.to??65535);return e.port.auto?r=await(0,u.default)({port:o?t:void 0}):e.port.fallback==="auto"&&(r=await(0,u.default)({port:o?t:e.port.number,host:e.port.host})),{baseUrl:`http://${e.port.host}:${r}`,host:e.port.host,port:r}}var S=B;var F="Serving GraphQL Mesh:";async function*b(e,r){let{baseUrl:o,port:t}=await S(e);w.logger.info("Starting GraphQL Mesh dev server..."),E("dev",{args:{dir:(0,T.resolve)(r.root,e.dir),port:t,require:e.require},env:{debug:e.debug}},r,{stdio:"pipe"}),i?.stdout?.on("data",n=>{process.stdout.write(n)}),i?.stderr?.on("data",n=>{process.stderr.write(n)}),await new Promise(n=>{i?.stdout?.on("data",s=>{s.toString().indexOf(F)>-1&&n()})}),yield{baseUrl:o,success:!0},await new Promise(()=>{})}var V=b;0&&(module.exports={devExecutor});