typescript-virtual-container 1.3.2 → 1.3.3

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.
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import{basename as Ti}from"node:path";import{stdin as Oi,stdout as Lt}from"node:process";import{createInterface as zi}from"node:readline";var Fe={name:"adduser",description:"Add a new user",category:"users",params:["<username> <password>"],run:async({authUser:r,shell:t,args:e})=>{if(r!=="root")return{stderr:"adduser: permission denied",exitCode:1};let[n,i]=e;return!n||!i?{stderr:"adduser: usage: adduser <username> <password>",exitCode:1}:(await t.users.addUser(n,i),{stdout:`adduser: user '${n}' created`,exitCode:0})}};function Ne(r){return Array.isArray(r)?r:[r]}function zt(r,t){if(r===t)return{matched:!0,inlineValue:null};let e=`${t}=`;return r.startsWith(e)?{matched:!0,inlineValue:r.slice(e.length)}:{matched:!1,inlineValue:null}}function ds(r,t={}){let e=new Set(t.flags??[]),n=new Set(t.flagsWithValue??[]),i=[],s=!1;for(let o=0;o<r.length;o+=1){let a=r[o];if(s){i.push(a);continue}if(a==="--"){s=!0;continue}let l=!1;for(let c of e){let{matched:u}=zt(a,c);if(u){l=!0;break}}if(!l){for(let c of n){let u=zt(a,c);if(u.matched){l=!0,u.inlineValue===null&&o+1<r.length&&(o+=1);break}}l||i.push(a)}}return i}function h(r,t){let e=Ne(t);for(let n of r)for(let i of e)if(zt(n,i).matched)return!0;return!1}function rt(r,t){let e=Ne(t);for(let n=0;n<r.length;n+=1){let i=r[n];for(let s of e){let o=zt(i,s);if(!o.matched)continue;if(o.inlineValue!==null)return o.inlineValue;let a=r[n+1];return a!==void 0&&a!=="--"?a:!0}}}function it(r,t,e={}){return ds(r,e)[t]}function et(r,t={}){let e=new Set,n=new Map,i=[],s=new Set(t.flags??[]),o=new Set(t.flagsWithValue??[]),a=!1;for(let l=0;l<r.length;l+=1){let c=r[l];if(a){i.push(c);continue}if(c==="--"){a=!0;continue}if(s.has(c)){e.add(c);continue}if(o.has(c)){let d=r[l+1];d&&!d.startsWith("-")?(n.set(c,d),l+=1):n.set(c,"");continue}let u=Array.from(o).find(d=>c.startsWith(`${d}=`));if(u){n.set(u,c.slice(u.length+1));continue}i.push(c)}return{flags:e,flagsWithValues:n,positionals:i}}var Ie={name:"alias",description:"Define or display aliases",category:"shell",params:["[name[=value] ...]"],run:({args:r,env:t})=>{if(!t)return{exitCode:0};if(r.length===0)return{stdout:Object.entries(t.vars).filter(([i])=>i.startsWith("__alias_")).map(([i,s])=>`alias ${i.slice(8)}='${s}'`).join(`
2
3
  `)||"",exitCode:0};let e=[];for(let n of r){let i=n.indexOf("=");if(i===-1){let s=t.vars[`__alias_${n}`];if(s)e.push(`alias ${n}='${s}'`);else return{stderr:`alias: ${n}: not found`,exitCode:1}}else{let s=n.slice(0,i),o=n.slice(i+1).replace(/^['"]|['"]$/g,"");t.vars[`__alias_${s}`]=o}}return{stdout:e.join(`
3
4
  `)||void 0,exitCode:0}}},Ve={name:"unalias",description:"Remove alias definitions",category:"shell",params:["<name...> | -a"],run:({args:r,env:t})=>{if(!t)return{exitCode:0};if(h(r,["-a"])){for(let e of Object.keys(t.vars))e.startsWith("__alias_")&&delete t.vars[e];return{exitCode:0}}for(let e of r)delete t.vars[`__alias_${e}`];return{exitCode:0}}};import*as lt from"node:path";var ms=["/virtual-env-js/.auth"];function S(r,t){return!t||t.trim()===""?r:t.startsWith("/")?lt.posix.normalize(t):lt.posix.normalize(lt.posix.join(r,t))}function ps(r){let t=r.startsWith("/")?lt.posix.normalize(r):lt.posix.normalize(`/${r}`);return ms.some(e=>t===e||t.startsWith(`${e}/`))}function N(r,t,e){if(r!=="root"&&ps(t))throw new Error(`${e}: permission denied: ${t}`)}function Re(r){let e=(r.split("?")[0]?.split("#")[0]??r).split("/").filter(Boolean).pop();return e&&e.length>0?e:"index.html"}function fs(r,t){let e=Array.from({length:r.length+1},()=>Array(t.length+1).fill(0));for(let n=0;n<=r.length;n+=1)e[n][0]=n;for(let n=0;n<=t.length;n+=1)e[0][n]=n;for(let n=1;n<=r.length;n+=1)for(let i=1;i<=t.length;i+=1){let s=r[n-1]===t[i-1]?0:1;e[n][i]=Math.min(e[n-1][i]+1,e[n][i-1]+1,e[n-1][i-1]+s)}return e[r.length][t.length]}function De(r,t,e){let n=S(t,e);if(r.exists(n))return n;let i=lt.posix.dirname(n),s=lt.posix.basename(n),o=r.list(i),a=o.filter(c=>c.toLowerCase()===s.toLowerCase());if(a.length===1)return lt.posix.join(i,a[0]);let l=o.filter(c=>fs(c.toLowerCase(),s.toLowerCase())<=1);return l.length===1?lt.posix.join(i,l[0]):n}function _e(r,t,e){return t.map(n=>{let i=S(r,n);return e(i).type==="directory"?`${n}/`:n}).join(" ")}function vt(r){return r.packageManager}var Le={name:"apt",aliases:["apt-get"],description:"Package manager",category:"package",params:["<install|remove|update|upgrade|search|show|list> [pkg...]"],run:({args:r,shell:t,authUser:e})=>{let n=vt(t);if(!n)return{stderr:"apt: package manager not initialised",exitCode:1};let i=r[0]?.toLowerCase(),s=r.slice(1),o=h(s,["-q","--quiet","-qq"]),a=h(s,["--purge"]),l=s.filter(u=>!u.startsWith("-"));if(["install","remove","purge","upgrade","update"].includes(i??"")&&e!=="root")return{stderr:`E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)