azot 5.0.0-alpha.13 → 5.0.0-alpha.14

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/dist/main.cjs CHANGED
@@ -1,39 +1 @@
1
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
2
-
3
- //#region src/main.ts
4
- const runtimeContext = Azot ?? Streamyx ?? {};
5
- if (runtimeContext) {
6
- if (!runtimeContext.input && runtimeContext.prompt) {
7
- const input = async (message, options) => {
8
- const fields = options?.fields ?? { answer: { label: message } };
9
- return await runtimeContext.prompt({
10
- title: options?.title,
11
- description: options?.description,
12
- fields
13
- });
14
- };
15
- runtimeContext.input = input;
16
- }
17
- if (!runtimeContext.defineExtension) runtimeContext.defineExtension = (extension) => extension;
18
- }
19
- const defineExtension = runtimeContext.defineExtension;
20
- const version = runtimeContext.version;
21
- const sleep = runtimeContext.sleep;
22
- const input = runtimeContext.input;
23
- const prompt = runtimeContext.prompt;
24
- const notify = runtimeContext.notify;
25
- const confirm = runtimeContext.confirm;
26
- const ask = runtimeContext.ask;
27
- const utils = runtimeContext.utils;
28
-
29
- //#endregion
30
- exports.ask = ask;
31
- exports.confirm = confirm;
32
- exports.default = runtimeContext;
33
- exports.defineExtension = defineExtension;
34
- exports.input = input;
35
- exports.notify = notify;
36
- exports.prompt = prompt;
37
- exports.sleep = sleep;
38
- exports.utils = utils;
39
- exports.version = version;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=Azot??Streamyx??{};e&&(!e.input&&e.prompt&&(e.input=async(t,n)=>{let r=n?.fields??{answer:{label:t}};return await e.prompt({title:n?.title,description:n?.description,fields:r})}),e.defineExtension||=e=>e);const t=e.defineExtension,n=e.version,r=e.sleep,i=e.input,a=e.prompt,o=e.notify,s=e.confirm,c=e.ask,l=e.utils;exports.ask=c,exports.confirm=s,exports.default=e,exports.defineExtension=t,exports.input=i,exports.notify=o,exports.prompt=a,exports.sleep=r,exports.utils=l,exports.version=n;
package/dist/main.mjs CHANGED
@@ -1,28 +1 @@
1
- //#region src/main.ts
2
- const runtimeContext = Azot ?? Streamyx ?? {};
3
- if (runtimeContext) {
4
- if (!runtimeContext.input && runtimeContext.prompt) {
5
- const input = async (message, options) => {
6
- const fields = options?.fields ?? { answer: { label: message } };
7
- return await runtimeContext.prompt({
8
- title: options?.title,
9
- description: options?.description,
10
- fields
11
- });
12
- };
13
- runtimeContext.input = input;
14
- }
15
- if (!runtimeContext.defineExtension) runtimeContext.defineExtension = (extension) => extension;
16
- }
17
- const defineExtension = runtimeContext.defineExtension;
18
- const version = runtimeContext.version;
19
- const sleep = runtimeContext.sleep;
20
- const input = runtimeContext.input;
21
- const prompt = runtimeContext.prompt;
22
- const notify = runtimeContext.notify;
23
- const confirm = runtimeContext.confirm;
24
- const ask = runtimeContext.ask;
25
- const utils = runtimeContext.utils;
26
-
27
- //#endregion
28
- export { ask, confirm, runtimeContext as default, defineExtension, input, notify, prompt, sleep, utils, version };
1
+ const e=Azot??Streamyx??{};e&&(!e.input&&e.prompt&&(e.input=async(t,n)=>{let r=n?.fields??{answer:{label:t}};return await e.prompt({title:n?.title,description:n?.description,fields:r})}),e.defineExtension||=e=>e);const t=e.defineExtension,n=e.version,r=e.sleep,i=e.input,a=e.prompt,o=e.notify,s=e.confirm,c=e.ask,l=e.utils;export{c as ask,s as confirm,e as default,t as defineExtension,i as input,o as notify,a as prompt,r as sleep,l as utils,n as version};
@@ -0,0 +1,2 @@
1
+ const e=require(`./chunk-350yNsax.cjs`);let t=require(`node:util`),n=require(`node:fs`);n=e.n(n);let r=require(`node:path`);r=e.n(r);let i=require(`node:os`);i=e.n(i);let a=require(`node:fs/promises`);a=e.n(a);let o=require(`node:process`);o=e.n(o);let s=require(`node:child_process`);s=e.n(s);let c=require(`node:url`),l=require(`node:buffer`),u;function d(){try{return n.default.statSync(`/.dockerenv`),!0}catch{return!1}}function f(){try{return n.default.readFileSync(`/proc/self/cgroup`,`utf8`).includes(`docker`)}catch{return!1}}function ee(){return u===void 0&&(u=d()||f()),u}let p;const m=()=>{try{return n.default.statSync(`/run/.containerenv`),!0}catch{return!1}};function h(){return p===void 0&&(p=m()||ee()),p}const g=()=>{if(o.default.platform!==`linux`)return!1;if(i.default.release().toLowerCase().includes(`microsoft`))return!h();try{return n.default.readFileSync(`/proc/version`,`utf8`).toLowerCase().includes(`microsoft`)?!h():!1}catch{return!1}};var _=o.default.env.__IS_WSL_TEST__?g:g();const v=(0,t.promisify)(s.default.execFile),y=()=>`${o.default.env.SYSTEMROOT||o.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,b=async(e,t={})=>{let{powerShellPath:n,...r}=t,i=b.encodeCommand(e);return v(n??y(),[...b.argumentsPrefix,i],{encoding:`utf8`,...r})};b.argumentsPrefix=[`-NoProfile`,`-NonInteractive`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`],b.encodeCommand=e=>l.Buffer.from(e,`utf16le`).toString(`base64`),b.escapeArgument=e=>`'${String(e).replaceAll(`'`,`''`)}'`;function x(e){for(let t of e.split(`
2
+ `)){if(/^\s*#/.test(t))continue;let e=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(t);if(e)return e.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,``)}}const S=(0,t.promisify)(s.default.execFile),te=(()=>{let e=`/mnt/`,t;return async function(){if(t)return t;let n=`/etc/wsl.conf`,r=!1;try{await a.default.access(n,a.constants.F_OK),r=!0}catch{}if(!r)return e;let i=x(await a.default.readFile(n,{encoding:`utf8`}));return i===void 0?e:(t=i,t=t.endsWith(`/`)?t:`${t}/`,t)}})(),C=_?async()=>`${await te()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:y;let w;const T=async()=>(w??=(async()=>{try{let e=await C();return await a.default.access(e,a.constants.X_OK),!0}catch{return!1}})(),w),E=async()=>{let e=await C(),{stdout:t}=await b(String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{powerShellPath:e});return t.trim()},D=async e=>{if(/^[a-z]+:\/\//i.test(e))return e;try{let{stdout:t}=await S(`wslpath`,[`-aw`,e],{encoding:`utf8`});return t.trim()}catch{return e}};function O(e,t,n){let r=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0});return Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){let e=n();return r(e),e},set(e){r(e)}}),e}const k=(0,t.promisify)(s.execFile);async function A(){if(o.default.platform!==`darwin`)throw Error(`macOS only`);let{stdout:e}=await k(`defaults`,[`read`,`com.apple.LaunchServices/com.apple.launchservices.secure`,`LSHandlers`]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(e)?.groups.id??`com.apple.Safari`}const j=(0,t.promisify)(s.execFile);async function M(e,{humanReadableOutput:t=!0}={}){if(o.default.platform!==`darwin`)throw Error(`macOS only`);let{stdout:n}=await j(`osascript`,[`-e`,e,t?[]:[`-ss`]]);return n.trim()}async function N(e){return M(`tell application "Finder" to set app_path to application file id "${e}" as string\ntell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}const P=(0,t.promisify)(s.execFile),F={MSEdgeHTM:{name:`Edge`,id:`com.microsoft.edge`},MSEdgeBHTML:{name:`Edge Beta`,id:`com.microsoft.edge.beta`},MSEdgeDHTML:{name:`Edge Dev`,id:`com.microsoft.edge.dev`},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:`Edge`,id:`com.microsoft.edge.old`},ChromeHTML:{name:`Chrome`,id:`com.google.chrome`},ChromeBHTML:{name:`Chrome Beta`,id:`com.google.chrome.beta`},ChromeDHTML:{name:`Chrome Dev`,id:`com.google.chrome.dev`},ChromiumHTM:{name:`Chromium`,id:`org.chromium.Chromium`},BraveHTML:{name:`Brave`,id:`com.brave.Browser`},BraveBHTML:{name:`Brave Beta`,id:`com.brave.Browser.beta`},BraveDHTML:{name:`Brave Dev`,id:`com.brave.Browser.dev`},BraveSSHTM:{name:`Brave Nightly`,id:`com.brave.Browser.nightly`},FirefoxURL:{name:`Firefox`,id:`org.mozilla.firefox`},OperaStable:{name:`Opera`,id:`com.operasoftware.Opera`},VivaldiHTM:{name:`Vivaldi`,id:`com.vivaldi.Vivaldi`},"IE.HTTP":{name:`Internet Explorer`,id:`com.microsoft.ie`}},I=new Map(Object.entries(F));var L=class extends Error{};async function R(e=P){let{stdout:t}=await e(`reg`,[`QUERY`,` HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice`,`/v`,`ProgId`]),n=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(t);if(!n)throw new L(`Cannot find Windows browser in stdout: ${JSON.stringify(t)}`);let{id:r}=n.groups,i=r.lastIndexOf(`.`),a=r.lastIndexOf(`-`),o=i===-1?void 0:r.slice(0,i),s=a===-1?void 0:r.slice(0,a);return F[r]??F[o]??F[s]??{name:r,id:r}}const z=(0,t.promisify)(s.execFile),B=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase());async function V(){if(o.default.platform===`darwin`){let e=await A();return{name:await N(e),id:e}}if(o.default.platform===`linux`){let{stdout:e}=await z(`xdg-mime`,[`query`,`default`,`x-scheme-handler/http`]),t=e.trim();return{name:B(t.replace(/.desktop$/,``).replace(`-`,` `)),id:t}}if(o.default.platform===`win32`)return R();throw Error(`Only macOS, Linux, and Windows are supported`)}const H=!!(o.default.env.SSH_CONNECTION||o.default.env.SSH_CLIENT||o.default.env.SSH_TTY),U=Symbol(`fallbackAttempt`),W=require(`url`).pathToFileURL(__filename).href?r.default.dirname((0,c.fileURLToPath)(require(`url`).pathToFileURL(__filename).href)):``,G=r.default.join(W,`xdg-open`),{platform:K,arch:q}=o.default,J=async(e,t)=>{if(e.length===0)return;let n=[];for(let r of e)try{return await t(r)}catch(e){n.push(e)}throw AggregateError(n,`Failed to open in all supported apps`)},Y=async e=>{e={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e};let t=e[U]===!0;if(delete e[U],Array.isArray(e.app))return J(e.app,t=>Y({...e,app:t,[U]:!0}));let{name:n,arguments:r=[]}=e.app??{};if(r=[...r],Array.isArray(n))return J(n,t=>Y({...e,app:{name:t,arguments:r},[U]:!0}));if(n===`browser`||n===`browserPrivate`){let t={"com.google.chrome":`chrome`,"google-chrome.desktop":`chrome`,"com.brave.browser":`brave`,"org.mozilla.firefox":`firefox`,"firefox.desktop":`firefox`,"com.microsoft.msedge":`edge`,"com.microsoft.edge":`edge`,"com.microsoft.edgemac":`edge`,"microsoft-edge.desktop":`edge`,"com.apple.safari":`safari`},i={chrome:`--incognito`,brave:`--incognito`,firefox:`--private-window`,edge:`--inPrivate`},a;if(_){let e=await E();a=I.get(e)??{}}else a=await V();if(a.id in t){let o=t[a.id.toLowerCase()];if(n===`browserPrivate`){if(o===`safari`)throw Error(`Safari doesn't support opening in private mode via command line`);r.push(i[o])}return Y({...e,app:{name:$[o],arguments:r}})}throw Error(`${a.name} is not supported as a default browser`)}let i,c=[],l={},u=!1;if(_&&!h()&&!H&&!n&&(u=await T()),K===`darwin`)i=`open`,e.wait&&c.push(`--wait-apps`),e.background&&c.push(`--background`),e.newInstance&&c.push(`--new`),n&&c.push(`-a`,n);else if(K===`win32`||u){i=await C(),c.push(...b.argumentsPrefix),_||(l.windowsVerbatimArguments=!0),_&&e.target&&(e.target=await D(e.target));let t=[`$ProgressPreference = 'SilentlyContinue';`,`Start`];e.wait&&t.push(`-Wait`),n?(t.push(b.escapeArgument(n)),e.target&&r.push(e.target)):e.target&&t.push(b.escapeArgument(e.target)),r.length>0&&(r=r.map(e=>b.escapeArgument(e)),t.push(`-ArgumentList`,r.join(`,`))),e.target=b.encodeCommand(t.join(` `)),e.wait||(l.stdio=`ignore`)}else{if(n)i=n;else{let e=!W||W===`/`,t=!1;try{await a.default.access(G,a.constants.X_OK),t=!0}catch{}i=o.default.versions.electron??(K===`android`||e||!t)?`xdg-open`:G}r.length>0&&c.push(...r),e.wait||(l.stdio=`ignore`,l.detached=!0)}K===`darwin`&&r.length>0&&c.push(`--args`,...r),e.target&&c.push(e.target);let d=s.default.spawn(i,c,l);return e.wait?new Promise((t,n)=>{d.once(`error`,n),d.once(`close`,r=>{if(!e.allowNonzeroExitCode&&r!==0){n(Error(`Exited with code ${r}`));return}t(d)})}):t?new Promise((e,t)=>{d.once(`error`,t),d.once(`spawn`,()=>{d.once(`close`,n=>{if(d.off(`error`,t),n!==0){t(Error(`Exited with code ${n}`));return}d.unref(),e(d)})})}):(d.unref(),new Promise((e,t)=>{d.once(`error`,t),d.once(`spawn`,()=>{d.off(`error`,t),e(d)})}))},X=(e,t)=>{if(typeof e!=`string`)throw TypeError("Expected a `target`");return Y({...t,target:e})};function Z(e){if(typeof e==`string`||Array.isArray(e))return e;let{[q]:t}=e;if(!t)throw Error(`${q} is not supported`);return t}function Q({[K]:e},{wsl:t}={}){if(t&&_)return Z(t);if(!e)throw Error(`${K} is not supported`);return Z(e)}const $={browser:`browser`,browserPrivate:`browserPrivate`};O($,`chrome`,()=>Q({darwin:`google chrome`,win32:`chrome`,linux:[`google-chrome`,`google-chrome-stable`,`chromium`,`chromium-browser`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`,x64:[`/mnt/c/Program Files/Google/Chrome/Application/chrome.exe`,`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`]}})),O($,`brave`,()=>Q({darwin:`brave browser`,win32:`brave`,linux:[`brave-browser`,`brave`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`,x64:[`/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe`,`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`]}})),O($,`firefox`,()=>Q({darwin:`firefox`,win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:`firefox`},{wsl:`/mnt/c/Program Files/Mozilla Firefox/firefox.exe`})),O($,`edge`,()=>Q({darwin:`microsoft edge`,win32:`msedge`,linux:[`microsoft-edge`,`microsoft-edge-dev`]},{wsl:`/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe`})),O($,`safari`,()=>Q({darwin:`Safari`})),exports.default=X;
@@ -0,0 +1,2 @@
1
+ import{promisify as e}from"node:util";import t from"node:fs";import n from"node:path";import r from"node:os";import i,{constants as a}from"node:fs/promises";import o from"node:process";import s,{execFile as c}from"node:child_process";import{fileURLToPath as l}from"node:url";import{Buffer as u}from"node:buffer";let d;function f(){try{return t.statSync(`/.dockerenv`),!0}catch{return!1}}function p(){try{return t.readFileSync(`/proc/self/cgroup`,`utf8`).includes(`docker`)}catch{return!1}}function m(){return d===void 0&&(d=f()||p()),d}let h;const g=()=>{try{return t.statSync(`/run/.containerenv`),!0}catch{return!1}};function _(){return h===void 0&&(h=g()||m()),h}const v=()=>{if(o.platform!==`linux`)return!1;if(r.release().toLowerCase().includes(`microsoft`))return!_();try{return t.readFileSync(`/proc/version`,`utf8`).toLowerCase().includes(`microsoft`)?!_():!1}catch{return!1}};var y=o.env.__IS_WSL_TEST__?v:v();const b=e(s.execFile),x=()=>`${o.env.SYSTEMROOT||o.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,S=async(e,t={})=>{let{powerShellPath:n,...r}=t,i=S.encodeCommand(e);return b(n??x(),[...S.argumentsPrefix,i],{encoding:`utf8`,...r})};S.argumentsPrefix=[`-NoProfile`,`-NonInteractive`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`],S.encodeCommand=e=>u.from(e,`utf16le`).toString(`base64`),S.escapeArgument=e=>`'${String(e).replaceAll(`'`,`''`)}'`;function ee(e){for(let t of e.split(`
2
+ `)){if(/^\s*#/.test(t))continue;let e=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(t);if(e)return e.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,``)}}const C=e(s.execFile),w=(()=>{let e=`/mnt/`,t;return async function(){if(t)return t;let n=`/etc/wsl.conf`,r=!1;try{await i.access(n,a.F_OK),r=!0}catch{}if(!r)return e;let o=ee(await i.readFile(n,{encoding:`utf8`}));return o===void 0?e:(t=o,t=t.endsWith(`/`)?t:`${t}/`,t)}})(),T=y?async()=>`${await w()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:x;let E;const D=async()=>(E??=(async()=>{try{let e=await T();return await i.access(e,a.X_OK),!0}catch{return!1}})(),E),O=async()=>{let e=await T(),{stdout:t}=await S(String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{powerShellPath:e});return t.trim()},k=async e=>{if(/^[a-z]+:\/\//i.test(e))return e;try{let{stdout:t}=await C(`wslpath`,[`-aw`,e],{encoding:`utf8`});return t.trim()}catch{return e}};function A(e,t,n){let r=n=>Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0});return Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){let e=n();return r(e),e},set(e){r(e)}}),e}const j=e(c);async function te(){if(o.platform!==`darwin`)throw Error(`macOS only`);let{stdout:e}=await j(`defaults`,[`read`,`com.apple.LaunchServices/com.apple.launchservices.secure`,`LSHandlers`]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(e)?.groups.id??`com.apple.Safari`}const ne=e(c);async function M(e,{humanReadableOutput:t=!0}={}){if(o.platform!==`darwin`)throw Error(`macOS only`);let{stdout:n}=await ne(`osascript`,[`-e`,e,t?[]:[`-ss`]]);return n.trim()}async function N(e){return M(`tell application "Finder" to set app_path to application file id "${e}" as string\ntell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}const P=e(c),F={MSEdgeHTM:{name:`Edge`,id:`com.microsoft.edge`},MSEdgeBHTML:{name:`Edge Beta`,id:`com.microsoft.edge.beta`},MSEdgeDHTML:{name:`Edge Dev`,id:`com.microsoft.edge.dev`},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:`Edge`,id:`com.microsoft.edge.old`},ChromeHTML:{name:`Chrome`,id:`com.google.chrome`},ChromeBHTML:{name:`Chrome Beta`,id:`com.google.chrome.beta`},ChromeDHTML:{name:`Chrome Dev`,id:`com.google.chrome.dev`},ChromiumHTM:{name:`Chromium`,id:`org.chromium.Chromium`},BraveHTML:{name:`Brave`,id:`com.brave.Browser`},BraveBHTML:{name:`Brave Beta`,id:`com.brave.Browser.beta`},BraveDHTML:{name:`Brave Dev`,id:`com.brave.Browser.dev`},BraveSSHTM:{name:`Brave Nightly`,id:`com.brave.Browser.nightly`},FirefoxURL:{name:`Firefox`,id:`org.mozilla.firefox`},OperaStable:{name:`Opera`,id:`com.operasoftware.Opera`},VivaldiHTM:{name:`Vivaldi`,id:`com.vivaldi.Vivaldi`},"IE.HTTP":{name:`Internet Explorer`,id:`com.microsoft.ie`}},I=new Map(Object.entries(F));var L=class extends Error{};async function R(e=P){let{stdout:t}=await e(`reg`,[`QUERY`,` HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice`,`/v`,`ProgId`]),n=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(t);if(!n)throw new L(`Cannot find Windows browser in stdout: ${JSON.stringify(t)}`);let{id:r}=n.groups,i=r.lastIndexOf(`.`),a=r.lastIndexOf(`-`),o=i===-1?void 0:r.slice(0,i),s=a===-1?void 0:r.slice(0,a);return F[r]??F[o]??F[s]??{name:r,id:r}}const z=e(c),B=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase());async function V(){if(o.platform===`darwin`){let e=await te();return{name:await N(e),id:e}}if(o.platform===`linux`){let{stdout:e}=await z(`xdg-mime`,[`query`,`default`,`x-scheme-handler/http`]),t=e.trim();return{name:B(t.replace(/.desktop$/,``).replace(`-`,` `)),id:t}}if(o.platform===`win32`)return R();throw Error(`Only macOS, Linux, and Windows are supported`)}const H=!!(o.env.SSH_CONNECTION||o.env.SSH_CLIENT||o.env.SSH_TTY),U=Symbol(`fallbackAttempt`),W=import.meta.url?n.dirname(l(import.meta.url)):``,G=n.join(W,`xdg-open`),{platform:K,arch:q}=o,J=async(e,t)=>{if(e.length===0)return;let n=[];for(let r of e)try{return await t(r)}catch(e){n.push(e)}throw AggregateError(n,`Failed to open in all supported apps`)},Y=async e=>{e={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e};let t=e[U]===!0;if(delete e[U],Array.isArray(e.app))return J(e.app,t=>Y({...e,app:t,[U]:!0}));let{name:n,arguments:r=[]}=e.app??{};if(r=[...r],Array.isArray(n))return J(n,t=>Y({...e,app:{name:t,arguments:r},[U]:!0}));if(n===`browser`||n===`browserPrivate`){let t={"com.google.chrome":`chrome`,"google-chrome.desktop":`chrome`,"com.brave.browser":`brave`,"org.mozilla.firefox":`firefox`,"firefox.desktop":`firefox`,"com.microsoft.msedge":`edge`,"com.microsoft.edge":`edge`,"com.microsoft.edgemac":`edge`,"microsoft-edge.desktop":`edge`,"com.apple.safari":`safari`},i={chrome:`--incognito`,brave:`--incognito`,firefox:`--private-window`,edge:`--inPrivate`},a;if(y){let e=await O();a=I.get(e)??{}}else a=await V();if(a.id in t){let o=t[a.id.toLowerCase()];if(n===`browserPrivate`){if(o===`safari`)throw Error(`Safari doesn't support opening in private mode via command line`);r.push(i[o])}return Y({...e,app:{name:$[o],arguments:r}})}throw Error(`${a.name} is not supported as a default browser`)}let c,l=[],u={},d=!1;if(y&&!_()&&!H&&!n&&(d=await D()),K===`darwin`)c=`open`,e.wait&&l.push(`--wait-apps`),e.background&&l.push(`--background`),e.newInstance&&l.push(`--new`),n&&l.push(`-a`,n);else if(K===`win32`||d){c=await T(),l.push(...S.argumentsPrefix),y||(u.windowsVerbatimArguments=!0),y&&e.target&&(e.target=await k(e.target));let t=[`$ProgressPreference = 'SilentlyContinue';`,`Start`];e.wait&&t.push(`-Wait`),n?(t.push(S.escapeArgument(n)),e.target&&r.push(e.target)):e.target&&t.push(S.escapeArgument(e.target)),r.length>0&&(r=r.map(e=>S.escapeArgument(e)),t.push(`-ArgumentList`,r.join(`,`))),e.target=S.encodeCommand(t.join(` `)),e.wait||(u.stdio=`ignore`)}else{if(n)c=n;else{let e=!W||W===`/`,t=!1;try{await i.access(G,a.X_OK),t=!0}catch{}c=o.versions.electron??(K===`android`||e||!t)?`xdg-open`:G}r.length>0&&l.push(...r),e.wait||(u.stdio=`ignore`,u.detached=!0)}K===`darwin`&&r.length>0&&l.push(`--args`,...r),e.target&&l.push(e.target);let f=s.spawn(c,l,u);return e.wait?new Promise((t,n)=>{f.once(`error`,n),f.once(`close`,r=>{if(!e.allowNonzeroExitCode&&r!==0){n(Error(`Exited with code ${r}`));return}t(f)})}):t?new Promise((e,t)=>{f.once(`error`,t),f.once(`spawn`,()=>{f.once(`close`,n=>{if(f.off(`error`,t),n!==0){t(Error(`Exited with code ${n}`));return}f.unref(),e(f)})})}):(f.unref(),new Promise((e,t)=>{f.once(`error`,t),f.once(`spawn`,()=>{f.off(`error`,t),e(f)})}))},X=(e,t)=>{if(typeof e!=`string`)throw TypeError("Expected a `target`");return Y({...t,target:e})};function Z(e){if(typeof e==`string`||Array.isArray(e))return e;let{[q]:t}=e;if(!t)throw Error(`${q} is not supported`);return t}function Q({[K]:e},{wsl:t}={}){if(t&&y)return Z(t);if(!e)throw Error(`${K} is not supported`);return Z(e)}const $={browser:`browser`,browserPrivate:`browserPrivate`};A($,`chrome`,()=>Q({darwin:`google chrome`,win32:`chrome`,linux:[`google-chrome`,`google-chrome-stable`,`chromium`,`chromium-browser`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`,x64:[`/mnt/c/Program Files/Google/Chrome/Application/chrome.exe`,`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`]}})),A($,`brave`,()=>Q({darwin:`brave browser`,win32:`brave`,linux:[`brave-browser`,`brave`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`,x64:[`/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe`,`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`]}})),A($,`firefox`,()=>Q({darwin:`firefox`,win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:`firefox`},{wsl:`/mnt/c/Program Files/Mozilla Firefox/firefox.exe`})),A($,`edge`,()=>Q({darwin:`microsoft edge`,win32:`msedge`,linux:[`microsoft-edge`,`microsoft-edge-dev`]},{wsl:`/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe`})),A($,`safari`,()=>Q({darwin:`Safari`}));export{X as default};
package/dist/vitest.cjs CHANGED
@@ -1,15 +1 @@
1
- const require_chunk = require('./chunk-BmvPcxpV.cjs');
2
- const require_context = require('./context-AYnteC1j.cjs');
3
- require('./context.cjs');
4
- let vitest = require("vitest");
5
-
6
- //#region src/vitest.ts
7
- vitest.vi.mock("azot", () => {
8
- const context = require_context.createContext();
9
- Object.entries(context).forEach(([key, value]) => {
10
- vitest.vi.stubGlobal(key, value);
11
- });
12
- return context.Azot;
13
- });
14
-
15
- //#endregion
1
+ require(`./chunk-350yNsax.cjs`);const e=require(`./context-CAiNH_h9.cjs`);require(`./context.cjs`);let t=require(`vitest`);t.vi.mock(`azot`,()=>{let n=e.t();return Object.entries(n).forEach(([e,n])=>{t.vi.stubGlobal(e,n)}),n.Azot});
package/dist/vitest.mjs CHANGED
@@ -1,15 +1 @@
1
- import { t as createContext } from "./context-BJuUj_Q4.mjs";
2
- import "./context.mjs";
3
- import { vi } from "vitest";
4
-
5
- //#region src/vitest.ts
6
- vi.mock("azot", () => {
7
- const context = createContext();
8
- Object.entries(context).forEach(([key, value]) => {
9
- vi.stubGlobal(key, value);
10
- });
11
- return context.Azot;
12
- });
13
-
14
- //#endregion
15
- export { };
1
+ import{t as e}from"./context-BqAwWBiX.mjs";import"./context.mjs";import{vi as t}from"vitest";t.mock(`azot`,()=>{let n=e();return Object.entries(n).forEach(([e,n])=>{t.stubGlobal(e,n)}),n.Azot});export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azot",
3
- "version": "5.0.0-alpha.13",
3
+ "version": "5.0.0-alpha.14",
4
4
  "description": "Build extensions for Azot with Node.js",
5
5
  "keywords": [
6
6
  "api",
@@ -37,8 +37,8 @@
37
37
  }
38
38
  },
39
39
  "scripts": {
40
- "dev": "tsdown --watch",
41
- "build": "tsdown",
40
+ "dev": "tsdown --watch --no-fail-on-warn",
41
+ "build": "tsdown --no-fail-on-warn",
42
42
  "lint": "../../node_modules/.bin/oxlint -c ../../.oxlintrc.json .",
43
43
  "lint:fix": "../../node_modules/.bin/oxlint -c ../../.oxlintrc.json --fix .",
44
44
  "fmt": "../../node_modules/.bin/oxfmt -c ../../.oxfmtrc.json .",
@@ -66,7 +66,7 @@
66
66
  "vitest": ">=4.0.0"
67
67
  },
68
68
  "engines": {
69
- "node": ">=22"
69
+ "node": ">=24.10"
70
70
  },
71
71
  "readmeFilename": "README.md"
72
72
  }
@@ -1,4 +1,4 @@
1
- import type { VideoCodec, DynamicRange, AudioCodec } from 'dasha';
1
+ import type { VideoCodec, DynamicRange, AudioCodec } from "dasha";
2
2
 
3
3
  export interface ExtensionConfig {
4
4
  id: string;
@@ -70,7 +70,7 @@ export type Options = {
70
70
  videoCodecs?: VideoCodec[];
71
71
  videoRange?: DynamicRange;
72
72
  videoBitrate?: number;
73
- videoDimension?: '2D' | '3D';
73
+ videoDimension?: "2D" | "3D";
74
74
 
75
75
  audioCodecs?: AudioCodec[];
76
76
  audioChannels?: number;
@@ -112,7 +112,7 @@ export type Options = {
112
112
 
113
113
  export interface MediaInfo {
114
114
  id: string;
115
- type?: 'movie' | 'tv';
115
+ type?: "movie" | "tv";
116
116
  title?: string;
117
117
  description?: string;
118
118
  thumbnailUrl?: string;
@@ -133,14 +133,14 @@ export interface MediaSource {
133
133
 
134
134
  headers?: Record<string, string>;
135
135
  drm?: string | MediaDrm | MediaDrm[];
136
- type?: 'progressive' | 'direct' | 'hls' | 'dash';
136
+ type?: "progressive" | "direct" | "hls" | "dash";
137
137
 
138
138
  language?: string;
139
139
  size?: number;
140
140
  }
141
141
 
142
142
  export interface MediaDrm {
143
- type?: 'widevine' | 'playready';
143
+ type?: "widevine" | "playready";
144
144
  server: string;
145
145
 
146
146
  headers?: Record<string, string>;
@@ -184,7 +184,7 @@ export type ContentSource = {
184
184
  url: string;
185
185
  headers?: Record<string, string>;
186
186
  http2?: boolean;
187
- type?: 'video' | 'audio' | 'subtitle' | 'any';
187
+ type?: "video" | "audio" | "subtitle" | "any";
188
188
  audioLanguage?: string;
189
189
  audioType?: string;
190
190
  subtitles?: any[];
@@ -1,8 +1,8 @@
1
- export type AlertStyle = 'default' | 'destructive';
1
+ export type AlertStyle = "default" | "destructive";
2
2
 
3
3
  export type ActionOptions = {
4
4
  title: string;
5
- style?: 'default' | 'destructive' | 'cancel';
5
+ style?: "default" | "destructive" | "cancel";
6
6
  onAction: () => void | Promise<void>;
7
7
  };
8
8
 
@@ -26,7 +26,7 @@ export async function confirm(
26
26
  },
27
27
  ): Promise<boolean>;
28
28
 
29
- export type AskFieldType = 'text' | 'password' | 'number' | 'checkbox';
29
+ export type AskFieldType = "text" | "password" | "number" | "checkbox";
30
30
 
31
31
  export type AskField = {
32
32
  type: AskFieldType;
@@ -40,9 +40,9 @@ export type AskField = {
40
40
 
41
41
  export type AskForm = Record<string, AskField>;
42
42
 
43
- export type AskFieldValue<T extends AskField> = T['type'] extends 'checkbox'
43
+ export type AskFieldValue<T extends AskField> = T["type"] extends "checkbox"
44
44
  ? boolean
45
- : T['type'] extends 'number'
45
+ : T["type"] extends "number"
46
46
  ? number
47
47
  : string;
48
48
 
package/types/main.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { Extension } from './extension';
1
+ import { Extension } from "./extension";
2
2
 
3
- export * from './extension';
4
- export * from './feedback';
3
+ export * from "./extension";
4
+ export * from "./feedback";
5
5
 
6
6
  /**
7
7
  * Simple wrapper to support type checking
@@ -61,6 +61,7 @@ declare global {
61
61
  interface CookieStore {
62
62
  get(cookie: string | { name: string; url: string }): Promise<Cookie | null>;
63
63
  getAll(cookie?: string | { name: string; url: string }): Promise<Cookie[]>;
64
+ set(name: string, value: string): Promise<void>;
64
65
  set(cookie: Cookie): Promise<void>;
65
66
  delete(
66
67
  cookie?:
@@ -85,7 +86,7 @@ declare global {
85
86
  expires?: string;
86
87
  httpOnly?: boolean;
87
88
  secure?: boolean;
88
- sameSite?: 'Strict' | 'Lax' | 'None';
89
+ sameSite?: "Strict" | "Lax" | "None";
89
90
  partitioned?: boolean;
90
91
  }
91
92
 
@@ -1,41 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
12
- key = keys[i];
13
- if (!__hasOwnProp.call(to, key) && key !== except) {
14
- __defProp(to, key, {
15
- get: ((k) => from[k]).bind(null, key),
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
18
- }
19
- }
20
- }
21
- return to;
22
- };
23
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
- value: mod,
25
- enumerable: true
26
- }) : target, mod));
27
-
28
- //#endregion
29
-
30
- Object.defineProperty(exports, '__commonJSMin', {
31
- enumerable: true,
32
- get: function () {
33
- return __commonJSMin;
34
- }
35
- });
36
- Object.defineProperty(exports, '__toESM', {
37
- enumerable: true,
38
- get: function () {
39
- return __toESM;
40
- }
41
- });
@@ -1,8 +0,0 @@
1
- import { createRequire } from "node:module";
2
-
3
- //#region \0rolldown/runtime.js
4
- var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
5
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
6
-
7
- //#endregion
8
- export { __require as n, __commonJSMin as t };