nx-mesh
Version:
GraphQL Mesh support for Nx
2 lines (1 loc) • 4.66 kB
JavaScript
var G=Object.create;var p=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var Q=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),B=(e,r)=>{for(var o in r)p(e,o,{get:r[o],enumerable:!0})},C=(e,r,o,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of K(r))!N.call(e,n)&&n!==o&&p(e,n,{get:()=>r[n],enumerable:!(t=I(r,n))||t.enumerable});return e};var y=(e,r,o)=>(o=e!=null?G(j(e)):{},C(r||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e)),F=e=>C(p({},"__esModule",{value:!0}),e);var x=Q((ge,f)=>{"use strict";var V=require("net"),c=class extends Error{constructor(r){super(`${r} is locked`)}},a={old:new Set,young:new Set},W=1e3*15,u,O=e=>new Promise((r,o)=>{let t=V.createServer();t.unref(),t.on("error",o),t.listen(e,()=>{let{port:n}=t.address();t.close(()=>{r(n)})})}),_=function*(e){e&&(yield*e),yield 0};f.exports=async e=>{let r;e&&(r=typeof e.port=="number"?[e.port]:e.port),u===void 0&&(u=setInterval(()=>{a.old=a.young,a.young=new Set},W),u.unref&&u.unref());for(let o of _(r))try{let t=await O({...e,port:o});for(;a.old.has(t)||a.young.has(t);){if(o!==0)throw new c(o);t=await O({...e,port:o})}return a.young.add(t),t}catch(t){if(!["EADDRINUSE","EACCES"].includes(t.code)&&!(t instanceof c))throw t}throw new Error("No available ports found")};f.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 Z={};B(Z,{default:()=>Y,serveExecutor:()=>L});module.exports=F(Z);var T=require("@nrwl/devkit"),k=require("node:path");var h=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},E=e=>Object.entries(e).flat();var w=require("node:child_process");var S=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 A=e=>{let r=h(e.args),o=S(e.env);return{args:r,env:o}};var i;async function d(e,r,o,t){let{args:n,env:s}=A(r),U=E(n);return new Promise(($,v)=>{i=(0,w.spawn)("npx",["graphql-mesh",e,...U],{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",m=>{v(m)}),i.on("exit",m=>{m===0?$(m):v(m)})})}var l=y(x());async function z(e){let r=e.port.number??4200,o=e.port.range!==void 0,t=l.default.makeRange(e.port.range?.from??1024,e.port.range?.to??65535);return e.port.auto?r=await(0,l.default)({port:o?t:void 0}):e.port.fallback==="auto"&&(r=await(0,l.default)({port:o?t:e.port.number,host:e.port.host})),{baseUrl:`http://${e.port.host}:${r}`,host:e.port.host,port:r}}var b=z;var H="Serving GraphQL Mesh:";async function*P(e,r){let{baseUrl:o,port:t}=await b(e);T.logger.info("Starting GraphQL Mesh dev server..."),d("dev",{args:{dir:(0,k.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(H)>-1&&n()})}),yield{baseUrl:o,success:!0},await new Promise(()=>{})}var M=require("@nrwl/devkit"),q=require("node:path");var g=y(x());async function J(e){let r=e.port.number??4200,o=e.port.range!==void 0,t=g.default.makeRange(e.port.range?.from??1024,e.port.range?.to??65535);return e.port.auto?r=await(0,g.default)({port:o?t:void 0}):e.port.fallback==="auto"&&(r=await(0,g.default)({port:o?t:e.port.number,host:e.port.host})),{baseUrl:`http://${e.port.host}:${r}`,host:e.port.host,port:r}}var R=J;var X="Serving GraphQL Mesh:";async function*D(e,r){if(e.dir===void 0)throw new Error("Please define the 'dir' value");let{baseUrl:o,port:t}=await R(e);M.logger.info("Starting GraphQL Mesh start server..."),d("start",{args:{dir:(0,q.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(X)>-1&&n()})}),yield{baseUrl:o,success:!0},await new Promise(()=>{})}async function*L(e,r){return e.dev?yield*P(e,r):yield*D(e,r)}var Y=L;0&&(module.exports={serveExecutor});