@gadgetinc/ggt 1.3.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/add-FTY6SEGW.js +78 -0
- package/dist/{add-OTQMXZUR.js.map → add-FTY6SEGW.js.map} +2 -2
- package/dist/chunk-6BALPDKR.js +2 -0
- package/dist/{chunk-3V7YWBUK.js.map → chunk-6BALPDKR.js.map} +2 -2
- package/dist/chunk-B2QVXD4S.js +2 -0
- package/dist/{chunk-B6XQEEUK.js.map → chunk-B2QVXD4S.js.map} +2 -2
- package/dist/chunk-DKP76YB2.js +11 -0
- package/dist/{chunk-HCQR6OPH.js.map → chunk-DKP76YB2.js.map} +2 -2
- package/dist/{chunk-3HRT72TB.js → chunk-FLX4WQHD.js} +7 -5
- package/dist/chunk-FLX4WQHD.js.map +7 -0
- package/dist/chunk-IOJ2LNUK.js +2 -0
- package/dist/{chunk-SGMPMYEU.js.map → chunk-IOJ2LNUK.js.map} +2 -2
- package/dist/chunk-KXSKHE3X.js +65 -0
- package/dist/chunk-KXSKHE3X.js.map +7 -0
- package/dist/chunk-LMY5YGE5.js +121 -0
- package/dist/chunk-LMY5YGE5.js.map +7 -0
- package/dist/chunk-O3D5GVFK.js +8 -0
- package/dist/{chunk-W5JAWOQQ.js.map → chunk-O3D5GVFK.js.map} +2 -2
- package/dist/chunk-P5UB5UJ6.js +6 -0
- package/dist/chunk-P5UB5UJ6.js.map +7 -0
- package/dist/chunk-RLMEA3WE.js +2 -0
- package/dist/{chunk-P5OUQ5XQ.js.map → chunk-RLMEA3WE.js.map} +2 -2
- package/dist/chunk-SWVUOPJX.js +12 -0
- package/dist/{chunk-AGRDDZFS.js.map → chunk-SWVUOPJX.js.map} +2 -2
- package/dist/chunk-VF4CDM7R.js +18 -0
- package/dist/{chunk-XB3JTJT6.js.map → chunk-VF4CDM7R.js.map} +2 -2
- package/dist/chunk-WCP5LTNQ.js +50 -0
- package/dist/{chunk-O2K4B6AL.js.map → chunk-WCP5LTNQ.js.map} +4 -4
- package/dist/chunk-YB7NQA2X.js +2 -0
- package/dist/{chunk-W4IVYUHW.js.map → chunk-YB7NQA2X.js.map} +2 -2
- package/dist/chunk-ZZIIWV6T.js +187 -0
- package/dist/chunk-ZZIIWV6T.js.map +7 -0
- package/dist/deploy-PQZW3X7G.js +25 -0
- package/dist/{deploy-RK5PRQ4T.js.map → deploy-PQZW3X7G.js.map} +2 -2
- package/dist/dev-27YLA4GG.js +58 -0
- package/dist/{dev-J6QHZMPR.js.map → dev-27YLA4GG.js.map} +2 -2
- package/dist/esm-RPCDY7LG.js +36 -0
- package/dist/esm-RPCDY7LG.js.map +7 -0
- package/dist/list-OTGSESA6.js +11 -0
- package/dist/{list-A7LFGUXG.js.map → list-OTGSESA6.js.map} +2 -2
- package/dist/login-YOXXXAJN.js +2 -0
- package/dist/logout-5YOHPXGR.js +7 -0
- package/dist/{logout-PPA6JCDY.js.map → logout-5YOHPXGR.js.map} +2 -2
- package/dist/main.js +12 -12
- package/dist/main.js.map +3 -3
- package/dist/{open-OZDKOY6V.js → open-QPMDV7ZL.js} +7 -7
- package/dist/{open-OZDKOY6V.js.map → open-QPMDV7ZL.js.map} +2 -2
- package/dist/{pull-YLUFPDDX.js → pull-3DUIUAIP.js} +7 -7
- package/dist/pull-3DUIUAIP.js.map +7 -0
- package/dist/push-RS6QHKDD.js +2 -0
- package/dist/status-N3VF5MBE.js +14 -0
- package/dist/{status-MP45HWIM.js.map → status-N3VF5MBE.js.map} +2 -2
- package/dist/version-EGM7PLFX.js +11 -0
- package/dist/{version-CXGPMLMK.js.map → version-EGM7PLFX.js.map} +2 -2
- package/dist/whoami-ES6XN3RI.js +7 -0
- package/dist/{whoami-PPXXBHUR.js.map → whoami-ES6XN3RI.js.map} +2 -2
- package/package.json +34 -34
- package/dist/add-OTQMXZUR.js +0 -78
- package/dist/chunk-3HRT72TB.js.map +0 -7
- package/dist/chunk-3V7YWBUK.js +0 -2
- package/dist/chunk-AGRDDZFS.js +0 -12
- package/dist/chunk-B6XQEEUK.js +0 -2
- package/dist/chunk-BKO2TX4J.js +0 -117
- package/dist/chunk-BKO2TX4J.js.map +0 -7
- package/dist/chunk-FQ2LR3BI.js +0 -6
- package/dist/chunk-FQ2LR3BI.js.map +0 -7
- package/dist/chunk-GIAIN3IJ.js +0 -65
- package/dist/chunk-GIAIN3IJ.js.map +0 -7
- package/dist/chunk-HCQR6OPH.js +0 -11
- package/dist/chunk-O2K4B6AL.js +0 -50
- package/dist/chunk-P5OUQ5XQ.js +0 -2
- package/dist/chunk-PC6ANBC6.js +0 -187
- package/dist/chunk-PC6ANBC6.js.map +0 -7
- package/dist/chunk-SGMPMYEU.js +0 -2
- package/dist/chunk-W4IVYUHW.js +0 -2
- package/dist/chunk-W5JAWOQQ.js +0 -8
- package/dist/chunk-XB3JTJT6.js +0 -18
- package/dist/deploy-RK5PRQ4T.js +0 -25
- package/dist/dev-J6QHZMPR.js +0 -58
- package/dist/esm-46TFUFSK.js +0 -36
- package/dist/esm-46TFUFSK.js.map +0 -7
- package/dist/list-A7LFGUXG.js +0 -11
- package/dist/login-BP4XIHLA.js +0 -2
- package/dist/logout-PPA6JCDY.js +0 -7
- package/dist/pull-YLUFPDDX.js.map +0 -7
- package/dist/push-FFLXHGFG.js +0 -2
- package/dist/status-MP45HWIM.js +0 -14
- package/dist/version-CXGPMLMK.js +0 -11
- package/dist/whoami-PPXXBHUR.js +0 -7
- /package/dist/{login-BP4XIHLA.js.map → login-YOXXXAJN.js.map} +0 -0
- /package/dist/{push-FFLXHGFG.js.map → push-RS6QHKDD.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{f as C,g as b,h as E,j as D}from"./chunk-WCP5LTNQ.js";import{b as N,f as G}from"./chunk-KXSKHE3X.js";import{a as g,d as $,f as P,h as y}from"./chunk-IOJ2LNUK.js";var S=$((F,I)=>{y();var _=Symbol("arg flag"),a=class n extends Error{static{g(this,"ArgError")}constructor(t,p){super(t),this.name="ArgError",this.code=p,Object.setPrototypeOf(this,n.prototype)}};function A(n,{argv:t=process.argv.slice(2),permissive:p=!1,stopAtPositional:w=!1}={}){if(!n)throw new a("argument specification object is required","ARG_CONFIG_NO_SPEC");let e={_:[]},s={},c={};for(let r of Object.keys(n)){if(!r)throw new a("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(r[0]!=="-")throw new a(`argument key must start with '-' but found: '${r}'`,"ARG_CONFIG_NONOPT_KEY");if(r.length===1)throw new a(`argument key must have a name; singular '-' keys are not allowed: ${r}`,"ARG_CONFIG_NONAME_KEY");if(typeof n[r]=="string"){s[r]=n[r];continue}let l=n[r],i=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=g((f,d,m=[])=>(m.push(u(f,d,m[m.length-1])),m),"type"),i=u===Boolean||u[_]===!0}else if(typeof l=="function")i=l===Boolean||l[_]===!0;else throw new a(`type missing or not a function or valid array type: ${r}`,"ARG_CONFIG_VAD_TYPE");if(r[1]!=="-"&&r.length>2)throw new a(`short argument keys (with a single hyphen) must have only one character: ${r}`,"ARG_CONFIG_SHORTOPT_TOOLONG");c[r]=[l,i]}for(let r=0,l=t.length;r<l;r++){let i=t[r];if(w&&e._.length>0){e._=e._.concat(t.slice(r));break}if(i==="--"){e._=e._.concat(t.slice(r+1));break}if(i.length>1&&i[0]==="-"){let u=i[1]==="-"||i.length===2?[i]:i.slice(1).split("").map(f=>`-${f}`);for(let f=0;f<u.length;f++){let d=u[f],[m,k]=d[1]==="-"?d.split(/=(.*)/,2):[d,void 0],o=m;for(;o in s;)o=s[o];if(!(o in c))if(p){e._.push(d);continue}else throw new a(`unknown or unexpected option: ${m}`,"ARG_UNKNOWN_OPTION");let[h,R]=c[o];if(!R&&f+1<u.length)throw new a(`option requires argument (but was followed by another short argument): ${m}`,"ARG_MISSING_REQUIRED_SHORTARG");if(R)e[o]=h(!0,o,e[o]);else if(k===void 0){if(t.length<r+2||t[r+1].length>1&&t[r+1][0]==="-"&&!(t[r+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(h===Number||typeof BigInt<"u"&&h===BigInt))){let T=m===o?"":` (alias for ${o})`;throw new a(`option requires argument: ${m}${T}`,"ARG_MISSING_REQUIRED_LONGARG")}e[o]=h(t[r+1],o,e[o]),++r}else e[o]=h(k,o,e[o])}}else e._.push(i)}return e}g(A,"arg");A.flag=n=>(n[_]=!0,n);A.COUNT=A.flag((n,t,p)=>(p||0)+1);A.ArgError=a;I.exports=A});y();var x=P(S(),1);var L=g((n,t)=>{let p={},w={};for(let[e,s]of Object.entries(n)){if(!("type"in s)){p[e]=s;continue}if(p[e]=s.type,w[e]=s.default,s.alias)for(let c of Array.isArray(s.alias)?s.alias:[s.alias])p[c]=e}try{let e=(0,x.default)(p,t);for(let[s,c]of Object.entries(w))G(e[s])&&(e[s]=c);return e}catch(e){throw e instanceof x.default.ArgError&&(e=new O(e.message)),e instanceof b?e:new E(e)}},"parseArgs"),O=class extends b{static{g(this,"ArgError")}isBug=C.NO;render(){return`${N.redBright(D.cross)} `+this.message}};y();import j from"node:assert";var H=["dev","deploy","status","push","pull","add","open","list","login","logout","whoami","version"],K=g(n=>H.includes(n),"isCommand"),J=g(async n=>{j(K(n),`invalid command: ${n}`);let t;switch(n){case"dev":t=await import("./dev-27YLA4GG.js");break;case"deploy":t=await import("./deploy-PQZW3X7G.js");break;case"status":t=await import("./status-N3VF5MBE.js");break;case"push":t=await import("./push-RS6QHKDD.js");break;case"pull":t=await import("./pull-3DUIUAIP.js");break;case"add":t=await import("./add-FTY6SEGW.js");break;case"open":t=await import("./open-QPMDV7ZL.js");break;case"list":t=await import("./list-OTGSESA6.js");break;case"login":t=await import("./login-YOXXXAJN.js");break;case"logout":t=await import("./logout-5YOHPXGR.js");break;case"whoami":t=await import("./whoami-ES6XN3RI.js");break;case"version":t=await import("./version-EGM7PLFX.js");break}return t},"importCommand");export{S as a,L as b,O as c,H as d,K as e,J as f};
|
|
2
|
+
//# sourceMappingURL=chunk-YB7NQA2X.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../node_modules/.pnpm/arg@5.0.2/node_modules/arg/index.js", "../src/services/command/arg.ts", "../src/services/command/command.ts"],
|
|
4
4
|
"sourcesContent": ["const flagSymbol = Symbol('arg flag');\n\nclass ArgError extends Error {\n\tconstructor(msg, code) {\n\t\tsuper(msg);\n\t\tthis.name = 'ArgError';\n\t\tthis.code = code;\n\n\t\tObject.setPrototypeOf(this, ArgError.prototype);\n\t}\n}\n\nfunction arg(\n\topts,\n\t{\n\t\targv = process.argv.slice(2),\n\t\tpermissive = false,\n\t\tstopAtPositional = false\n\t} = {}\n) {\n\tif (!opts) {\n\t\tthrow new ArgError(\n\t\t\t'argument specification object is required',\n\t\t\t'ARG_CONFIG_NO_SPEC'\n\t\t);\n\t}\n\n\tconst result = { _: [] };\n\n\tconst aliases = {};\n\tconst handlers = {};\n\n\tfor (const key of Object.keys(opts)) {\n\t\tif (!key) {\n\t\t\tthrow new ArgError(\n\t\t\t\t'argument key cannot be an empty string',\n\t\t\t\t'ARG_CONFIG_EMPTY_KEY'\n\t\t\t);\n\t\t}\n\n\t\tif (key[0] !== '-') {\n\t\t\tthrow new ArgError(\n\t\t\t\t`argument key must start with '-' but found: '${key}'`,\n\t\t\t\t'ARG_CONFIG_NONOPT_KEY'\n\t\t\t);\n\t\t}\n\n\t\tif (key.length === 1) {\n\t\t\tthrow new ArgError(\n\t\t\t\t`argument key must have a name; singular '-' keys are not allowed: ${key}`,\n\t\t\t\t'ARG_CONFIG_NONAME_KEY'\n\t\t\t);\n\t\t}\n\n\t\tif (typeof opts[key] === 'string') {\n\t\t\taliases[key] = opts[key];\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet type = opts[key];\n\t\tlet isFlag = false;\n\n\t\tif (\n\t\t\tArray.isArray(type) &&\n\t\t\ttype.length === 1 &&\n\t\t\ttypeof type[0] === 'function'\n\t\t) {\n\t\t\tconst [fn] = type;\n\t\t\ttype = (value, name, prev = []) => {\n\t\t\t\tprev.push(fn(value, name, prev[prev.length - 1]));\n\t\t\t\treturn prev;\n\t\t\t};\n\t\t\tisFlag = fn === Boolean || fn[flagSymbol] === true;\n\t\t} else if (typeof type === 'function') {\n\t\t\tisFlag = type === Boolean || type[flagSymbol] === true;\n\t\t} else {\n\t\t\tthrow new ArgError(\n\t\t\t\t`type missing or not a function or valid array type: ${key}`,\n\t\t\t\t'ARG_CONFIG_VAD_TYPE'\n\t\t\t);\n\t\t}\n\n\t\tif (key[1] !== '-' && key.length > 2) {\n\t\t\tthrow new ArgError(\n\t\t\t\t`short argument keys (with a single hyphen) must have only one character: ${key}`,\n\t\t\t\t'ARG_CONFIG_SHORTOPT_TOOLONG'\n\t\t\t);\n\t\t}\n\n\t\thandlers[key] = [type, isFlag];\n\t}\n\n\tfor (let i = 0, len = argv.length; i < len; i++) {\n\t\tconst wholeArg = argv[i];\n\n\t\tif (stopAtPositional && result._.length > 0) {\n\t\t\tresult._ = result._.concat(argv.slice(i));\n\t\t\tbreak;\n\t\t}\n\n\t\tif (wholeArg === '--') {\n\t\t\tresult._ = result._.concat(argv.slice(i + 1));\n\t\t\tbreak;\n\t\t}\n\n\t\tif (wholeArg.length > 1 && wholeArg[0] === '-') {\n\t\t\t/* eslint-disable operator-linebreak */\n\t\t\tconst separatedArguments =\n\t\t\t\twholeArg[1] === '-' || wholeArg.length === 2\n\t\t\t\t\t? [wholeArg]\n\t\t\t\t\t: wholeArg\n\t\t\t\t\t\t\t.slice(1)\n\t\t\t\t\t\t\t.split('')\n\t\t\t\t\t\t\t.map((a) => `-${a}`);\n\t\t\t/* eslint-enable operator-linebreak */\n\n\t\t\tfor (let j = 0; j < separatedArguments.length; j++) {\n\t\t\t\tconst arg = separatedArguments[j];\n\t\t\t\tconst [originalArgName, argStr] =\n\t\t\t\t\targ[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined];\n\n\t\t\t\tlet argName = originalArgName;\n\t\t\t\twhile (argName in aliases) {\n\t\t\t\t\targName = aliases[argName];\n\t\t\t\t}\n\n\t\t\t\tif (!(argName in handlers)) {\n\t\t\t\t\tif (permissive) {\n\t\t\t\t\t\tresult._.push(arg);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new ArgError(\n\t\t\t\t\t\t\t`unknown or unexpected option: ${originalArgName}`,\n\t\t\t\t\t\t\t'ARG_UNKNOWN_OPTION'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst [type, isFlag] = handlers[argName];\n\n\t\t\t\tif (!isFlag && j + 1 < separatedArguments.length) {\n\t\t\t\t\tthrow new ArgError(\n\t\t\t\t\t\t`option requires argument (but was followed by another short argument): ${originalArgName}`,\n\t\t\t\t\t\t'ARG_MISSING_REQUIRED_SHORTARG'\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (isFlag) {\n\t\t\t\t\tresult[argName] = type(true, argName, result[argName]);\n\t\t\t\t} else if (argStr === undefined) {\n\t\t\t\t\tif (\n\t\t\t\t\t\targv.length < i + 2 ||\n\t\t\t\t\t\t(argv[i + 1].length > 1 &&\n\t\t\t\t\t\t\targv[i + 1][0] === '-' &&\n\t\t\t\t\t\t\t!(\n\t\t\t\t\t\t\t\targv[i + 1].match(/^-?\\d*(\\.(?=\\d))?\\d*$/) &&\n\t\t\t\t\t\t\t\t(type === Number ||\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\t\t\t\t(typeof BigInt !== 'undefined' && type === BigInt))\n\t\t\t\t\t\t\t))\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst extended =\n\t\t\t\t\t\t\toriginalArgName === argName ? '' : ` (alias for ${argName})`;\n\t\t\t\t\t\tthrow new ArgError(\n\t\t\t\t\t\t\t`option requires argument: ${originalArgName}${extended}`,\n\t\t\t\t\t\t\t'ARG_MISSING_REQUIRED_LONGARG'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tresult[argName] = type(argv[i + 1], argName, result[argName]);\n\t\t\t\t\t++i;\n\t\t\t\t} else {\n\t\t\t\t\tresult[argName] = type(argStr, argName, result[argName]);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tresult._.push(wholeArg);\n\t\t}\n\t}\n\n\treturn result;\n}\n\narg.flag = (fn) => {\n\tfn[flagSymbol] = true;\n\treturn fn;\n};\n\n// Utility types\narg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1);\n\n// Expose error class\narg.ArgError = ArgError;\n\nmodule.exports = arg;\n", "import arg from \"arg\";\nimport chalk from \"chalk\";\nimport type { Simplify } from \"type-fest\";\nimport { GGTError, IsBug, UnexpectedError } from \"../output/report.js\";\nimport { symbol } from \"../output/symbols.js\";\nimport { isNil } from \"../util/is.js\";\n\nexport type ArgsDefinition = Record<string, ArgDefinition>;\n\ntype ArgDefinition<Handler extends arg.Handler = arg.Handler> =\n | Handler\n | {\n type: Handler;\n alias?: string | string[];\n default?: ReturnType<Handler>;\n };\n\nexport type ParseArgsOptions = {\n /**\n * A list of arguments to parse.\n */\n argv?: string[];\n\n /**\n * When permissive set to `true`, arg will push any unknown arguments\n * onto the \"extra\" argument array (`ctx.args._`) instead of throwing\n * an error about an unknown flag.\n *\n * @default false\n */\n permissive?: boolean;\n\n /**\n * When stopAtPositional is set to true, context will stop parsing at\n * the first positional argument.\n *\n * @default false\n */\n stopAtPositional?: boolean;\n};\n\nexport const parseArgs = <Args extends ArgsDefinition>(args: Args, options?: arg.Options): ArgsDefinitionResult<Args> => {\n const spec: arg.Spec = {};\n const defaultValues: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(args)) {\n if (!(\"type\" in value)) {\n spec[key] = value;\n continue;\n }\n\n spec[key] = value.type;\n defaultValues[key] = value.default;\n\n if (value.alias) {\n for (const alias of Array.isArray(value.alias) ? value.alias : [value.alias]) {\n spec[alias] = key;\n }\n }\n }\n\n try {\n const parsed = arg(spec, options);\n for (const [key, value] of Object.entries(defaultValues)) {\n if (isNil(parsed[key])) {\n parsed[key] = value as never;\n }\n }\n return parsed as ArgsDefinitionResult<Args>;\n } catch (error: unknown) {\n if (error instanceof arg.ArgError) {\n // convert arg.ArgError to GGTError\n // eslint-disable-next-line no-ex-assign\n error = new ArgError(error.message);\n }\n if (error instanceof GGTError) {\n throw error;\n }\n throw new UnexpectedError(error);\n }\n};\n\nexport class ArgError extends GGTError {\n isBug = IsBug.NO;\n\n protected override render(): string {\n return `${chalk.redBright(symbol.cross)} ` + this.message;\n }\n}\n\n/**\n * Turns this:\n * ```ts\n * type Args = {\n * \"--string\": { type: String; alias: \"s\" };\n * \"--number\": { type: Number; default: 42 };\n * };\n * ```\n *\n * Into this:\n * ```ts\n * type Result = {\n * \"--string\": string | undefined;\n * \"--number\": number;\n * };\n * ```\n */\nexport type ArgsDefinitionResult<Args extends ArgsDefinition, Keys extends keyof Args = keyof Args> = Simplify<{\n [Key in Keys]: Args[Key] extends ArgDefinition<infer Handler>\n ? Args[Key] extends { default: unknown }\n ? NonNullable<ReturnType<Handler>>\n : ReturnType<Handler> | undefined\n : never;\n}> & { _: string[] };\n", "import assert from \"node:assert\";\nimport type { EmptyObject, Promisable } from \"type-fest\";\nimport type { ArgsDefinition, ArgsDefinitionResult } from \"./arg.js\";\nimport type { Context } from \"./context.js\";\n\n/**\n * The list of available commands.\n *\n * 1. Every command corresponds to a file inside of src/commands/\n * 2. The order determines the order of commands in the README\n */\nexport const Commands = [\"dev\", \"deploy\", \"status\", \"push\", \"pull\", \"add\", \"open\", \"list\", \"login\", \"logout\", \"whoami\", \"version\"] as const;\n\n/**\n * One of the commands in {@link Commands}.\n */\nexport type Command = (typeof Commands)[number];\n\n/**\n * Checks if a string is a valid command.\n *\n * @param command - The string to check\n * @returns Whether the string is a valid command\n */\nexport const isCommand = (command: string): command is Command => {\n return Commands.includes(command as Command);\n};\n\n/**\n * A command module is a file in the src/commands/ directory.\n */\nexport type CommandModule<Args extends ArgsDefinition = EmptyObject> = {\n /**\n * The command's {@link ArgsDefinition args}.\n */\n args?: Args;\n\n /**\n * The command's {@link Usage usage}.\n */\n usage: Usage;\n\n /**\n * The command's {@link Run run} function.\n */\n run: Run<Args>;\n};\n\n/**\n * A {@linkcode Command command}'s usage is a function that returns a\n * string describing how to use the command.\n */\nexport type Usage = (ctx: Context) => string;\n\n/**\n * The function that is run when the command is called.\n */\nexport type Run<Args extends ArgsDefinition = EmptyObject> = (ctx: Context, args: ArgsDefinitionResult<Args>) => Promisable<void>;\n\n/**\n * Imports a command module.\n *\n * @param cmd - The command to import\n * @see {@linkcode CommandModule}\n */\nexport const importCommand = async (cmd: Command): Promise<CommandModule> => {\n assert(isCommand(cmd), `invalid command: ${cmd}`);\n\n let module;\n switch (cmd) {\n case \"dev\":\n module = await import(\"../../commands/dev.js\");\n break;\n case \"deploy\":\n module = await import(\"../../commands/deploy.js\");\n break;\n case \"status\":\n module = await import(\"../../commands/status.js\");\n break;\n case \"push\":\n module = await import(\"../../commands/push.js\");\n break;\n case \"pull\":\n module = await import(\"../../commands/pull.js\");\n break;\n case \"add\":\n module = await import(\"../../commands/add.js\");\n break;\n case \"open\":\n module = await import(\"../../commands/open.js\");\n break;\n case \"list\":\n module = await import(\"../../commands/list.js\");\n break;\n case \"login\":\n module = await import(\"../../commands/login.js\");\n break;\n case \"logout\":\n module = await import(\"../../commands/logout.js\");\n break;\n case \"whoami\":\n module = await import(\"../../commands/whoami.js\");\n break;\n case \"version\":\n module = await import(\"../../commands/version.js\");\n break;\n }\n\n return module as CommandModule;\n};\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["require_arg", "__commonJSMin", "exports", "module", "init_cjs", "flagSymbol", "ArgError", "_ArgError", "msg", "code", "arg", "opts", "argv", "permissive", "stopAtPositional", "result", "aliases", "handlers", "key", "type", "isFlag", "fn", "value", "name", "prev", "i", "len", "wholeArg", "separatedArguments", "a", "j", "originalArgName", "argStr", "argName", "extended", "v", "existingCount", "init_cjs", "import_arg", "parseArgs", "args", "options", "spec", "defaultValues", "key", "value", "alias", "parsed", "arg", "isNil", "error", "ArgError", "GGTError", "UnexpectedError", "IsBug", "source_default", "symbol", "init_cjs", "assert", "Commands", "isCommand", "command", "importCommand", "cmd", "module"]
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["require_arg", "__commonJSMin", "exports", "module", "init_cjs", "flagSymbol", "ArgError", "_ArgError", "__name", "msg", "code", "arg", "opts", "argv", "permissive", "stopAtPositional", "result", "aliases", "handlers", "key", "type", "isFlag", "fn", "value", "name", "prev", "i", "len", "wholeArg", "separatedArguments", "a", "j", "originalArgName", "argStr", "argName", "extended", "v", "existingCount", "init_cjs", "import_arg", "parseArgs", "__name", "args", "options", "spec", "defaultValues", "key", "value", "alias", "parsed", "arg", "isNil", "error", "ArgError", "GGTError", "UnexpectedError", "IsBug", "source_default", "symbol", "init_cjs", "assert", "Commands", "isCommand", "__name", "command", "importCommand", "cmd", "assert", "module"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import{b as bt,e as Et,h as xt,j as Ie,k as ne,l as Ct}from"./chunk-LMY5YGE5.js";import{a as ft,b as ht}from"./chunk-DKP76YB2.js";import{b as W}from"./chunk-O3D5GVFK.js";import{c as mt}from"./chunk-YB7NQA2X.js";import{c as Ae}from"./chunk-VF4CDM7R.js";import{B as _t,i as Me,j as B,k as vr,l as gt,q as Mt}from"./chunk-WCP5LTNQ.js";import{b as It,c as At}from"./chunk-SWVUOPJX.js";import{$ as O,E as ct,H as dt,I as G,L as xe,M as te,P as yt,S as St,Z as g,_ as V,b as E,d as ot,g as st,n as it,p as Ee,q as lt,r as ut,s as pt,z as Tr}from"./chunk-KXSKHE3X.js";import{a as Cr}from"./chunk-B2QVXD4S.js";import{a,b as F,d as x,f as w,h as p}from"./chunk-IOJ2LNUK.js";var $t=x((Cs,Ut)=>{p();Ut.exports=Ht;Ht.sync=Nr;var Gt=F("fs");function Br(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var o=n[r].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}a(Br,"checkPathExt");function Vt(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Br(t,n)}a(Vt,"checkStat");function Ht(e,t,n){Gt.stat(e,function(r,o){n(r,r?!1:Vt(o,e,t))})}a(Ht,"isexe");function Nr(e,t){return Vt(Gt.statSync(e),e,t)}a(Nr,"sync")});var qt=x((Fs,Wt)=>{p();Wt.exports=jt;jt.sync=kr;var Qt=F("fs");function jt(e,t,n){Qt.stat(e,function(r,o){n(r,r?!1:Jt(o,t))})}a(jt,"isexe");function kr(e,t){return Jt(Qt.statSync(e),t)}a(kr,"sync");function Jt(e,t){return e.isFile()&&Lr(e,t)}a(Jt,"checkStat");function Lr(e,t){var n=e.mode,r=e.uid,o=e.gid,s=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),l=parseInt("100",8),u=parseInt("010",8),c=parseInt("001",8),d=l|u,y=n&c||n&u&&o===i||n&l&&r===s||n&d&&s===0;return y}a(Lr,"checkMode")});var zt=x((Os,Yt)=>{p();var Ps=F("fs"),oe;process.platform==="win32"||global.TESTING_WINDOWS?oe=$t():oe=qt();Yt.exports=Te;Te.sync=Dr;function Te(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,o){Te(e,t||{},function(s,i){s?o(s):r(i)})})}oe(e,t||{},function(r,o){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,o=!1),n(r,o)})}a(Te,"isexe");function Dr(e,t){try{return oe.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}a(Dr,"sync")});var rn=x((ks,nn)=>{p();var $=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Kt=F("path"),Gr=$?";":":",Xt=zt(),Zt=a(e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),"getNotFoundError"),en=a((e,t)=>{let n=t.colon||Gr,r=e.match(/\//)||$&&e.match(/\\/)?[""]:[...$?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],o=$?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=$?o.split(n):[""];return $&&e.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:r,pathExt:s,pathExtExe:o}},"getPathInfo"),tn=a((e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:o,pathExtExe:s}=en(e,t),i=[],l=a(c=>new Promise((d,y)=>{if(c===r.length)return t.all&&i.length?d(i):y(Zt(e));let S=r[c],m=/^".*"$/.test(S)?S.slice(1,-1):S,f=Kt.join(m,e),h=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+f:f;d(u(h,c,0))}),"step"),u=a((c,d,y)=>new Promise((S,m)=>{if(y===o.length)return S(l(d+1));let f=o[y];Xt(c+f,{pathExt:s},(h,b)=>{if(!h&&b)if(t.all)i.push(c+f);else return S(c+f);return S(u(c,d,y+1))})}),"subStep");return n?l(0).then(c=>n(null,c),n):l(0)},"which"),Vr=a((e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:o}=en(e,t),s=[];for(let i=0;i<n.length;i++){let l=n[i],u=/^".*"$/.test(l)?l.slice(1,-1):l,c=Kt.join(u,e),d=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let y=0;y<r.length;y++){let S=d+r[y];try{if(Xt.sync(S,{pathExt:o}))if(t.all)s.push(S);else return S}catch{}}}if(t.all&&s.length)return s;if(t.nothrow)return null;throw Zt(e)},"whichSync");nn.exports=tn;tn.sync=Vr});var on=x((Gs,ve)=>{"use strict";p();var an=a((e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"},"pathKey");ve.exports=an;ve.exports.default=an});var pn=x((Us,un)=>{"use strict";p();var sn=F("path"),Hr=rn(),Ur=on();function ln(e,t){let n=e.options.env||process.env,r=process.cwd(),o=e.options.cwd!=null,s=o&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Hr.sync(e.command,{path:n[Ur({env:n})],pathExt:t?sn.delimiter:void 0})}catch{}finally{s&&process.chdir(r)}return i&&(i=sn.resolve(o?e.options.cwd:"",i)),i}a(ln,"resolveCommandAttempt");function $r(e){return ln(e)||ln(e,!0)}a($r,"resolveCommand");un.exports=$r});var cn=x((js,Re)=>{"use strict";p();var Fe=/([()\][%!^"`<>&|;, *?])/g;function Qr(e){return e=e.replace(Fe,"^$1"),e}a(Qr,"escapeCommand");function jr(e,t){return e=`${e}`,e=e.replace(/(\\*)"/g,'$1$1\\"'),e=e.replace(/(\\*)$/,"$1$1"),e=`"${e}"`,e=e.replace(Fe,"^$1"),t&&(e=e.replace(Fe,"^$1")),e}a(jr,"escapeArgument");Re.exports.command=Qr;Re.exports.argument=jr});var yn=x((qs,dn)=>{"use strict";p();dn.exports=/^#!(.*)/});var mn=x((zs,Sn)=>{"use strict";p();var Jr=yn();Sn.exports=(e="")=>{let t=e.match(Jr);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),o=n.split("/").pop();return o==="env"?r:r?`${o} ${r}`:o}});var fn=x((Xs,gn)=>{"use strict";p();var we=F("fs"),Wr=mn();function qr(e){let n=Buffer.alloc(150),r;try{r=we.openSync(e,"r"),we.readSync(r,n,0,150,0),we.closeSync(r)}catch{}return Wr(n.toString())}a(qr,"readShebang");gn.exports=qr});var xn=x((ti,En)=>{"use strict";p();var Yr=F("path"),hn=pn(),bn=cn(),zr=fn(),Kr=process.platform==="win32",Xr=/\.(?:com|exe)$/i,Zr=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function ea(e){e.file=hn(e);let t=e.file&&zr(e.file);return t?(e.args.unshift(e.file),e.command=t,hn(e)):e.file}a(ea,"detectShebang");function ta(e){if(!Kr)return e;let t=ea(e),n=!Xr.test(t);if(e.options.forceShell||n){let r=Zr.test(t);e.command=Yr.normalize(e.command),e.command=bn.command(e.command),e.args=e.args.map(s=>bn.argument(s,r));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}a(ta,"parseNonShell");function na(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:ta(r)}a(na,"parse");En.exports=na});var An=x((ai,In)=>{"use strict";p();var Pe=process.platform==="win32";function Oe(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}a(Oe,"notFoundError");function ra(e,t){if(!Pe)return;let n=e.emit;e.emit=function(r,o){if(r==="exit"){let s=Mn(o,t,"spawn");if(s)return n.call(e,"error",s)}return n.apply(e,arguments)}}a(ra,"hookChildProcess");function Mn(e,t){return Pe&&e===1&&!t.file?Oe(t.original,"spawn"):null}a(Mn,"verifyENOENT");function aa(e,t){return Pe&&e===1&&!t.file?Oe(t.original,"spawnSync"):null}a(aa,"verifyENOENTSync");In.exports={hookChildProcess:ra,verifyENOENT:Mn,verifyENOENTSync:aa,notFoundError:Oe}});var Tn=x((ii,Q)=>{"use strict";p();var _n=F("child_process"),Be=xn(),Ne=An();function Cn(e,t,n){let r=Be(e,t,n),o=_n.spawn(r.command,r.args,r.options);return Ne.hookChildProcess(o,r),o}a(Cn,"spawn");function oa(e,t,n){let r=Be(e,t,n),o=_n.spawnSync(r.command,r.args,r.options);return o.error=o.error||Ne.verifyENOENTSync(o.status,r),o}a(oa,"spawnSync");Q.exports=Cn;Q.exports.spawn=Cn;Q.exports.sync=oa;Q.exports._parse=Be;Q.exports._enoent=Ne});var Zn=x((Yl,Xn)=>{"use strict";p();var{PassThrough:to}=F("stream");Xn.exports=function(){var e=[],t=new to({objectMode:!0});return t.setMaxListeners(0),t.add=n,t.isEmpty=r,t.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(n),t;function n(s){return Array.isArray(s)?(s.forEach(n),this):(e.push(s),s.once("end",o.bind(null,s)),s.once("error",t.emit.bind(t,"error")),s.pipe(t,{end:!1}),this)}a(n,"add");function r(){return e.length==0}a(r,"isEmpty");function o(s){e=e.filter(function(i){return i!==s}),!e.length&&t.readable&&t.end()}a(o,"remove")}});var fr=x((Uu,gr)=>{p();function A(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}a(A,"RetryOperation");gr.exports=A;A.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};A.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};A.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),n=this._cachedTimeouts.slice(-1);else return!1;var r=this;return this._timer=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n),this._options.unref&&this._timer.unref(),!0};A.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};A.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};A.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};A.prototype.start=A.prototype.try;A.prototype.errors=function(){return this._errors};A.prototype.attempts=function(){return this._attempts};A.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var o=this._errors[r],s=o.message,i=(e[s]||0)+1;e[s]=i,i>=n&&(t=o,n=i)}return t}});var hr=x(L=>{p();var Co=fr();L.operation=function(e){var t=L.timeouts(e);return new Co(t,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};L.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var r=[],o=0;o<t.retries;o++)r.push(this.createTimeout(o,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(o,t)),r.sort(function(s,i){return s-i}),r};L.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*Math.max(t.minTimeout,1)*Math.pow(t.factor,e));return r=Math.min(r,t.maxTimeout),r};L.wrap=function(e,t,n){if(t instanceof Array&&(n=t,t=null),!n){n=[];for(var r in e)typeof e[r]=="function"&&n.push(r)}for(var o=0;o<n.length;o++){var s=n[o],i=e[s];e[s]=a(function(u){var c=L.operation(t),d=Array.prototype.slice.call(arguments,1),y=d.pop();d.push(function(S){c.retry(S)||(S&&(arguments[0]=c.mainError()),y.apply(this,arguments))}),c.attempt(function(){u.apply(e,d)})},"retryWrapper").bind(e,i),e[s].options=t}}});var Er=x((qu,br)=>{p();br.exports=hr()});p();var q=w(gt(),1);var re=class extends Map{static{a(this,"Changes")}created=G(()=>Array.from(this.entries()).filter(([,t])=>t.type==="create").map(([t])=>t));updated=G(()=>Array.from(this.entries()).filter(([,t])=>t.type==="update").map(([t])=>t));deleted=G(()=>Array.from(this.entries()).filter(([,t])=>t.type==="delete").map(([t])=>t))},Fr=E.greenBright("+"),Rr=E.blueBright("\xB1"),wr=E.redBright("-"),Tt=E.yellowBright("\u2192"),Y=a((e,{changes:t,tense:n,limit:r=1/0,...o})=>{yt.logLevel<=te.TRACE&&(r=1/0);let s=Array.from(t.entries()).filter(([S])=>!S.startsWith(".gadget/"));if(s.length===0)return"";let i=E.yellowBright(n==="past"?"renamed":"rename"),l=E.greenBright(n==="past"?"created":"create"),u=E.blueBright(n==="past"?"updated":"update"),c=E.redBright(n==="past"?"deleted":"delete"),d=s.sort((S,m)=>S[0].localeCompare(m[0])).slice(0,r).map(([S,m])=>{switch(!0){case(m.type==="create"&&st(m.oldPath)):return[Tt,E.yellowBright(m.oldPath),i,Tt,E.yellowBright(S)];case m.type==="create":return[Fr,E.greenBright(S),l];case m.type==="update":return[Rr,E.blueBright(S),u];case m.type==="delete":return[wr,E.redBright(S),c];default:return it(m)}});s.length>r&&d.push([E.gray(B.ellipsis),g`{gray ${s.length-r} more}`,""]);let y;if(s.length>=5){let S=[],m=s.filter(([,b])=>b.type==="create").length;if(m>0){let b=n==="past"?`${m} created`:(0,q.default)("create",m,!0);S.push(g`{greenBright ${b}}`)}let f=s.filter(([,b])=>b.type==="update").length;if(f>0){let b=n==="past"?`${f} updated`:(0,q.default)("update",f,!0);S.push(g`{blueBright ${b}}`)}let h=s.filter(([,b])=>b.type==="delete").length;if(h>0){let b=n==="past"?`${h} deleted`:(0,q.default)("delete",h,!0);S.push(g`{redBright ${b}}`)}y=V`
|
|
2
|
+
${(0,q.default)("change",s.length,!0)} in total. ${S.join(", ")}.
|
|
3
|
+
`}return ft({rows:d,footer:y,ensureEmptyLineAbove:!0,ensureEmptyLineAboveBody:!1,ensureEmptyLineAboveFooter:!0,indent:0,...o})},"sprintChanges"),ae=a((e,t)=>{let n=Y(e,t);n&&O(n)},"printChanges");p();var vt=g(`
|
|
4
|
+
subscription EnvironmentLogs($query: String!, $start: DateTime, $limit: Int) {
|
|
5
|
+
logsSearchV2(query: $query, start: $start, limit: $limit) {
|
|
6
|
+
status
|
|
7
|
+
data
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
`),Ft=g(`
|
|
11
|
+
subscription RemoteFileSyncEvents($localFilesVersion: String!) {
|
|
12
|
+
remoteFileSyncEvents(localFilesVersion: $localFilesVersion, encoding: base64) {
|
|
13
|
+
remoteFilesVersion
|
|
14
|
+
changed {
|
|
15
|
+
path
|
|
16
|
+
mode
|
|
17
|
+
content
|
|
18
|
+
encoding
|
|
19
|
+
}
|
|
20
|
+
deleted {
|
|
21
|
+
path
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
`),jo=g(`
|
|
26
|
+
query RemoteFilesVersion {
|
|
27
|
+
remoteFilesVersion
|
|
28
|
+
}
|
|
29
|
+
`),Rt=g(`
|
|
30
|
+
mutation PublishFileSyncEvents($input: PublishFileSyncEventsInput!) {
|
|
31
|
+
publishFileSyncEvents(input: $input) {
|
|
32
|
+
remoteFilesVersion
|
|
33
|
+
problems {
|
|
34
|
+
level
|
|
35
|
+
message
|
|
36
|
+
path
|
|
37
|
+
type
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`),wt=g(`
|
|
42
|
+
query FileSyncFiles($paths: [String!]!, $filesVersion: String, $encoding: FileSyncEncoding) {
|
|
43
|
+
fileSyncFiles(paths: $paths, filesVersion: $filesVersion, encoding: $encoding) {
|
|
44
|
+
filesVersion
|
|
45
|
+
files {
|
|
46
|
+
path
|
|
47
|
+
mode
|
|
48
|
+
content
|
|
49
|
+
encoding
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
`),Pt=g(`
|
|
54
|
+
query FileSyncHashes($filesVersion: String) {
|
|
55
|
+
fileSyncHashes(filesVersion: $filesVersion) {
|
|
56
|
+
filesVersion
|
|
57
|
+
hashes
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
`),Ot=g(`
|
|
61
|
+
query FileSyncComparisonHashes($filesVersion: String!) {
|
|
62
|
+
fileSyncComparisonHashes(filesVersion: $filesVersion) {
|
|
63
|
+
filesVersionHashes {
|
|
64
|
+
filesVersion
|
|
65
|
+
hashes
|
|
66
|
+
}
|
|
67
|
+
latestFilesVersionHashes {
|
|
68
|
+
filesVersion
|
|
69
|
+
hashes
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
`),Jo=g(`
|
|
74
|
+
subscription PublishStatus($localFilesVersion: String!, $force: Boolean, $allowCharges: Boolean, $allowDeletedData: Boolean) {
|
|
75
|
+
publishStatus(localFilesVersion: $localFilesVersion, force: $force, allowCharges: $allowCharges, allowDeletedData: $allowDeletedData) {
|
|
76
|
+
publishStarted
|
|
77
|
+
remoteFilesVersion
|
|
78
|
+
progress
|
|
79
|
+
issues {
|
|
80
|
+
severity
|
|
81
|
+
message
|
|
82
|
+
node {
|
|
83
|
+
type
|
|
84
|
+
key
|
|
85
|
+
apiIdentifier
|
|
86
|
+
name
|
|
87
|
+
fieldType
|
|
88
|
+
parentKey
|
|
89
|
+
parentApiIdentifier
|
|
90
|
+
}
|
|
91
|
+
nodeLabels {
|
|
92
|
+
type
|
|
93
|
+
identifier
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
deletedModelsAndFields {
|
|
97
|
+
deletedModels
|
|
98
|
+
deletedModelFields {
|
|
99
|
+
modelIdentifier
|
|
100
|
+
fields
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
status {
|
|
104
|
+
code
|
|
105
|
+
message
|
|
106
|
+
output
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
`),Wo=g(`
|
|
111
|
+
mutation createModel($path: String!, $fields: [CreateModelFieldsInput!]) {
|
|
112
|
+
createModel(path: $path, fields: $fields) {
|
|
113
|
+
remoteFilesVersion
|
|
114
|
+
changed {
|
|
115
|
+
path
|
|
116
|
+
mode
|
|
117
|
+
content
|
|
118
|
+
encoding
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
`),qo=g(`
|
|
123
|
+
mutation createAction($path: String!) {
|
|
124
|
+
createAction(path: $path) {
|
|
125
|
+
remoteFilesVersion
|
|
126
|
+
changed {
|
|
127
|
+
path
|
|
128
|
+
mode
|
|
129
|
+
content
|
|
130
|
+
encoding
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
`),Yo=g(`
|
|
135
|
+
mutation createRoute($method: String!, $path: String!) {
|
|
136
|
+
createRoute(method: $method, path: $path) {
|
|
137
|
+
remoteFilesVersion
|
|
138
|
+
changed {
|
|
139
|
+
path
|
|
140
|
+
mode
|
|
141
|
+
content
|
|
142
|
+
encoding
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
`),zo=g(`
|
|
147
|
+
mutation createModelFields($path: String!, $fields: [CreateModelFieldsInput!]!) {
|
|
148
|
+
createModelFields(path: $path, fields: $fields) {
|
|
149
|
+
remoteFilesVersion
|
|
150
|
+
changed {
|
|
151
|
+
path
|
|
152
|
+
mode
|
|
153
|
+
content
|
|
154
|
+
encoding
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
`);p();var Nt=w(vr(),1);p();var Bt=G(dt,e=>(e??="",["true","1"].includes(e.trim().toLowerCase())));var N=a(()=>!ot.testLike&&Bt(process.env.CI)?new Date().toISOString():E.gray((0,Nt.default)().format("hh:mm:ss A")),"ts");p();p();import Pr from"node:assert";var H=class extends Map{static{a(this,"ChangesWithHash")}created(){return Array.from(this.entries()).filter(([,t])=>t.type==="create").map(([t])=>t)}updated(){return Array.from(this.entries()).filter(([,t])=>t.type==="update").map(([t])=>t)}deleted(){return Array.from(this.entries()).filter(([,t])=>t.type==="delete").map(([t])=>t)}},U=a((e,{from:t,to:n,existing:r,ignore:o})=>{let s=new H,i=Object.keys(n);for(let[l,u]of Object.entries(t)){if(o?.some(d=>l.startsWith(d)))continue;let c=n[l];c?z(l,u,c)||(s.set(l,{type:"update",sourceHash:u,targetHash:c}),e.log.trace("file updated",{path:l,sourceHash:u,targetHash:c})):(!l.endsWith("/")||!i.some(d=>d.startsWith(l)))&&(s.set(l,{type:"delete",sourceHash:u}),e.log.trace("file deleted",{path:l,sourceHash:u}))}for(let l of i)if(!o?.some(u=>l.startsWith(u))&&!t[l]){let u=n[l];Pr(u,"targetHash should exist"),s.set(l,{type:"create",targetHash:u}),e.log.trace("file created",{path:l,targetHash:u})}return r?Or(e,{changes:s,existing:r}):s},"getNecessaryChanges"),Or=a((e,{changes:t,existing:n})=>{let r=new H;for(let[o,s]of t){let i=n[o];if(s.type==="delete"&&!i){e.log.trace("already deleted",{path:o});continue}if(s.type!=="delete"&&i&&z(o,s.targetHash,i)){e.log.trace("already created or updated",{path:o,existingHash:i,targetHash:s.targetHash});continue}r.set(o,s)}return r},"withoutUnnecessaryChanges"),z=a((e,t,n)=>t.sha1===n.sha1,"isEqualHash"),kt=a((e,t,n)=>{for(let[r,o]of Object.entries(t)){let s=n[r];if(!s||!z(r,o,s))return e.log.debug("hashes are not equal",{path:r,aHash:o,bHash:s}),!1}for(let r of Object.keys(n))if(!t[r])return e.log.debug("hashes are not equal",{path:r,aHash:void 0,bHash:n[r]}),!1;return!0},"isEqualHashes");var _e=class extends Map{static{a(this,"Conflicts")}},Lt=a(({localChanges:e,environmentChanges:t})=>{let n=new _e;for(let[r,o]of e){let s=t.get(r);s&&(o.type==="delete"&&s.type==="delete"||"targetHash"in o&&"targetHash"in s&&z(r,o.targetHash,s.targetHash)||n.set(r,{localChange:o,gadgetChange:s}))}for(let r of n.keys())r.startsWith(".gadget/")&&n.delete(r);return n},"getConflicts"),Ce=a(({conflicts:e,changes:t})=>{let n=new H(t);for(let[r]of n)e.has(r)&&n.delete(r);return n},"withoutConflictingChanges"),Dt=a(({conflicts:e})=>{let t=E.greenBright("+ created"),n=E.blueBright("\xB1 updated"),r=E.redBright("- deleted");ht({title:"These files have conflicting changes.",ensureEmptyLineAbove:!0,ensureEmptyLineAboveBody:!0,colAligns:["left","center","center"],headers:["","You","Environment"],rows:Array.from(e.entries()).sort((o,s)=>o[0].localeCompare(s[0])).map(([o,{localChange:s,gadgetChange:i}])=>{switch(!0){case(s.type==="create"&&i.type==="create"):return[o,t,t];case(s.type==="create"&&i.type==="update"):return[o,t,n];case(s.type==="create"&&i.type==="delete"):return[o,t,r];case(s.type==="update"&&i.type==="create"):return[o,n,t];case(s.type==="update"&&i.type==="update"):return[o,n,n];case(s.type==="update"&&i.type==="delete"):return[o,n,r];case(s.type==="delete"&&i.type==="create"):return[o,r,t];case(s.type==="delete"&&i.type==="update"):return[o,r,n];default:throw new Error(`Unexpected conflict: ${s.type} vs ${i.type}`)}})})},"printConflicts");p();var xs=Object.freeze({CANCEL:"cancel",MERGE:"merge",PUSH:"push",PULL:"pull"}),k=Object.freeze({CANCEL:g`Cancel (Ctrl+C)`,LOCAL:g`Keep {underline local} conflicting changes`,ENVIRONMENT:g`Keep {underline environment}'s conflicting changes`}),Ms=a((e,t)=>{if(["local","environment"].includes(e))return k[e.toUpperCase()];if(e==="gadget")return k.ENVIRONMENT;throw new mt(g`
|
|
159
|
+
${t} must be {bold local} or {bold environment}
|
|
160
|
+
|
|
161
|
+
{bold EXAMPLES:}
|
|
162
|
+
${t}=local
|
|
163
|
+
${t}=environment
|
|
164
|
+
`)},"MergeConflictPreferenceArg");p();p();var dr=w(Tn(),1);import{Buffer as Eo}from"node:buffer";import xo from"node:path";import et from"node:child_process";import fe from"node:process";p();function ke(e){let t=typeof e=="string"?`
|
|
165
|
+
`:10,n=typeof e=="string"?"\r":13;return e[e.length-1]===t&&(e=e.slice(0,-1)),e[e.length-1]===n&&(e=e.slice(0,-1)),e}a(ke,"stripFinalNewline");p();import ie from"node:process";import K from"node:path";import{fileURLToPath as vn}from"node:url";p();function se(e={}){let{env:t=process.env,platform:n=process.platform}=e;return n!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"}a(se,"pathKey");var sa=a(({cwd:e=ie.cwd(),path:t=ie.env[se()],preferLocal:n=!0,execPath:r=ie.execPath,addExecPath:o=!0}={})=>{let s=e instanceof URL?vn(e):e,i=K.resolve(s),l=[];return n&&ia(l,i),o&&la(l,r,i),[...l,t].join(K.delimiter)},"npmRunPath"),ia=a((e,t)=>{let n;for(;n!==t;)e.push(K.join(t,"node_modules/.bin")),n=t,t=K.resolve(t,"..")},"applyPreferLocal"),la=a((e,t,n)=>{let r=t instanceof URL?vn(t):t;e.push(K.resolve(n,r,".."))},"applyExecPath"),Fn=a(({env:e=ie.env,...t}={})=>{e={...e};let n=se({env:e});return t.path=e[n],e[n]=sa(t),e},"npmRunPathEnv");p();p();var ua=a((e,t,n,r)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let o=Object.getOwnPropertyDescriptor(e,n),s=Object.getOwnPropertyDescriptor(t,n);!pa(o,s)&&r||Object.defineProperty(e,n,s)},"copyProperty"),pa=a(function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},"canCopyProperty"),ca=a((e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},"changePrototype"),da=a((e,t)=>`/* Wrapped ${e}*/
|
|
166
|
+
${t}`,"wrappedToString"),ya=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),Sa=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),ma=a((e,t,n)=>{let r=n===""?"":`with ${n.trim()}() `,o=da.bind(null,r,t.toString());Object.defineProperty(o,"name",Sa),Object.defineProperty(e,"toString",{...ya,value:o})},"changeToString");function Le(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:r}=e;for(let o of Reflect.ownKeys(t))ua(e,t,o,n);return ca(e,t),ma(e,t,r),e}a(Le,"mimicFunction");var le=new WeakMap,Rn=a((e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,r=0,o=e.displayName||e.name||"<anonymous>",s=a(function(...i){if(le.set(s,++r),r===1)n=e.apply(this,i),e=null;else if(t.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return n},"onetime");return Le(s,e),le.set(s,r),s},"onetime");Rn.callCount=e=>{if(!le.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return le.get(e)};var wn=Rn;p();import _a from"node:process";p();import{constants as ba}from"node:os";p();var Pn=a(()=>{let e=De-On+1;return Array.from({length:e},ga)},"getRealtimeSignals"),ga=a((e,t)=>({name:`SIGRT${t+1}`,number:On+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),"getRealtimeSignal"),On=34,De=64;p();import{constants as fa}from"node:os";p();var Bn=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var Ge=a(()=>{let e=Pn();return[...Bn,...e].map(ha)},"getSignals"),ha=a(({name:e,number:t,description:n,action:r,forced:o=!1,standard:s})=>{let{signals:{[e]:i}}=fa,l=i!==void 0;return{name:e,number:l?i:t,description:n,supported:l,action:r,forced:o,standard:s}},"normalizeSignal");var Ea=a(()=>{let e=Ge();return Object.fromEntries(e.map(xa))},"getSignalsByName"),xa=a(({name:e,number:t,description:n,supported:r,action:o,forced:s,standard:i})=>[e,{name:e,number:t,description:n,supported:r,action:o,forced:s,standard:i}],"getSignalByName"),Nn=Ea(),Ma=a(()=>{let e=Ge(),t=De+1,n=Array.from({length:t},(r,o)=>Ia(o,e));return Object.assign({},...n)},"getSignalsByNumber"),Ia=a((e,t)=>{let n=Aa(e,t);if(n===void 0)return{};let{name:r,description:o,supported:s,action:i,forced:l,standard:u}=n;return{[e]:{name:r,number:e,description:o,supported:s,action:i,forced:l,standard:u}}},"getSignalByNumber"),Aa=a((e,t)=>{let n=t.find(({name:r})=>ba.signals[r]===e);return n!==void 0?n:t.find(r=>r.number===e)},"findSignalByNumber"),Qi=Ma();var Ca=a(({timedOut:e,timeout:t,errorCode:n,signal:r,signalDescription:o,exitCode:s,isCanceled:i})=>e?`timed out after ${t} milliseconds`:i?"was canceled":n!==void 0?`failed with ${n}`:r!==void 0?`was killed with ${r} (${o})`:s!==void 0?`failed with exit code ${s}`:"failed","getErrorPrefix"),X=a(({stdout:e,stderr:t,all:n,error:r,signal:o,exitCode:s,command:i,escapedCommand:l,timedOut:u,isCanceled:c,killed:d,parsed:{options:{timeout:y,cwd:S=_a.cwd()}}})=>{s=s===null?void 0:s,o=o===null?void 0:o;let m=o===void 0?void 0:Nn[o].description,f=r&&r.code,b=`Command ${Ca({timedOut:u,timeout:y,errorCode:f,signal:o,signalDescription:m,exitCode:s,isCanceled:c})}: ${i}`,C=Object.prototype.toString.call(r)==="[object Error]",M=C?`${b}
|
|
167
|
+
${r.message}`:b,T=[M,t,e].filter(Boolean).join(`
|
|
168
|
+
`);return C?(r.originalMessage=r.message,r.message=T):r=new Error(T),r.shortMessage=M,r.command=i,r.escapedCommand=l,r.exitCode=s,r.signal=o,r.signalDescription=m,r.stdout=e,r.stderr=t,r.cwd=S,n!==void 0&&(r.all=n),"bufferedData"in r&&delete r.bufferedData,r.failed=!0,r.timedOut=!!u,r.isCanceled=c,r.killed=d&&!u,r},"makeError");p();var ue=["stdin","stdout","stderr"],Ta=a(e=>ue.some(t=>e[t]!==void 0),"hasAlias"),kn=a(e=>{if(!e)return;let{stdio:t}=e;if(t===void 0)return ue.map(r=>e[r]);if(Ta(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${ue.map(r=>`\`${r}\``).join(", ")}`);if(typeof t=="string")return t;if(!Array.isArray(t))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let n=Math.max(t.length,ue.length);return Array.from({length:n},(r,o)=>t[o])},"normalizeStdio");p();import va from"node:os";var Fa=1e3*5,Ln=a((e,t="SIGTERM",n={})=>{let r=e(t);return Ra(e,t,n,r),r},"spawnedKill"),Ra=a((e,t,n,r)=>{if(!wa(t,n,r))return;let o=Oa(n),s=setTimeout(()=>{e("SIGKILL")},o);s.unref&&s.unref()},"setKillTimeout"),wa=a((e,{forceKillAfterTimeout:t},n)=>Pa(e)&&t!==!1&&n,"shouldForceKill"),Pa=a(e=>e===va.constants.signals.SIGTERM||typeof e=="string"&&e.toUpperCase()==="SIGTERM","isSigterm"),Oa=a(({forceKillAfterTimeout:e=!0})=>{if(e===!0)return Fa;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e},"getForceKillAfterTimeout"),Dn=a((e,t)=>{e.kill()&&(t.isCanceled=!0)},"spawnedCancel"),Ba=a((e,t,n)=>{e.kill(t),n(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))},"timeoutKill"),Gn=a((e,{timeout:t,killSignal:n="SIGTERM"},r)=>{if(t===0||t===void 0)return r;let o,s=new Promise((l,u)=>{o=setTimeout(()=>{Ba(e,n,u)},t)}),i=r.finally(()=>{clearTimeout(o)});return Promise.race([s,i])},"setupTimeout"),Vn=a(({timeout:e})=>{if(e!==void 0&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},"validateTimeout"),Hn=a(async(e,{cleanup:t,detached:n},r)=>{if(!t||n)return r;let o=St(()=>{e.kill()});return r.finally(()=>{o()})},"setExitHandler");p();import{createWriteStream as Na}from"node:fs";import{ChildProcess as ka}from"node:child_process";p();function pe(e){return e!==null&&typeof e=="object"&&typeof e.pipe=="function"}a(pe,"isStream");function Ve(e){return pe(e)&&e.writable!==!1&&typeof e._write=="function"&&typeof e._writableState=="object"}a(Ve,"isWritableStream");var La=a(e=>e instanceof ka&&typeof e.then=="function","isExecaChildProcess"),He=a((e,t,n)=>{if(typeof n=="string")return e[t].pipe(Na(n)),e;if(Ve(n))return e[t].pipe(n),e;if(!La(n))throw new TypeError("The second argument must be a string, a stream or an Execa child process.");if(!Ve(n.stdin))throw new TypeError("The target child process's stdin must be available.");return e[t].pipe(n.stdin),n},"pipeToTarget"),Un=a(e=>{e.stdout!==null&&(e.pipeStdout=He.bind(void 0,e,"stdout")),e.stderr!==null&&(e.pipeStderr=He.bind(void 0,e,"stderr")),e.all!==void 0&&(e.pipeAll=He.bind(void 0,e,"all"))},"addPipeMethods");p();import{createReadStream as no,readFileSync as ro}from"node:fs";import{setTimeout as ao}from"node:timers/promises";p();p();p();var Z=a(async(e,{init:t,convertChunk:n,getSize:r,truncateChunk:o,addChunk:s,getFinalChunk:i,finalize:l},{maxBuffer:u=Number.POSITIVE_INFINITY}={})=>{if(!Ga(e))throw new Error("The first argument must be a Readable, a ReadableStream, or an async iterable.");let c=t();c.length=0;try{for await(let d of e){let y=Va(d),S=n[y](d,c);jn({convertedChunk:S,state:c,getSize:r,truncateChunk:o,addChunk:s,maxBuffer:u})}return Da({state:c,convertChunk:n,getSize:r,truncateChunk:o,addChunk:s,getFinalChunk:i,maxBuffer:u}),l(c)}catch(d){throw d.bufferedData=l(c),d}},"getStreamContents"),Da=a(({state:e,getSize:t,truncateChunk:n,addChunk:r,getFinalChunk:o,maxBuffer:s})=>{let i=o(e);i!==void 0&&jn({convertedChunk:i,state:e,getSize:t,truncateChunk:n,addChunk:r,maxBuffer:s})},"appendFinalChunk"),jn=a(({convertedChunk:e,state:t,getSize:n,truncateChunk:r,addChunk:o,maxBuffer:s})=>{let i=n(e),l=t.length+i;if(l<=s){$n(e,t,o,l);return}let u=r(e,s-t.length);throw u!==void 0&&$n(u,t,o,s),new ce},"appendChunk"),$n=a((e,t,n,r)=>{t.contents=n(e,t,r),t.length=r},"addNewChunk"),Ga=a(e=>typeof e=="object"&&e!==null&&typeof e[Symbol.asyncIterator]=="function","isAsyncIterable"),Va=a(e=>{let t=typeof e;if(t==="string")return"string";if(t!=="object"||e===null)return"others";if(globalThis.Buffer?.isBuffer(e))return"buffer";let n=Qn.call(e);return n==="[object ArrayBuffer]"?"arrayBuffer":n==="[object DataView]"?"dataView":Number.isInteger(e.byteLength)&&Number.isInteger(e.byteOffset)&&Qn.call(e.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},"getChunkType"),{toString:Qn}=Object.prototype,ce=class extends Error{static{a(this,"MaxBufferError")}name="MaxBufferError";constructor(){super("maxBuffer exceeded")}};p();var Ue=a(e=>e,"identity"),$e=a(()=>{},"noop"),Qe=a(({contents:e})=>e,"getContentsProp"),de=a(e=>{throw new Error(`Streams in object mode are not supported: ${String(e)}`)},"throwObjectStream"),ye=a(e=>e.length,"getLengthProp");p();async function je(e,t){return Z(e,Ya,t)}a(je,"getStreamAsArrayBuffer");var Ha=a(()=>({contents:new ArrayBuffer(0)}),"initArrayBuffer"),Ua=a(e=>$a.encode(e),"useTextEncoder"),$a=new TextEncoder,Jn=a(e=>new Uint8Array(e),"useUint8Array"),Wn=a(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),"useUint8ArrayWithOffset"),Qa=a((e,t)=>e.slice(0,t),"truncateArrayBufferChunk"),ja=a((e,{contents:t,length:n},r)=>{let o=zn()?Wa(t,r):Ja(t,r);return new Uint8Array(o).set(e,n),o},"addArrayBufferChunk"),Ja=a((e,t)=>{if(t<=e.byteLength)return e;let n=new ArrayBuffer(Yn(t));return new Uint8Array(n).set(new Uint8Array(e),0),n},"resizeArrayBufferSlow"),Wa=a((e,t)=>{if(t<=e.maxByteLength)return e.resize(t),e;let n=new ArrayBuffer(t,{maxByteLength:Yn(t)});return new Uint8Array(n).set(new Uint8Array(e),0),n},"resizeArrayBuffer"),Yn=a(e=>qn**Math.ceil(Math.log(e)/Math.log(qn)),"getNewContentsLength"),qn=2,qa=a(({contents:e,length:t})=>zn()?e:e.slice(0,t),"finalizeArrayBuffer"),zn=a(()=>"resize"in ArrayBuffer.prototype,"hasArrayBufferResize"),Ya={init:Ha,convertChunk:{string:Ua,buffer:Jn,arrayBuffer:Jn,dataView:Wn,typedArray:Wn,others:de},getSize:ye,truncateChunk:Qa,addChunk:ja,getFinalChunk:$e,finalize:qa};p();async function Se(e,t){if(!("Buffer"in globalThis))throw new Error("getStreamAsBuffer() is only supported in Node.js");try{return Kn(await je(e,t))}catch(n){throw n.bufferedData!==void 0&&(n.bufferedData=Kn(n.bufferedData)),n}}a(Se,"getStreamAsBuffer");var Kn=a(e=>globalThis.Buffer.from(e),"arrayBufferToNodeBuffer");p();async function Je(e,t){return Z(e,eo,t)}a(Je,"getStreamAsString");var za=a(()=>({contents:"",textDecoder:new TextDecoder}),"initString"),me=a((e,{textDecoder:t})=>t.decode(e,{stream:!0}),"useTextDecoder"),Ka=a((e,{contents:t})=>t+e,"addStringChunk"),Xa=a((e,t)=>e.slice(0,t),"truncateStringChunk"),Za=a(({textDecoder:e})=>{let t=e.decode();return t===""?void 0:t},"getFinalStringChunk"),eo={init:za,convertChunk:{string:Ue,buffer:me,arrayBuffer:me,dataView:me,typedArray:me,others:de},getSize:ye,truncateChunk:Xa,addChunk:Ka,getFinalChunk:Za,finalize:Qe};var er=w(Zn(),1);var tr=a(e=>{if(e!==void 0)throw new TypeError("The `input` and `inputFile` options cannot be both set.")},"validateInputOptions"),oo=a(({input:e,inputFile:t})=>typeof t!="string"?e:(tr(e),ro(t)),"getInputSync"),nr=a(e=>{let t=oo(e);if(pe(t))throw new TypeError("The `input` option cannot be a stream in sync mode");return t},"handleInputSync"),so=a(({input:e,inputFile:t})=>typeof t!="string"?e:(tr(e),no(t)),"getInput"),rr=a((e,t)=>{let n=so(t);n!==void 0&&(pe(n)?n.pipe(e.stdin):e.stdin.end(n))},"handleInput"),ar=a((e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let n=(0,er.default)();return e.stdout&&n.add(e.stdout),e.stderr&&n.add(e.stderr),n},"makeAllStream"),We=a(async(e,t)=>{if(!(!e||t===void 0)){await ao(0),e.destroy();try{return await t}catch(n){return n.bufferedData}}},"getBufferedData"),qe=a((e,{encoding:t,buffer:n,maxBuffer:r})=>{if(!(!e||!n))return t==="utf8"||t==="utf-8"?Je(e,{maxBuffer:r}):t===null||t==="buffer"?Se(e,{maxBuffer:r}):io(e,r,t)},"getStreamPromise"),io=a(async(e,t,n)=>(await Se(e,{maxBuffer:t})).toString(n),"applyEncoding"),or=a(async({stdout:e,stderr:t,all:n},{encoding:r,buffer:o,maxBuffer:s},i)=>{let l=qe(e,{encoding:r,buffer:o,maxBuffer:s}),u=qe(t,{encoding:r,buffer:o,maxBuffer:s}),c=qe(n,{encoding:r,buffer:o,maxBuffer:s*2});try{return await Promise.all([i,l,u,c])}catch(d){return Promise.all([{error:d,signal:d.signal,timedOut:d.timedOut},We(e,l),We(t,u),We(n,c)])}},"getSpawnedResult");p();var lo=(async()=>{})().constructor.prototype,uo=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(lo,e)]),Ye=a((e,t)=>{for(let[n,r]of uo){let o=typeof t=="function"?(...s)=>Reflect.apply(r.value,t(),s):r.value.bind(t);Reflect.defineProperty(e,n,{...r,value:o})}},"mergePromise"),sr=a(e=>new Promise((t,n)=>{e.on("exit",(r,o)=>{t({exitCode:r,signal:o})}),e.on("error",r=>{n(r)}),e.stdin&&e.stdin.on("error",r=>{n(r)})}),"getSpawnedPromise");p();import{Buffer as po}from"node:buffer";import{ChildProcess as co}from"node:child_process";var ur=a((e,t=[])=>Array.isArray(t)?[e,...t]:[e],"normalizeArgs"),yo=/^[\w.-]+$/,So=a(e=>typeof e!="string"||yo.test(e)?e:`"${e.replaceAll('"','\\"')}"`,"escapeArg"),ze=a((e,t)=>ur(e,t).join(" "),"joinCommand"),Ke=a((e,t)=>ur(e,t).map(n=>So(n)).join(" "),"getEscapedCommand"),mo=/ +/g;var ir=a(e=>{let t=typeof e;if(t==="string")return e;if(t==="number")return String(e);if(t==="object"&&e!==null&&!(e instanceof co)&&"stdout"in e){let n=typeof e.stdout;if(n==="string")return e.stdout;if(po.isBuffer(e.stdout))return e.stdout.toString();throw new TypeError(`Unexpected "${n}" stdout in template expression`)}throw new TypeError(`Unexpected "${t}" in template expression`)},"parseExpression"),lr=a((e,t,n)=>n||e.length===0||t.length===0?[...e,...t]:[...e.slice(0,-1),`${e.at(-1)}${t[0]}`,...t.slice(1)],"concatTokens"),go=a(({templates:e,expressions:t,tokens:n,index:r,template:o})=>{let s=o??e.raw[r],i=s.split(mo).filter(Boolean),l=lr(n,i,s.startsWith(" "));if(r===t.length)return l;let u=t[r],c=Array.isArray(u)?u.map(d=>ir(d)):[ir(u)];return lr(l,c,s.endsWith(" "))},"parseTemplate"),Xe=a((e,t)=>{let n=[];for(let[r,o]of e.entries())n=go({templates:e,expressions:t,tokens:n,index:r,template:o});return n},"parseTemplates");p();import{debuglog as fo}from"node:util";import ho from"node:process";var pr=fo("execa").enabled,ge=a((e,t)=>String(e).padStart(t,"0"),"padField"),bo=a(()=>{let e=new Date;return`${ge(e.getHours(),2)}:${ge(e.getMinutes(),2)}:${ge(e.getSeconds(),2)}.${ge(e.getMilliseconds(),3)}`},"getTimestamp"),Ze=a((e,{verbose:t})=>{t&&ho.stderr.write(`[${bo()}] ${e}
|
|
169
|
+
`)},"logCommand");var Mo=1e3*1e3*100,Io=a(({env:e,extendEnv:t,preferLocal:n,localDir:r,execPath:o})=>{let s=t?{...fe.env,...e}:e;return n?Fn({env:s,cwd:r,execPath:o}):s},"getEnv"),yr=a((e,t,n={})=>{let r=dr.default._parse(e,t,n);return e=r.command,t=r.args,n=r.options,n={maxBuffer:Mo,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:n.cwd||fe.cwd(),execPath:fe.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:pr,...n},n.env=Io(n),n.stdio=kn(n),fe.platform==="win32"&&xo.basename(e,".exe")==="cmd"&&t.unshift("/q"),{file:e,args:t,options:n,parsed:r}},"handleArguments"),ee=a((e,t,n)=>typeof t!="string"&&!Eo.isBuffer(t)?n===void 0?void 0:"":e.stripFinalNewline?ke(t):t,"handleOutput");function tt(e,t,n){let r=yr(e,t,n),o=ze(e,t),s=Ke(e,t);Ze(s,r.options),Vn(r.options);let i;try{i=et.spawn(r.file,r.args,r.options)}catch(m){let f=new et.ChildProcess,h=Promise.reject(X({error:m,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:r,timedOut:!1,isCanceled:!1,killed:!1}));return Ye(f,h),f}let l=sr(i),u=Gn(i,r.options,l),c=Hn(i,r.options,u),d={isCanceled:!1};i.kill=Ln.bind(null,i.kill.bind(i)),i.cancel=Dn.bind(null,i,d);let S=wn(a(async()=>{let[{error:m,exitCode:f,signal:h,timedOut:b},C,M,T]=await or(i,r.options,c),D=ee(r.options,C),I=ee(r.options,M),R=ee(r.options,T);if(m||f!==0||h!==null){let v=X({error:m,exitCode:f,signal:h,stdout:D,stderr:I,all:R,command:o,escapedCommand:s,parsed:r,timedOut:b,isCanceled:d.isCanceled||(r.options.signal?r.options.signal.aborted:!1),killed:i.killed});if(!r.options.reject)return v;throw v}return{command:o,escapedCommand:s,exitCode:0,stdout:D,stderr:I,all:R,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},"handlePromise"));return rr(i,r.options),i.all=ar(i,r.options),Un(i),Ye(i,S),i}a(tt,"execa");function Ao(e,t,n){let r=yr(e,t,n),o=ze(e,t),s=Ke(e,t);Ze(s,r.options);let i=nr(r.options),l;try{l=et.spawnSync(r.file,r.args,{...r.options,input:i})}catch(d){throw X({error:d,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:r,timedOut:!1,isCanceled:!1,killed:!1})}let u=ee(r.options,l.stdout,l.error),c=ee(r.options,l.stderr,l.error);if(l.error||l.status!==0||l.signal!==null){let d=X({stdout:u,stderr:c,error:l.error,signal:l.signal,exitCode:l.status,command:o,escapedCommand:s,parsed:r,timedOut:l.error&&l.error.code==="ETIMEDOUT",isCanceled:!1,killed:l.signal!==null});if(!r.options.reject)return d;throw d}return{command:o,escapedCommand:s,exitCode:0,stdout:u,stderr:c,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}}a(Ao,"execaSync");var _o=a(({input:e,inputFile:t,stdio:n})=>e===void 0&&t===void 0&&n===void 0?{stdin:"inherit"}:{},"normalizeScriptStdin"),cr=a((e={})=>({preferLocal:!0,..._o(e),...e}),"normalizeScriptOptions");function Sr(e){function t(n,...r){if(!Array.isArray(n))return Sr({...e,...n});let[o,...s]=Xe(n,r);return tt(o,s,cr(e))}return a(t,"$"),t.sync=(n,...r)=>{if(!Array.isArray(n))throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");let[o,...s]=Xe(n,r);return Ao(o,s,cr(e))},t}a(Sr,"create$");var Nu=Sr();var _=w(Tr(),1),Ar=w(Cr(),1);import j from"node:assert";import be from"node:path";import Ro from"node:process";p();async function he(e,t,{concurrency:n=Number.POSITIVE_INFINITY,stopOnError:r=!0,signal:o}={}){return new Promise((s,i)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!="function")throw new TypeError("Mapper function is required");if(!(Number.isSafeInteger(n)&&n>=1||n===Number.POSITIVE_INFINITY))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let l=[],u=[],c=new Map,d=!1,y=!1,S=!1,m=0,f=0,h=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),b=a(()=>{T(o.reason)},"signalListener"),C=a(()=>{o?.removeEventListener("abort",b)},"cleanup"),M=a(I=>{s(I),C()},"resolve"),T=a(I=>{d=!0,y=!0,i(I),C()},"reject");o&&(o.aborted&&T(o.reason),o.addEventListener("abort",b,{once:!0}));let D=a(async()=>{if(y)return;let I=await h.next(),R=f;if(f++,I.done){if(S=!0,m===0&&!y){if(!r&&u.length>0){T(new AggregateError(u));return}if(y=!0,c.size===0){M(l);return}let v=[];for(let[P,_r]of l.entries())c.get(P)!==mr&&v.push(_r);M(v)}return}m++,(async()=>{try{let v=await I.value;if(y)return;let P=await t(v,R);P===mr&&c.set(R,P),l[R]=P,m--,await D()}catch(v){if(r)T(v);else{u.push(v),m--;try{await D()}catch(P){T(P)}}}})()},"next");(async()=>{for(let I=0;I<n;I++){try{await D()}catch(R){T(R);break}if(S||d)break}})()})}a(he,"pMap");var mr=Symbol("skip");p();var Mr=w(Er(),1);p();var To=Object.prototype.toString,vo=a(e=>To.call(e)==="[object Error]","isError"),Fo=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed","terminated"]);function nt(e){return e&&vo(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:Fo.has(e.message):!1}a(nt,"isNetworkError");var rt=class extends Error{static{a(this,"AbortError")}constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}},xr=a((e,t,n)=>{let r=n.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=r,e},"decorateErrorWithCounts");async function at(e,t){return new Promise((n,r)=>{t={...t},t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.retries??=10;let o=Mr.default.operation(t),s=a(()=>{o.stop(),r(t.signal?.reason)},"abortHandler");t.signal&&!t.signal.aborted&&t.signal.addEventListener("abort",s,{once:!0});let i=a(()=>{t.signal?.removeEventListener("abort",s),o.stop()},"cleanUp");o.attempt(async l=>{try{let u=await e(l);i(),n(u)}catch(u){try{if(!(u instanceof Error))throw new TypeError(`Non-error was thrown: "${u}". You should only throw errors.`);if(u instanceof rt)throw u.originalError;if(u instanceof TypeError&&!nt(u))throw u;if(xr(u,l,t),await t.shouldRetry(u)||(o.stop(),r(u)),await t.onFailedAttempt(u),!o.retry(u))throw o.mainError()}catch(c){xr(c,l,t),i(),r(c)}}})})}a(at,"pRetry");var J=w(gt(),1);p();var wo=50*1024*1024,Ir=class{constructor(t){this.syncJson=t}static{a(this,"FileSync")}_syncOperations=new Mt({concurrency:1});async hashes(t,n){let r=n?void 0:W({ensureEmptyLineAbove:!0,content:"Calculating file changes."});try{let[o,{localFilesVersionHashes:s,environmentHashes:i,environmentFilesVersion:l}]=await Promise.all([this.syncJson.directory.hashes(),(async()=>{let h,b,C;if(this.syncJson.filesVersion===0n){let{fileSyncHashes:M}=await this.syncJson.edit.query({query:Pt});C=BigInt(M.filesVersion),b=M.hashes,h={}}else{let{fileSyncComparisonHashes:M}=await this.syncJson.edit.query({query:Ot,variables:{filesVersion:String(this.syncJson.filesVersion)}});h=M.filesVersionHashes.hashes,b=M.latestFilesVersionHashes.hashes,C=BigInt(M.latestFilesVersionHashes.filesVersion)}return{localFilesVersionHashes:h,environmentHashes:b,environmentFilesVersion:C}})()]),u=kt(t,o,i),c=U(t,{from:s,to:o,existing:i,ignore:[".gadget/"]}),d=U(t,{from:s,to:i,existing:o});!u&&c.size===0&&d.size===0&&(d=U(t,{from:o,to:i}),j(d.size>0,"expected environmentChanges to have changes"),j(Array.from(d.keys()).every(h=>h.startsWith(".gadget/")),"expected all environmentChanges to be .gadget/ files")),j(u||c.size>0||d.size>0,"there must be changes if hashes don't match");let y=U(t,{from:i,to:o,ignore:[".gadget/"]}),S=U(t,{from:o,to:i}),m=S.size>0&&Array.from(S.keys()).every(h=>h.startsWith(".gadget/")),f=c.size>0&&d.size>0&&!m;return r&&(m?r.clear():u?r.succeed(`Your files are up to date. ${N()}`):r.succeed(`Calculated file changes. ${N()}`)),{inSync:u,localFilesVersionHashes:s,localHashes:o,localChanges:c,localChangesToPush:y,environmentHashes:i,environmentChanges:d,environmentChangesToPull:S,environmentFilesVersion:l,onlyDotGadgetFilesChanged:m,bothChanged:f}}catch(o){throw r&&r.fail(),o}}async print(t,{hashes:n}={}){let{inSync:r,localChanges:o,environmentChanges:s,onlyDotGadgetFilesChanged:i,bothChanged:l}=n??await this.hashes(t);r||(o.size>0?ae(t,{changes:o,tense:"past",title:g`Your local files {underline have} changed.`}):O({ensureEmptyLineAbove:!0,content:g`Your local files {underline have not} changed.`}),s.size>0&&!i?ae(t,{changes:s,tense:"past",title:g`Your environment's files {underline have}${l?" also":""} changed.`}):O({ensureEmptyLineAbove:!0,content:g`Your environment's files {underline have not} changed.`}))}async idle(){await this._syncOperations.onIdle()}async mergeChangesWithEnvironment(t,{changes:n,printLocalChangesOptions:r,printEnvironmentChangesOptions:o}){await this._syncOperations.add(async()=>{try{await this._sendChangesToEnvironment(t,{changes:n,printLocalChangesOptions:r})}catch(s){ne(t,s),await this.merge(t,{printEnvironmentChangesOptions:o})}})}subscribeToEnvironmentLogs(t,{onError:n}){let r=_t(this.syncJson.environment),o=Object.entries(te).filter(([s,i])=>i>=t["--log-level"]).map(([s])=>s.toLowerCase()).join("|");return this.syncJson.edit.subscribe({subscription:vt,variables:a(()=>({query:`{environment_id="${this.syncJson.environment.id}"} | json | level=~"${o}"${t["--my-logs"]?' | source="user"':""}`,start:new Date}),"variables"),onError:n,onData:a(({logsSearchV2:s})=>{for(let i of s.data.messages){let l=JSON.parse(i[1]),{msg:u,name:c,level:d,...y}=l;r(d,c,u,{...y},new Date(Number(i[0])/1e6))}},"onData")})}subscribeToEnvironmentChanges(t,{beforeChanges:n=xe,printEnvironmentChangesOptions:r,afterChanges:o=xe,onError:s}){return this.syncJson.edit.subscribe({subscription:Ft,variables:a(()=>({localFilesVersion:String(this.syncJson.filesVersion)}),"variables"),onError:s,onData:a(({remoteFileSyncEvents:{changed:i,deleted:l,remoteFilesVersion:u}})=>{this._syncOperations.add(async()=>{if(BigInt(u)<this.syncJson.filesVersion){t.log.warn("skipping received changes because files version is outdated",{filesVersion:u});return}t.log.debug("received files",{remoteFilesVersion:u,changed:i.map(y=>y.path),deleted:l.map(y=>y.path)});let c=a(y=>{let S=this.syncJson.directory.ignores(y.path);return S&&t.log.warn("skipping received change because file is ignored",{path:y.path}),!S},"filterIgnoredFiles");if(i=i.filter(c),l=l.filter(c),i.length===0&&l.length===0){await this.syncJson.save(u);return}await n({changed:i.map(y=>y.path),deleted:l.map(y=>y.path)});let d=await this.writeToLocalFilesystem(t,{filesVersion:u,files:i,delete:l.map(y=>y.path),printEnvironmentChangesOptions:{tense:"past",ensureEmptyLineAbove:!0,title:V`{greenBright ${B.tick}} Pulled ${(0,J.default)("file",i.length+l.length)}. ${N()}`,limit:5,...r}});await o({changes:d})}).catch(s)},"onData")})}async merge(t,{hashes:n,prefer:r,maxAttempts:o=10,printLocalChangesOptions:s,printEnvironmentChangesOptions:i,quietly:l}={}){let u=0;do{if(u===0?n??=await this.hashes(t,l):n=await this.hashes(t,l),n.inSync){this._syncOperations.clear(),t.log.info("filesystem in sync"),await this.syncJson.save(n.environmentFilesVersion);return}u+=1,t.log.info("merging",{attempt:u,...n});try{await this._merge(t,{hashes:n,prefer:r,printLocalChangesOptions:s,printEnvironmentChangesOptions:i})}catch(c){ne(t,c)}}while(u<o);throw new xt(o)}async push(t,{command:n,hashes:r,force:o,printLocalChangesOptions:s}){let{localChangesToPush:i,environmentChanges:l,environmentFilesVersion:u,onlyDotGadgetFilesChanged:c}=r??await this.hashes(t);j(i.size>0,"cannot push if there are no changes"),!o&&l.size>0&&!c&&await Ae({ensureEmptyLineAbove:!0,content:g`Are you sure you want to {underline discard} your environment's changes?`});try{await this._sendChangesToEnvironment(t,{changes:i,expectedFilesVersion:u,printLocalChangesOptions:s})}catch(d){throw ne(t,d),new Me(g`
|
|
170
|
+
Your environment's files have changed since we last checked.
|
|
171
|
+
|
|
172
|
+
Please re-run "ggt ${n}" to see the changes and try again.
|
|
173
|
+
`)}}async pull(t,{hashes:n,force:r,printEnvironmentChangesOptions:o}={}){let{localChanges:s,environmentChangesToPull:i,environmentFilesVersion:l}=n??await this.hashes(t);j(i.size>0,"cannot pull if there are no changes"),s.size>0&&!r&&await Ae(g`
|
|
174
|
+
Are you sure you want to {underline discard} your local changes?
|
|
175
|
+
`),await this._getChangesFromEnvironment(t,{changes:i,filesVersion:l,printEnvironmentChangesOptions:o})}async writeToLocalFilesystem(t,n){let r=BigInt(n.filesVersion);j(r>=this.syncJson.filesVersion,"filesVersion must be greater than or equal to current filesVersion"),t.log.debug("writing to local filesystem",{filesVersion:r,files:n.files.map(i=>i.path),delete:n.delete});let o=new re,s=new Set;for(let i of n.delete.sort().reverse()){let l=be.dirname(i);for(;l!==".";)s.add(this.syncJson.directory.normalize(l,!0)),l=be.dirname(l);let u=this.syncJson.directory.absolute(i),c=this.syncJson.directory.absolute(".gadget/backup",this.syncJson.directory.relative(i));await at(async()=>{try{await _.default.remove(c),await _.default.move(u,c),o.set(i,{type:"delete"})}catch(d){if(Ee(d))return;if(ut(d)||pt(d)){let y=be.dirname(c);for(;y!==this.syncJson.directory.absolute(".gadget/backup");)(await _.default.stat(y)).isDirectory()||(t.log.debug("removing file in the way of backup path",{currentPath:u,backupPath:c,file:y}),await _.default.remove(y)),y=be.dirname(y)}throw d}},{retries:5,minTimeout:(0,Ar.default)("100ms"),onFailedAttempt:a(d=>{t.log.warn("failed to move file to backup",{error:d,currentPath:u,backupPath:c})},"onFailedAttempt")})}for(let i of Array.from(s.values()).sort().reverse())if(!n.files.some(l=>l.path===i))try{await _.default.rmdir(this.syncJson.directory.absolute(i)),o.set(i,{type:"delete"})}catch(l){if(Ee(l)||lt(l))continue;throw l}if(await he(n.files,async i=>{let l=this.syncJson.directory.absolute(i.path);await _.default.pathExists(l)?i.path.endsWith("/")||o.set(i.path,{type:"update"}):o.set(i.path,{type:"create"}),i.path.endsWith("/")?await _.default.ensureDir(l):await _.default.outputFile(l,Buffer.from(i.content,i.encoding)),It&&await _.default.chmod(l,i.mode&511),l===this.syncJson.directory.absolute(".ignore")&&await this.syncJson.directory.loadIgnoreFile()}),await this.syncJson.save(String(r)),n.spinner?.clear(),ae(t,{changes:o,tense:"past",title:g`{greenBright ${B.arrowDown}} Pulled ${(0,J.default)("file",o.size)}. ${N()}`,...n.printEnvironmentChangesOptions}),o.has("yarn.lock")){let i=W({ensureEmptyLineAbove:!0,content:'Running "yarn install --check-files"'});try{await tt("yarn",["install","--check-files"],{cwd:this.syncJson.directory.path}),i.succeed(`Ran "yarn install --check-files" ${N()}`)}catch(l){i.fail(),t.log.error("yarn install failed",{error:l});let u=ct(l).message;u&&O({ensureEmptyLineAbove:!0,indent:2,content:u})}}return o}async _merge(t,{hashes:{localChanges:n,environmentChanges:r,environmentFilesVersion:o},prefer:s,printLocalChangesOptions:i,printEnvironmentChangesOptions:l}){let u=Lt({localChanges:n,environmentChanges:r});if(u.size>0)switch(t.log.debug("conflicts detected",{conflicts:u}),s||(Dt({conflicts:u}),s=await Ct({choices:Object.values(k),content:E.bold("How should we resolve these conflicts?")})),s){case k.CANCEL:{Ro.exit(0);break}case k.LOCAL:{r=Ce({conflicts:u,changes:r});break}case k.ENVIRONMENT:{n=Ce({conflicts:u,changes:n});break}}r.size>0&&await this._getChangesFromEnvironment(t,{changes:r,filesVersion:o,printEnvironmentChangesOptions:l}),n.size>0&&await this._sendChangesToEnvironment(t,{changes:n,expectedFilesVersion:o,printLocalChangesOptions:i})}async _getChangesFromEnvironment(t,{filesVersion:n,changes:r,printEnvironmentChangesOptions:o}){t.log.debug("getting changes from gadget",{filesVersion:n,changes:r});let s=r.created(),i=r.updated(),l=W({ensureEmptyLineAbove:!0,content:Y(t,{changes:r,tense:"present",title:g`Pulling ${(0,J.default)("file",r.size)}.`,...o})});try{let u=[];if(s.length>0||i.length>0){let{fileSyncFiles:c}=await this.syncJson.edit.query({query:wt,variables:{paths:[...s,...i],filesVersion:String(n),encoding:"base64"}});u=c.files}await this.writeToLocalFilesystem(t,{filesVersion:n,files:u,delete:r.deleted(),spinner:l,printEnvironmentChangesOptions:o})}catch(u){throw l.fail(),u}}async _sendChangesToEnvironment(t,{changes:n,expectedFilesVersion:r=this.syncJson.filesVersion,printLocalChangesOptions:o}){t.log.debug("sending changes to gadget",{expectedFilesVersion:r,changes:n});let s=[],i=[];if(await he(n,async([c,d])=>{if(d.type==="delete"){i.push({path:c});return}let y=this.syncJson.directory.absolute(c),S;try{S=await _.default.stat(y)}catch(h){At(h),t.log.debug("skipping change because file doesn't exist",{path:c});return}let m="";S.isFile()&&(m=await _.default.readFile(y,"base64"));let f;d.type==="create"&&d.oldPath&&(f=d.oldPath),s.push({content:m,oldPath:f,path:c,mode:S.mode,encoding:"base64"})}),s.length===0&&i.length===0){t.log.debug("skipping send because there are no changes");return}if(s.map(c=>c.content.length).reduce((c,d)=>c+d,0)>wo)throw new Me(g`
|
|
176
|
+
{underline Your file changes are too large to push.}
|
|
177
|
+
|
|
178
|
+
Run "ggt status" to see your changes and consider
|
|
179
|
+
ignoring some files or pushing in smaller batches.
|
|
180
|
+
`);let u=W({ensureEmptyLineAbove:!0,content:Y(t,{changes:n,tense:"present",title:V`Pushing ${(0,J.default)("file",s.length+i.length)}. ${B.arrowRight}`,...o})});try{let{publishFileSyncEvents:{remoteFilesVersion:c,problems:d}}=await this.syncJson.edit.mutate({mutation:Rt,variables:{input:{expectedRemoteFilesVersion:String(r),changed:s,deleted:i}},http:{retry:{methods:["POST"],calculateDelay:a(({error:y,computedValue:S})=>Ie(y.response?.body)?0:S,"calculateDelay")}}});if(BigInt(c)>r+1n)throw new Error("Files version mismatch");await this.syncJson.save(c),u.succeed(Y(t,{changes:n,tense:"past",title:V`Pushed ${(0,J.default)("file",s.length+i.length)}. ${B.arrowRight} ${N()}`,...o})),d.length>0&&O({ensureEmptyLineAbove:!0,content:g`
|
|
181
|
+
{red Gadget has detected the following fatal errors with your files:}
|
|
182
|
+
|
|
183
|
+
${bt({problems:Et(d),showFileTypes:!1,indent:12})}
|
|
184
|
+
|
|
185
|
+
{red Your app will not be operational until all fatal errors are fixed.}
|
|
186
|
+
`})}catch(c){throw Ie(c)?u.clear():u.fail(),c}}};export{re as a,Rr as b,wr as c,rn as d,Jo as e,Wo as f,qo as g,Yo as h,zo as i,N as j,Lt as k,Dt as l,xs as m,Ms as n,Ir as o};
|
|
187
|
+
//# sourceMappingURL=chunk-ZZIIWV6T.js.map
|