diff --git a/README.md b/README.md index 1e9f0506..56e5d9a4 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ * [`install.sh`](./install.sh) is delivered when you `curl tea.xyz`. * This repository also provides the `tea` GitHub Action. -# GitHub Action 0.18.0 +# GitHub Action 0.18.1 ```yaml - uses: teaxyz/setup@v0 diff --git a/action.js b/action.js index 7c883597..77a424e8 100644 --- a/action.js +++ b/action.js @@ -63,10 +63,12 @@ async function go() { const tea = await useCellar().resolve({project: 'tea.xyz', constraint: new semver.Range('*')}) const teafile = tea.path.join('bin/tea').string - const env_args = ['--env'] + const env_args = [] if (TEA_DIR && tea.pkg.version.gte(new SemVer("0.19"))) { - env_args.push('--keep-going') + env_args.push('--env', '--keep-going') + } else if (TEA_DIR) { + env_args.push('--env') } let args = tea.pkg.version.gte(new SemVer("0.21")) diff --git a/dist/out/index.js b/dist/out/index.js index fe5243bd..04c1d90d 100644 --- a/dist/out/index.js +++ b/dist/out/index.js @@ -34,4 +34,4 @@ https://github.com/teaxyz/pantry/issues/new `}break;case"confused: interpreter":t=(0,g.default)` we’re not sure what to do with this file ¯\\_(ツ)_/¯ - `;break;default:{const e=A;throw new Error(`unhandled id: ${e}`)}}const i={cause:e.cause};super(t);Object.defineProperty(this,"id",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"ctx",{enumerable:true,configurable:true,writable:true,value:void 0});this.cause=i.cause;this.id=A??t;this.ctx=e}}e["default"]=TeaError;function panic(A){throw new Error(A)}e.panic=panic;const wrap=(A,e)=>(...t)=>{try{let e=A(...t);if(e instanceof Promise){e=e.catch(converter)}return e}catch(A){converter(A)}function converter(A){if(A instanceof TeaError){throw A}else{throw new TeaError(e,{...t,cause:A})}}};e.wrap=wrap;Promise.prototype.swallow=function(A){return this.catch((e=>{if(A===undefined){return}if(e instanceof TeaError){e=e.id}else if(e instanceof Error){e=e.message}else if((0,s.isPlainObject)(e)&&(0,s.isString)(e.code)){e=e.code}else if((0,s.isRegExp)(A)&&(0,s.isString)(e)){if(!e.match(A))throw e}else if(e!==A){throw e}return undefined}))}},9612:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};var o=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:true});e.flock=void 0;const s=o(t(9376));const I=n(t(3837));const g=o(t(5895));const a=(0,g.default)().platform=="darwin"?"libSystem.dylib":"libc.so.6";const c=s.default.load(a);const B=2;const Q=8;const C=c.func("int flock(int, int)");const E=I.promisify(C.async);async function flock(A,e){const t=await E(A,e=="ex"?B:Q);if(t===-1){throw new Error("flock failed")}}e.flock=flock},6463:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};var o=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:true});e.validatePackageRequirement=void 0;const s=t(317);const I=n(t(3288));const g=o(t(5895));function validatePackageRequirement(A,e){if((0,g.default)().platform=="darwin"&&(A=="apple.com/xcode/clt"||A=="tea.xyz/gx/make")){return}if((0,g.default)().platform=="linux"&&A=="tea.xyz/gx/make"){A="gnu.org/make";e="*"}if(e=="c99"&&A=="tea.xyz/gx/cc"){e="^0.1"}if((0,s.isNumber)(e)){e=`^${e}`}else if(!(0,s.isString)(e)){throw new Error(`invalid constraint for ${A}: ${e}`)}return{project:A,constraint:new I.Range(e)}}e.validatePackageRequirement=validatePackageRequirement},5895:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};var o=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:true});e._internals=void 0;const s=n(t(9046));const I=o(t(7282));function host(){const A=(()=>{const A=g.platform();switch(A){case"darwin":case"linux":case"windows":return A;default:console.warn(`operating incognito as linux (${A})`);return"linux"}})();const e=(()=>{const A=g.arch();switch(A){case"arm64":return"aarch64";case"x64":return"x86-64";default:throw new Error(`unsupported-arch: ${A}`)}})();const{target:t}=s.Deno.build;return{platform:A,arch:e,target:t,build_ids:[A,e]}}e["default"]=host;const g={arch:()=>I.default.arch,platform:()=>s.Deno.build.os};e._internals=g},1578:(A,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.async_flatmap=e.flatmap=e.validate=void 0;const i=t(317);function validate_str(A){if(typeof A=="boolean")return A?"true":"false";if(typeof A=="number")return A.toString();if(typeof A!="string")throw new Error(`not-string: ${A}`);return A}function validate_plain_obj(A){if(!(0,i.isPlainObject)(A))throw new Error(`not-plain-obj: ${JSON.stringify(A)}`);return A}function validate_arr(A){if(!(0,i.isArray)(A))throw new Error(`not-array: ${JSON.stringify(A)}`);return A}const r={str:validate_str,obj:validate_plain_obj,arr:validate_arr};e.validate=r;Set.prototype.insert=function(A){if(this.has(A)){return{inserted:false}}else{this.add(A);return{inserted:true}}};Array.prototype.compact=function(A,e){const t=[];for(const i of this){try{const e=A?A(i):i;if(e)t.push(e)}catch(A){if(e===undefined||e.rescue===false)throw A}}return t};function flatmap(A,e,t){try{if(A)return e(A)??undefined}catch(A){if(!t?.rescue)throw A}}e.flatmap=flatmap;async function async_flatmap(A,e,t){try{const t=await A;if(t)return await e(t)??undefined}catch(A){if(!t?.rescue)throw A}}e.async_flatmap=async_flatmap;String.prototype.chuzzle=function(){return this.trim()||undefined};Number.prototype.chuzzle=function(){return Number.isNaN(this)?undefined:this}},7496:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};Object.defineProperty(e,"__esModule",{value:true});e.str=e.compare=e.parse=void 0;const o=n(t(3288));function parse(A){const e=A.match(/^(.+?)([\^=~<>@].+)?$/);if(!e)throw new Error(`invalid pkgspec: ${A}`);if(!e[2])e[2]="*";const t=e[1];if(e[2]=="@latest"){return{project:t,constraint:new o.Range("*")}}else{if(e[2].startsWith("@")){const A=e[2].slice(1);const t=A.split(".");const i=t.length;switch(i){case 1:e[2]=`^${A}`;break;case 2:e[2]=`~${A}`;break;default:{const i=parseInt(t.pop())+1;e[2]=`>=${A} <${t.join(".")}.${i}`}}}const A=new o.Range(e[2]);return{project:t,constraint:A}}}e.parse=parse;function compare(A,e){return A.project===e.project?A.version.compare(e.version):A.project.localeCompare(e.project)}e.compare=compare;function str(A){if(!("constraint"in A)){return`${A.project}=${A.version}`}else if(A.constraint.set==="*"){return A.project}else{return`${A.project}${A.constraint}`}}e.str=str},3288:(A,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.regex=e.intersect=e.compare=e.Range=e.parse=void 0;const i=t(317);class SemVer{constructor(A){Object.defineProperty(this,"components",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"major",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"minor",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"patch",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"prerelease",{enumerable:true,configurable:true,writable:true,value:[]});Object.defineProperty(this,"build",{enumerable:true,configurable:true,writable:true,value:[]});Object.defineProperty(this,"raw",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"pretty",{enumerable:true,configurable:true,writable:true,value:void 0});if(typeof A=="string"){const e=A.startsWith("v");const t=e?A.slice(1):A;const i=t.split(".");let r=false;this.components=i.flatMap(((e,t)=>{const n=e.match(/^(\d+)([a-z])$/);if(n){if(t!=i.length-1)throw new Error(`invalid version: ${A}`);const e=parseInt(n[1]);if(isNaN(e))throw new Error(`invalid version: ${A}`);r=true;return[e,char_to_num(n[2])]}else if(/^\d+$/.test(e)){const t=parseInt(e);if(isNaN(t))throw new Error(`invalid version: ${A}`);return[t]}else{throw new Error(`invalid version: ${A}`)}}));this.raw=t;if(r)this.pretty=t}else if(A instanceof Range||A instanceof SemVer){const e=A instanceof Range?A.single():A;if(!e)throw new Error(`range represents more than a single version: ${A}`);this.components=e.components;this.raw=e.raw;this.pretty=e.pretty}else{this.components=A;this.raw=A.join(".")}this.major=this.components[0];this.minor=this.components[1]??0;this.patch=this.components[2]??0;function char_to_num(A){return A.charCodeAt(0)-"a".charCodeAt(0)+1}}toString(){return this.pretty??(this.components.length<=3?`${this.major}.${this.minor}.${this.patch}`:this.components.join("."))}eq(A){return this.compare(A)==0}neq(A){return this.compare(A)!=0}gt(A){return this.compare(A)>0}gte(A){return this.compare(A)>=0}lt(A){return this.compare(A)<0}lte(A){return this.compare(A)<=0}compare(A){return _compare(this,A)}[Symbol.for("Deno.customInspect")](){return this.toString()}}e["default"]=SemVer;function parse(A){try{return new SemVer(A)}catch{return undefined}}e.parse=parse;class Range{constructor(A){Object.defineProperty(this,"set",{enumerable:true,configurable:true,writable:true,value:void 0});if(A==="*"){this.set="*"}else if(!(0,i.isString)(A)){this.set=A}else{A=A.trim();const err=()=>new Error(`invalid semver range: ${A}`);this.set=A.split(/(?:,|\s*\|\|\s*)/).map((A=>{let e=A.match(/^>=((\d+\.)*\d+)\s*(<((\d+\.)*\d+))?$/);if(e){const A=new SemVer(e[1]);const t=e[3]?new SemVer(e[4]):new SemVer([Infinity,Infinity,Infinity]);return[A,t]}else if(e=A.match(/^([~=<^])(.+)$/)){let A,t;switch(e[1]){case"^":A=new SemVer(e[2]);const i=[];for(let e=0;e{if(!(0,i.isArray)(A))return`=${A.toString()}`;const[e,t]=A;if(e.major>0&&t.major==e.major+1&&t.minor==0&&t.patch==0){const A=chomp(e);return`^${A}`}else if(t.major==e.major&&t.minor==e.minor+1&&t.patch==0){const A=chomp(e);return`~${A}`}else if(t.major==Infinity){const A=chomp(e);return`>=${A}`}else{return`>=${chomp(e)}<${chomp(t)}`}})).join(",")}}static parse(A){A=A.toString();try{return new Range(A)}catch{if(!/^(\d+\.)*\d+$/.test(A))return;const e=A.split(".");if(e.length<3){return new Range(`^${A}`)}else{return new Range(`~${A}`)}}}satisfies(A){if(this.set==="*"){return true}else{return this.set.some((e=>{if((0,i.isArray)(e)){const[t,i]=e;return A.compare(t)>=0&&A.compare(i)<0}else{return A.eq(e)}}))}}max(A){return A.filter((A=>this.satisfies(A))).sort(((A,e)=>A.compare(e))).pop()}single(){if(this.set==="*")return;if(this.set.length>1)return;return(0,i.isArray)(this.set[0])?undefined:this.set[0]}[Symbol.for("Deno.customInspect")](){return this.toString()}}e.Range=Range;function zip(A,e){const t=Math.max(A.length,e.length);const i=[];for(let r=0;r1996&&A.major!=Infinity){return[0,0,0,...A.components]}else{return A.components}}}e.compare=_compare;function intersect(A,e){if(e.set==="*")return A;if(A.set==="*")return e;const t=[];for(const r of A.set){for(const A of e.set){if(!(0,i.isArray)(r)&&!(0,i.isArray)(A)){if(r.eq(A))t.push(r)}else if(!(0,i.isArray)(r)){const e=A;if(r.compare(e[0])>=0&&r.lt(e[1]))t.push(r)}else if(!(0,i.isArray)(A)){const e=r;if(A.compare(e[0])>=0&&A.lt(e[1]))t.push(A)}else{const e=r[0];const i=r[1];const n=A[0];const o=A[1];if(e.compare(o)>=0||n.compare(i)>=0){continue}t.push([e.compare(n)>0?e:n,i.compare(o)<0?i:o])}}}if(t.length<=0)throw new Error(`cannot intersect: ${A} && ${e}`);return new Range(t)}e.intersect=intersect;e.regex=/\d+\.\d+\.\d+/;function chomp(A){return A.toString().replace(/(\.0)+$/g,"")||"0"}},317:(A,e)=>{"use strict";function getType(A){return Object.prototype.toString.call(A).slice(8,-1)}function isUndefined(A){return getType(A)==="Undefined"}function isNull(A){return getType(A)==="Null"}function isPlainObject(A){if(getType(A)!=="Object")return false;const e=Object.getPrototypeOf(A);return e.constructor===Object&&e===Object.prototype}function isObject(A){return isPlainObject(A)}function isEmptyObject(A){return isPlainObject(A)&&Object.keys(A).length===0}function isFullObject(A){return isPlainObject(A)&&Object.keys(A).length>0}function isAnyObject(A){return getType(A)==="Object"}function isObjectLike(A){return isAnyObject(A)}function isFunction(A){return typeof A==="function"}function isArray(A){return getType(A)==="Array"}function isFullArray(A){return isArray(A)&&A.length>0}function isEmptyArray(A){return isArray(A)&&A.length===0}function isString(A){return getType(A)==="String"}function isFullString(A){return isString(A)&&A!==""}function isEmptyString(A){return A===""}function isNumber(A){return getType(A)==="Number"&&!isNaN(A)}function isPositiveNumber(A){return isNumber(A)&&A>0}function isNegativeNumber(A){return isNumber(A)&&A<0}function isBoolean(A){return getType(A)==="Boolean"}function isRegExp(A){return getType(A)==="RegExp"}function isMap(A){return getType(A)==="Map"}function isWeakMap(A){return getType(A)==="WeakMap"}function isSet(A){return getType(A)==="Set"}function isWeakSet(A){return getType(A)==="WeakSet"}function isSymbol(A){return getType(A)==="Symbol"}function isDate(A){return getType(A)==="Date"&&!isNaN(A)}function isBlob(A){return getType(A)==="Blob"}function isFile(A){return getType(A)==="File"}function isPromise(A){return getType(A)==="Promise"}function isError(A){return getType(A)==="Error"}function isNaNValue(A){return getType(A)==="Number"&&isNaN(A)}function isPrimitive(A){return isBoolean(A)||isNull(A)||isUndefined(A)||isNumber(A)||isString(A)||isSymbol(A)}const t=isOneOf(isNull,isUndefined);function isOneOf(A,e,t,i,r){return n=>A(n)||e(n)||!!t&&t(n)||!!i&&i(n)||!!r&&r(n)}function isType(A,e){if(!(e instanceof Function)){throw new TypeError("Type must be a function")}if(!Object.prototype.hasOwnProperty.call(e,"prototype")){throw new TypeError("Type is not a class")}const t=e.name;return getType(A)===t||Boolean(A&&A.constructor===e)}e.getType=getType;e.isAnyObject=isAnyObject;e.isArray=isArray;e.isBlob=isBlob;e.isBoolean=isBoolean;e.isDate=isDate;e.isEmptyArray=isEmptyArray;e.isEmptyObject=isEmptyObject;e.isEmptyString=isEmptyString;e.isError=isError;e.isFile=isFile;e.isFullArray=isFullArray;e.isFullObject=isFullObject;e.isFullString=isFullString;e.isFunction=isFunction;e.isMap=isMap;e.isNaNValue=isNaNValue;e.isNegativeNumber=isNegativeNumber;e.isNull=isNull;e.isNullOrUndefined=t;e.isNumber=isNumber;e.isObject=isObject;e.isObjectLike=isObjectLike;e.isOneOf=isOneOf;e.isPlainObject=isPlainObject;e.isPositiveNumber=isPositiveNumber;e.isPrimitive=isPrimitive;e.isPromise=isPromise;e.isRegExp=isRegExp;e.isSet=isSet;e.isString=isString;e.isSymbol=isSymbol;e.isType=isType;e.isUndefined=isUndefined;e.isWeakMap=isWeakMap;e.isWeakSet=isWeakSet},5324:A=>{"use strict";A.exports=JSON.parse('{"name":"koffi","version":"2.3.20","stable":"2.3.20","description":"Fast and simple C FFI (foreign function interface) for Node.js","keywords":["foreign","function","interface","ffi","binding","c","napi"],"repository":{"type":"git","url":"https://github.com/Koromix/rygel.git"},"homepage":"https://koffi.dev/","author":"Niels Martignène ","main":"src/index.js","types":"src/index.d.ts","scripts":{"install":"node src/cnoke/cnoke.js --prebuild -d src/koffi"},"license":"MIT","cnoke":{"napi":8,"require":"./src/index.js","output":"build/{{version}}/koffi_{{platform}}_{{arch}}"}}')}};var e={};function __nccwpck_require__(t){var i=e[t];if(i!==undefined){return i.exports}var r=e[t]={exports:{}};var n=true;try{A[t].call(r.exports,r,r.exports,__nccwpck_require__);n=false}finally{if(n)delete e[t]}return r.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t={};(()=>{const{prefab:A,hooks:e,Path:t,utils:i,semver:r,SemVer:n}=__nccwpck_require__(3383);const{install:o,link:s,resolve:I,hydrate:g}=A;const{getExecOutput:a,exec:c}=__nccwpck_require__(1514);const{useConfig:B,useSync:Q,useCellar:C}=e;const E=__nccwpck_require__(2186);const l=__nccwpck_require__(1017);const u=__nccwpck_require__(2037);async function go(){const A=E.getInput("prefix")||`${u.homedir()}/.tea`;const e=(()=>{let A=E.getInput("srcroot").trim();if(!A)return;if(!A.startsWith("/")){A=`${process.cwd()}/${A}`}return l.normalize(A)})();let h=E.getInput("version")??"";if(h&&!/^[*^~@=]/.test(h)){h=`@${h}`}const f=[`tea.xyz${h}`];for(let A in process.env){if(A.startsWith("INPUT_+")){const e=process.env[A];if(A=="INPUT_+"){for(const A of e.split(/\s+/)){if(A.trim()){f.push(A)}}}else{A=A.slice(7).toLowerCase();f.push(A+e)}}}if(A=="/opt"&&u.platform=="darwin"){await c("sudo",["chown",`${u.userInfo().username}:staff`,"/opt"])}E.info(`fetching ${f.join(", ")}…`);B({prefix:new t(A),pantries:[],cache:new t(A).join("tea.xyz/var/www"),UserAgent:"tea.setup/0.1.0",options:{compression:"gz"}});await Q();const{pkgs:d}=await g(f.map(i.pkg.parse));const{pending:p}=await I(d);for(const A of p){E.info(`installing ${i.pkg.str(A)}`);const e=await o(A);await s(e)}const y=await C().resolve({project:"tea.xyz",constraint:new r.Range("*")});const w=y.path.join("bin/tea").string;const D=["--env"];if(e&&y.pkg.version.gte(new n("0.19"))){D.push("--keep-going")}let k=y.pkg.version.gte(new n("0.21"))?[]:y.pkg.version.gte(new n("0.19"))?["--dry-run"]:["--dump"];if(E.getBooleanInput("chaste")){k.push("--chaste")}const{stdout:m}=await a(w,[...D,...k,...f.map((A=>`+${A}`))],{env:{...process.env,TEA_DIR:e,TEA_PREFIX:A}});const N=m.split("\n");for(const A of N){const e=A.match(/(export )?([A-Za-z0-9_]+)=['"]?(.*)/);if(!e)continue;const[,,t,i]=e;if(t=="PATH"){for(const A of i.split(":").reverse()){E.addPath(A)}}else{E.exportVariable(t,i);if(t=="VERSION"){E.setOutput("version",i)}}}if(e){E.setOutput("srcroot",e);E.exportVariable("TEA_DIR",e)}if(u.platform()!="darwin"){const A=__nccwpck_require__.ab+"install-pre-reqs.sh";if(process.getuid()==0){await c(__nccwpck_require__.ab+"install-pre-reqs.sh")}else{await c("sudo",[__nccwpck_require__.ab+"install-pre-reqs.sh"])}}const S=E.getInput("target");if(S){await c(w,[S],{env:{...process.env,TEA_DIR:e,TEA_PREFIX:A}})}E.exportVariable("TEA_PREFIX",A);E.setOutput("prefix",A);E.info(`installed ${y.path}`)}go().catch(E.setFailed)})();module.exports=t})(); \ No newline at end of file + `;break;default:{const e=A;throw new Error(`unhandled id: ${e}`)}}const i={cause:e.cause};super(t);Object.defineProperty(this,"id",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"ctx",{enumerable:true,configurable:true,writable:true,value:void 0});this.cause=i.cause;this.id=A??t;this.ctx=e}}e["default"]=TeaError;function panic(A){throw new Error(A)}e.panic=panic;const wrap=(A,e)=>(...t)=>{try{let e=A(...t);if(e instanceof Promise){e=e.catch(converter)}return e}catch(A){converter(A)}function converter(A){if(A instanceof TeaError){throw A}else{throw new TeaError(e,{...t,cause:A})}}};e.wrap=wrap;Promise.prototype.swallow=function(A){return this.catch((e=>{if(A===undefined){return}if(e instanceof TeaError){e=e.id}else if(e instanceof Error){e=e.message}else if((0,s.isPlainObject)(e)&&(0,s.isString)(e.code)){e=e.code}else if((0,s.isRegExp)(A)&&(0,s.isString)(e)){if(!e.match(A))throw e}else if(e!==A){throw e}return undefined}))}},9612:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};var o=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:true});e.flock=void 0;const s=o(t(9376));const I=n(t(3837));const g=o(t(5895));const a=(0,g.default)().platform=="darwin"?"libSystem.dylib":"libc.so.6";const c=s.default.load(a);const B=2;const Q=8;const C=c.func("int flock(int, int)");const E=I.promisify(C.async);async function flock(A,e){const t=await E(A,e=="ex"?B:Q);if(t===-1){throw new Error("flock failed")}}e.flock=flock},6463:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};var o=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:true});e.validatePackageRequirement=void 0;const s=t(317);const I=n(t(3288));const g=o(t(5895));function validatePackageRequirement(A,e){if((0,g.default)().platform=="darwin"&&(A=="apple.com/xcode/clt"||A=="tea.xyz/gx/make")){return}if((0,g.default)().platform=="linux"&&A=="tea.xyz/gx/make"){A="gnu.org/make";e="*"}if(e=="c99"&&A=="tea.xyz/gx/cc"){e="^0.1"}if((0,s.isNumber)(e)){e=`^${e}`}else if(!(0,s.isString)(e)){throw new Error(`invalid constraint for ${A}: ${e}`)}return{project:A,constraint:new I.Range(e)}}e.validatePackageRequirement=validatePackageRequirement},5895:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};var o=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:true});e._internals=void 0;const s=n(t(9046));const I=o(t(7282));function host(){const A=(()=>{const A=g.platform();switch(A){case"darwin":case"linux":case"windows":return A;default:console.warn(`operating incognito as linux (${A})`);return"linux"}})();const e=(()=>{const A=g.arch();switch(A){case"arm64":return"aarch64";case"x64":return"x86-64";default:throw new Error(`unsupported-arch: ${A}`)}})();const{target:t}=s.Deno.build;return{platform:A,arch:e,target:t,build_ids:[A,e]}}e["default"]=host;const g={arch:()=>I.default.arch,platform:()=>s.Deno.build.os};e._internals=g},1578:(A,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.async_flatmap=e.flatmap=e.validate=void 0;const i=t(317);function validate_str(A){if(typeof A=="boolean")return A?"true":"false";if(typeof A=="number")return A.toString();if(typeof A!="string")throw new Error(`not-string: ${A}`);return A}function validate_plain_obj(A){if(!(0,i.isPlainObject)(A))throw new Error(`not-plain-obj: ${JSON.stringify(A)}`);return A}function validate_arr(A){if(!(0,i.isArray)(A))throw new Error(`not-array: ${JSON.stringify(A)}`);return A}const r={str:validate_str,obj:validate_plain_obj,arr:validate_arr};e.validate=r;Set.prototype.insert=function(A){if(this.has(A)){return{inserted:false}}else{this.add(A);return{inserted:true}}};Array.prototype.compact=function(A,e){const t=[];for(const i of this){try{const e=A?A(i):i;if(e)t.push(e)}catch(A){if(e===undefined||e.rescue===false)throw A}}return t};function flatmap(A,e,t){try{if(A)return e(A)??undefined}catch(A){if(!t?.rescue)throw A}}e.flatmap=flatmap;async function async_flatmap(A,e,t){try{const t=await A;if(t)return await e(t)??undefined}catch(A){if(!t?.rescue)throw A}}e.async_flatmap=async_flatmap;String.prototype.chuzzle=function(){return this.trim()||undefined};Number.prototype.chuzzle=function(){return Number.isNaN(this)?undefined:this}},7496:function(A,e,t){"use strict";var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){if(i===undefined)i=t;var r=Object.getOwnPropertyDescriptor(e,t);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(A,i,r)}:function(A,e,t,i){if(i===undefined)i=t;A[i]=e[t]});var r=this&&this.__setModuleDefault||(Object.create?function(A,e){Object.defineProperty(A,"default",{enumerable:true,value:e})}:function(A,e){A["default"]=e});var n=this&&this.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)if(t!=="default"&&Object.prototype.hasOwnProperty.call(A,t))i(e,A,t);r(e,A);return e};Object.defineProperty(e,"__esModule",{value:true});e.str=e.compare=e.parse=void 0;const o=n(t(3288));function parse(A){const e=A.match(/^(.+?)([\^=~<>@].+)?$/);if(!e)throw new Error(`invalid pkgspec: ${A}`);if(!e[2])e[2]="*";const t=e[1];if(e[2]=="@latest"){return{project:t,constraint:new o.Range("*")}}else{if(e[2].startsWith("@")){const A=e[2].slice(1);const t=A.split(".");const i=t.length;switch(i){case 1:e[2]=`^${A}`;break;case 2:e[2]=`~${A}`;break;default:{const i=parseInt(t.pop())+1;e[2]=`>=${A} <${t.join(".")}.${i}`}}}const A=new o.Range(e[2]);return{project:t,constraint:A}}}e.parse=parse;function compare(A,e){return A.project===e.project?A.version.compare(e.version):A.project.localeCompare(e.project)}e.compare=compare;function str(A){if(!("constraint"in A)){return`${A.project}=${A.version}`}else if(A.constraint.set==="*"){return A.project}else{return`${A.project}${A.constraint}`}}e.str=str},3288:(A,e,t)=>{"use strict";Object.defineProperty(e,"__esModule",{value:true});e.regex=e.intersect=e.compare=e.Range=e.parse=void 0;const i=t(317);class SemVer{constructor(A){Object.defineProperty(this,"components",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"major",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"minor",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"patch",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"prerelease",{enumerable:true,configurable:true,writable:true,value:[]});Object.defineProperty(this,"build",{enumerable:true,configurable:true,writable:true,value:[]});Object.defineProperty(this,"raw",{enumerable:true,configurable:true,writable:true,value:void 0});Object.defineProperty(this,"pretty",{enumerable:true,configurable:true,writable:true,value:void 0});if(typeof A=="string"){const e=A.startsWith("v");const t=e?A.slice(1):A;const i=t.split(".");let r=false;this.components=i.flatMap(((e,t)=>{const n=e.match(/^(\d+)([a-z])$/);if(n){if(t!=i.length-1)throw new Error(`invalid version: ${A}`);const e=parseInt(n[1]);if(isNaN(e))throw new Error(`invalid version: ${A}`);r=true;return[e,char_to_num(n[2])]}else if(/^\d+$/.test(e)){const t=parseInt(e);if(isNaN(t))throw new Error(`invalid version: ${A}`);return[t]}else{throw new Error(`invalid version: ${A}`)}}));this.raw=t;if(r)this.pretty=t}else if(A instanceof Range||A instanceof SemVer){const e=A instanceof Range?A.single():A;if(!e)throw new Error(`range represents more than a single version: ${A}`);this.components=e.components;this.raw=e.raw;this.pretty=e.pretty}else{this.components=A;this.raw=A.join(".")}this.major=this.components[0];this.minor=this.components[1]??0;this.patch=this.components[2]??0;function char_to_num(A){return A.charCodeAt(0)-"a".charCodeAt(0)+1}}toString(){return this.pretty??(this.components.length<=3?`${this.major}.${this.minor}.${this.patch}`:this.components.join("."))}eq(A){return this.compare(A)==0}neq(A){return this.compare(A)!=0}gt(A){return this.compare(A)>0}gte(A){return this.compare(A)>=0}lt(A){return this.compare(A)<0}lte(A){return this.compare(A)<=0}compare(A){return _compare(this,A)}[Symbol.for("Deno.customInspect")](){return this.toString()}}e["default"]=SemVer;function parse(A){try{return new SemVer(A)}catch{return undefined}}e.parse=parse;class Range{constructor(A){Object.defineProperty(this,"set",{enumerable:true,configurable:true,writable:true,value:void 0});if(A==="*"){this.set="*"}else if(!(0,i.isString)(A)){this.set=A}else{A=A.trim();const err=()=>new Error(`invalid semver range: ${A}`);this.set=A.split(/(?:,|\s*\|\|\s*)/).map((A=>{let e=A.match(/^>=((\d+\.)*\d+)\s*(<((\d+\.)*\d+))?$/);if(e){const A=new SemVer(e[1]);const t=e[3]?new SemVer(e[4]):new SemVer([Infinity,Infinity,Infinity]);return[A,t]}else if(e=A.match(/^([~=<^])(.+)$/)){let A,t;switch(e[1]){case"^":A=new SemVer(e[2]);const i=[];for(let e=0;e{if(!(0,i.isArray)(A))return`=${A.toString()}`;const[e,t]=A;if(e.major>0&&t.major==e.major+1&&t.minor==0&&t.patch==0){const A=chomp(e);return`^${A}`}else if(t.major==e.major&&t.minor==e.minor+1&&t.patch==0){const A=chomp(e);return`~${A}`}else if(t.major==Infinity){const A=chomp(e);return`>=${A}`}else{return`>=${chomp(e)}<${chomp(t)}`}})).join(",")}}static parse(A){A=A.toString();try{return new Range(A)}catch{if(!/^(\d+\.)*\d+$/.test(A))return;const e=A.split(".");if(e.length<3){return new Range(`^${A}`)}else{return new Range(`~${A}`)}}}satisfies(A){if(this.set==="*"){return true}else{return this.set.some((e=>{if((0,i.isArray)(e)){const[t,i]=e;return A.compare(t)>=0&&A.compare(i)<0}else{return A.eq(e)}}))}}max(A){return A.filter((A=>this.satisfies(A))).sort(((A,e)=>A.compare(e))).pop()}single(){if(this.set==="*")return;if(this.set.length>1)return;return(0,i.isArray)(this.set[0])?undefined:this.set[0]}[Symbol.for("Deno.customInspect")](){return this.toString()}}e.Range=Range;function zip(A,e){const t=Math.max(A.length,e.length);const i=[];for(let r=0;r1996&&A.major!=Infinity){return[0,0,0,...A.components]}else{return A.components}}}e.compare=_compare;function intersect(A,e){if(e.set==="*")return A;if(A.set==="*")return e;const t=[];for(const r of A.set){for(const A of e.set){if(!(0,i.isArray)(r)&&!(0,i.isArray)(A)){if(r.eq(A))t.push(r)}else if(!(0,i.isArray)(r)){const e=A;if(r.compare(e[0])>=0&&r.lt(e[1]))t.push(r)}else if(!(0,i.isArray)(A)){const e=r;if(A.compare(e[0])>=0&&A.lt(e[1]))t.push(A)}else{const e=r[0];const i=r[1];const n=A[0];const o=A[1];if(e.compare(o)>=0||n.compare(i)>=0){continue}t.push([e.compare(n)>0?e:n,i.compare(o)<0?i:o])}}}if(t.length<=0)throw new Error(`cannot intersect: ${A} && ${e}`);return new Range(t)}e.intersect=intersect;e.regex=/\d+\.\d+\.\d+/;function chomp(A){return A.toString().replace(/(\.0)+$/g,"")||"0"}},317:(A,e)=>{"use strict";function getType(A){return Object.prototype.toString.call(A).slice(8,-1)}function isUndefined(A){return getType(A)==="Undefined"}function isNull(A){return getType(A)==="Null"}function isPlainObject(A){if(getType(A)!=="Object")return false;const e=Object.getPrototypeOf(A);return e.constructor===Object&&e===Object.prototype}function isObject(A){return isPlainObject(A)}function isEmptyObject(A){return isPlainObject(A)&&Object.keys(A).length===0}function isFullObject(A){return isPlainObject(A)&&Object.keys(A).length>0}function isAnyObject(A){return getType(A)==="Object"}function isObjectLike(A){return isAnyObject(A)}function isFunction(A){return typeof A==="function"}function isArray(A){return getType(A)==="Array"}function isFullArray(A){return isArray(A)&&A.length>0}function isEmptyArray(A){return isArray(A)&&A.length===0}function isString(A){return getType(A)==="String"}function isFullString(A){return isString(A)&&A!==""}function isEmptyString(A){return A===""}function isNumber(A){return getType(A)==="Number"&&!isNaN(A)}function isPositiveNumber(A){return isNumber(A)&&A>0}function isNegativeNumber(A){return isNumber(A)&&A<0}function isBoolean(A){return getType(A)==="Boolean"}function isRegExp(A){return getType(A)==="RegExp"}function isMap(A){return getType(A)==="Map"}function isWeakMap(A){return getType(A)==="WeakMap"}function isSet(A){return getType(A)==="Set"}function isWeakSet(A){return getType(A)==="WeakSet"}function isSymbol(A){return getType(A)==="Symbol"}function isDate(A){return getType(A)==="Date"&&!isNaN(A)}function isBlob(A){return getType(A)==="Blob"}function isFile(A){return getType(A)==="File"}function isPromise(A){return getType(A)==="Promise"}function isError(A){return getType(A)==="Error"}function isNaNValue(A){return getType(A)==="Number"&&isNaN(A)}function isPrimitive(A){return isBoolean(A)||isNull(A)||isUndefined(A)||isNumber(A)||isString(A)||isSymbol(A)}const t=isOneOf(isNull,isUndefined);function isOneOf(A,e,t,i,r){return n=>A(n)||e(n)||!!t&&t(n)||!!i&&i(n)||!!r&&r(n)}function isType(A,e){if(!(e instanceof Function)){throw new TypeError("Type must be a function")}if(!Object.prototype.hasOwnProperty.call(e,"prototype")){throw new TypeError("Type is not a class")}const t=e.name;return getType(A)===t||Boolean(A&&A.constructor===e)}e.getType=getType;e.isAnyObject=isAnyObject;e.isArray=isArray;e.isBlob=isBlob;e.isBoolean=isBoolean;e.isDate=isDate;e.isEmptyArray=isEmptyArray;e.isEmptyObject=isEmptyObject;e.isEmptyString=isEmptyString;e.isError=isError;e.isFile=isFile;e.isFullArray=isFullArray;e.isFullObject=isFullObject;e.isFullString=isFullString;e.isFunction=isFunction;e.isMap=isMap;e.isNaNValue=isNaNValue;e.isNegativeNumber=isNegativeNumber;e.isNull=isNull;e.isNullOrUndefined=t;e.isNumber=isNumber;e.isObject=isObject;e.isObjectLike=isObjectLike;e.isOneOf=isOneOf;e.isPlainObject=isPlainObject;e.isPositiveNumber=isPositiveNumber;e.isPrimitive=isPrimitive;e.isPromise=isPromise;e.isRegExp=isRegExp;e.isSet=isSet;e.isString=isString;e.isSymbol=isSymbol;e.isType=isType;e.isUndefined=isUndefined;e.isWeakMap=isWeakMap;e.isWeakSet=isWeakSet},5324:A=>{"use strict";A.exports=JSON.parse('{"name":"koffi","version":"2.3.20","stable":"2.3.20","description":"Fast and simple C FFI (foreign function interface) for Node.js","keywords":["foreign","function","interface","ffi","binding","c","napi"],"repository":{"type":"git","url":"https://github.com/Koromix/rygel.git"},"homepage":"https://koffi.dev/","author":"Niels Martignène ","main":"src/index.js","types":"src/index.d.ts","scripts":{"install":"node src/cnoke/cnoke.js --prebuild -d src/koffi"},"license":"MIT","cnoke":{"napi":8,"require":"./src/index.js","output":"build/{{version}}/koffi_{{platform}}_{{arch}}"}}')}};var e={};function __nccwpck_require__(t){var i=e[t];if(i!==undefined){return i.exports}var r=e[t]={exports:{}};var n=true;try{A[t].call(r.exports,r,r.exports,__nccwpck_require__);n=false}finally{if(n)delete e[t]}return r.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t={};(()=>{const{prefab:A,hooks:e,Path:t,utils:i,semver:r,SemVer:n}=__nccwpck_require__(3383);const{install:o,link:s,resolve:I,hydrate:g}=A;const{getExecOutput:a,exec:c}=__nccwpck_require__(1514);const{useConfig:B,useSync:Q,useCellar:C}=e;const E=__nccwpck_require__(2186);const l=__nccwpck_require__(1017);const u=__nccwpck_require__(2037);async function go(){const A=E.getInput("prefix")||`${u.homedir()}/.tea`;const e=(()=>{let A=E.getInput("srcroot").trim();if(!A)return;if(!A.startsWith("/")){A=`${process.cwd()}/${A}`}return l.normalize(A)})();let h=E.getInput("version")??"";if(h&&!/^[*^~@=]/.test(h)){h=`@${h}`}const f=[`tea.xyz${h}`];for(let A in process.env){if(A.startsWith("INPUT_+")){const e=process.env[A];if(A=="INPUT_+"){for(const A of e.split(/\s+/)){if(A.trim()){f.push(A)}}}else{A=A.slice(7).toLowerCase();f.push(A+e)}}}if(A=="/opt"&&u.platform=="darwin"){await c("sudo",["chown",`${u.userInfo().username}:staff`,"/opt"])}E.info(`fetching ${f.join(", ")}…`);B({prefix:new t(A),pantries:[],cache:new t(A).join("tea.xyz/var/www"),UserAgent:"tea.setup/0.1.0",options:{compression:"gz"}});await Q();const{pkgs:d}=await g(f.map(i.pkg.parse));const{pending:p}=await I(d);for(const A of p){E.info(`installing ${i.pkg.str(A)}`);const e=await o(A);await s(e)}const y=await C().resolve({project:"tea.xyz",constraint:new r.Range("*")});const w=y.path.join("bin/tea").string;const D=[];if(e&&y.pkg.version.gte(new n("0.19"))){D.push("--env","--keep-going")}else if(e){D.push("--env")}let k=y.pkg.version.gte(new n("0.21"))?[]:y.pkg.version.gte(new n("0.19"))?["--dry-run"]:["--dump"];if(E.getBooleanInput("chaste")){k.push("--chaste")}const{stdout:m}=await a(w,[...D,...k,...f.map((A=>`+${A}`))],{env:{...process.env,TEA_DIR:e,TEA_PREFIX:A}});const N=m.split("\n");for(const A of N){const e=A.match(/(export )?([A-Za-z0-9_]+)=['"]?(.*)/);if(!e)continue;const[,,t,i]=e;if(t=="PATH"){for(const A of i.split(":").reverse()){E.addPath(A)}}else{E.exportVariable(t,i);if(t=="VERSION"){E.setOutput("version",i)}}}if(e){E.setOutput("srcroot",e);E.exportVariable("TEA_DIR",e)}if(u.platform()!="darwin"){const A=__nccwpck_require__.ab+"install-pre-reqs.sh";if(process.getuid()==0){await c(__nccwpck_require__.ab+"install-pre-reqs.sh")}else{await c("sudo",[__nccwpck_require__.ab+"install-pre-reqs.sh"])}}const S=E.getInput("target");if(S){await c(w,[S],{env:{...process.env,TEA_DIR:e,TEA_PREFIX:A}})}E.exportVariable("TEA_PREFIX",A);E.setOutput("prefix",A);E.info(`installed ${y.path}`)}go().catch(E.setFailed)})();module.exports=t})(); \ No newline at end of file