@gadgetinc/ggt 1.4.2 → 1.5.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 +5 -2
- package/dist/add-DXY6AG6H.js +81 -0
- package/dist/add-DXY6AG6H.js.map +7 -0
- package/dist/chunk-4SKILKRX.js +50 -0
- package/dist/chunk-4SKILKRX.js.map +7 -0
- package/dist/chunk-4Y2HLTHR.js +18 -0
- package/dist/chunk-4Y2HLTHR.js.map +7 -0
- package/dist/{chunk-PRAA2FG3.js → chunk-5VLIBRPJ.js} +2 -2
- package/dist/chunk-7DYQUG5M.js +2 -0
- package/dist/chunk-7DYQUG5M.js.map +7 -0
- package/dist/chunk-CQZ6BU7J.js +8 -0
- package/dist/{chunk-KP35JQJ7.js.map → chunk-CQZ6BU7J.js.map} +1 -1
- package/dist/{chunk-JOWMHVPF.js → chunk-DJD3NXRH.js} +2 -2
- package/dist/{chunk-JOWMHVPF.js.map → chunk-DJD3NXRH.js.map} +1 -1
- package/dist/{chunk-GKAC6HNS.js → chunk-EUGLHSIM.js} +17 -10
- package/dist/chunk-EUGLHSIM.js.map +7 -0
- package/dist/{chunk-P7E7PAMQ.js → chunk-GFQYFEEH.js} +2 -2
- package/dist/{chunk-L4OG4HIV.js → chunk-HAYHNB7Q.js} +2 -2
- package/dist/{chunk-L4OG4HIV.js.map → chunk-HAYHNB7Q.js.map} +1 -1
- package/dist/chunk-HN3YKQ3C.js +6 -0
- package/dist/chunk-HN3YKQ3C.js.map +7 -0
- package/dist/{chunk-OTYPO33S.js → chunk-SQN5DMIE.js} +2 -2
- package/dist/chunk-SX5LO3XQ.js +2 -0
- package/dist/chunk-XE5GH5GR.js +2 -0
- package/dist/{chunk-ZCRXH55K.js.map → chunk-XE5GH5GR.js.map} +1 -1
- package/dist/chunk-XOSBJSTW.js +65 -0
- package/dist/chunk-XOSBJSTW.js.map +7 -0
- package/dist/{chunk-M5HB5SEG.js → chunk-ZZ65SSGY.js} +2 -2
- package/dist/{chunk-M5HB5SEG.js.map → chunk-ZZ65SSGY.js.map} +1 -1
- package/dist/{deploy-T5ZUHHLZ.js → deploy-HH4JGQQQ.js} +2 -2
- package/dist/{deploy-T5ZUHHLZ.js.map → deploy-HH4JGQQQ.js.map} +1 -1
- package/dist/{dev-5CVDVGE3.js → dev-2DTGRUJB.js} +4 -4
- package/dist/{dev-5CVDVGE3.js.map → dev-2DTGRUJB.js.map} +1 -1
- package/dist/esm-PLVGBDRY.js +38 -0
- package/dist/esm-PLVGBDRY.js.map +7 -0
- package/dist/{list-BV7QOWA2.js → list-HJ2MHZYD.js} +2 -2
- package/dist/{list-BV7QOWA2.js.map → list-HJ2MHZYD.js.map} +1 -1
- package/dist/login-NA3DP22R.js +2 -0
- package/dist/logout-XPKPHMRV.js +7 -0
- package/dist/{logout-QLW45MMK.js.map → logout-XPKPHMRV.js.map} +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/{open-TKGHV5HA.js → open-PSHZ2QUY.js} +2 -2
- package/dist/{open-TKGHV5HA.js.map → open-PSHZ2QUY.js.map} +1 -1
- package/dist/{pull-RRR7ISUG.js → pull-TULQDNBR.js} +2 -2
- package/dist/{pull-RRR7ISUG.js.map → pull-TULQDNBR.js.map} +1 -1
- package/dist/push-KB43HKQI.js +2 -0
- package/dist/{status-BKCHGWJO.js → status-UMVNPXXU.js} +2 -2
- package/dist/{status-BKCHGWJO.js.map → status-UMVNPXXU.js.map} +1 -1
- package/dist/{version-LUMBTKD4.js → version-NFFT7WG5.js} +2 -2
- package/dist/{version-LUMBTKD4.js.map → version-NFFT7WG5.js.map} +1 -1
- package/dist/{whoami-ONJCZDTX.js → whoami-Z2TFEATF.js} +2 -2
- package/dist/{whoami-ONJCZDTX.js.map → whoami-Z2TFEATF.js.map} +1 -1
- package/package.json +14 -14
- package/dist/add-Q2YM34TO.js +0 -78
- package/dist/add-Q2YM34TO.js.map +0 -7
- package/dist/chunk-56W5U2JG.js +0 -2
- package/dist/chunk-56W5U2JG.js.map +0 -7
- package/dist/chunk-BWIVLBZY.js +0 -18
- package/dist/chunk-BWIVLBZY.js.map +0 -7
- package/dist/chunk-GKAC6HNS.js.map +0 -7
- package/dist/chunk-HVJWUXJL.js +0 -65
- package/dist/chunk-HVJWUXJL.js.map +0 -7
- package/dist/chunk-KP35JQJ7.js +0 -8
- package/dist/chunk-O63J4YN5.js +0 -2
- package/dist/chunk-YINVPQ2V.js +0 -6
- package/dist/chunk-YINVPQ2V.js.map +0 -7
- package/dist/chunk-ZCRXH55K.js +0 -2
- package/dist/chunk-ZN6HRN6U.js +0 -50
- package/dist/chunk-ZN6HRN6U.js.map +0 -7
- package/dist/esm-BEXWGPJL.js +0 -37
- package/dist/esm-BEXWGPJL.js.map +0 -7
- package/dist/login-M6YPWB3H.js +0 -2
- package/dist/logout-QLW45MMK.js +0 -7
- package/dist/push-KUORLNK6.js +0 -2
- /package/dist/{chunk-PRAA2FG3.js.map → chunk-5VLIBRPJ.js.map} +0 -0
- /package/dist/{chunk-P7E7PAMQ.js.map → chunk-GFQYFEEH.js.map} +0 -0
- /package/dist/{chunk-OTYPO33S.js.map → chunk-SQN5DMIE.js.map} +0 -0
- /package/dist/{chunk-O63J4YN5.js.map → chunk-SX5LO3XQ.js.map} +0 -0
- /package/dist/{login-M6YPWB3H.js.map → login-NA3DP22R.js.map} +0 -0
- /package/dist/{push-KUORLNK6.js.map → push-KB43HKQI.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../shims/cjs.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/debug.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/constants.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/re.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/parse-options.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/internal/identifiers.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/classes/semver.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/parse.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/valid.js", "../node_modules/.pnpm/semver@7.7.0/node_modules/semver/functions/clean.js"],
|
|
4
|
-
"sourcesContent": ["import { createRequire } from \"node:module\";\nimport path from \"node:path\";\nimport url from \"node:url\";\n\nglobal.require = createRequire(import.meta.url);\nglobal.__filename = url.fileURLToPath(import.meta.url);\nglobal.__dirname = path.dirname(__filename);\n", "const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n", "// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\n// Max safe length for a build identifier. The max length minus 6 characters for\n// the shortest version with a build 0.0.0+BUILD.\nconst MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n", "const {\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_BUILD_LENGTH,\n MAX_LENGTH,\n} = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst safeRe = exports.safeRe = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst LETTERDASHNUMBER = '[a-zA-Z0-9-]'\n\n// Replace some greedy regex tokens to prevent regex dos issues. These regex are\n// used internally via the safeRe object since all inputs in this library get\n// normalized first to trim and collapse all extra whitespace. The original\n// regexes are exported for userland consumption and lower level usage. A\n// future breaking change could export the safer regex only with a note that\n// all input should have extra whitespace removed.\nconst safeRegexReplacements = [\n ['\\\\s', 1],\n ['\\\\d', MAX_LENGTH],\n [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],\n]\n\nconst makeSafeRegex = (value) => {\n for (const [token, max] of safeRegexReplacements) {\n value = value\n .split(`${token}*`).join(`${token}{0,${max}}`)\n .split(`${token}+`).join(`${token}{1,${max}}`)\n }\n return value\n}\n\nconst createToken = (name, value, isGlobal) => {\n const safe = makeSafeRegex(value)\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '\\\\d+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', `\\\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCEPLAIN', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)\ncreateToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\\\d])`)\ncreateToken('COERCEFULL', src[t.COERCEPLAIN] +\n `(?:${src[t.PRERELEASE]})?` +\n `(?:${src[t.BUILD]})?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\ncreateToken('COERCERTLFULL', src[t.COERCEFULL], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n", "// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n", "const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n", "const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { safeRe: re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('build compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n if (release.startsWith('pre')) {\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n // Avoid an invalid semver results\n if (identifier) {\n const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])\n if (!match || match[1] !== identifier) {\n throw new Error(`invalid identifier: ${identifier}`)\n }\n }\n }\n\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n case 'release':\n if (this.prerelease.length === 0) {\n throw new Error(`version ${this.raw} is not a prerelease`)\n }\n this.prerelease.length = 0\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.raw = this.format()\n if (this.build.length) {\n this.raw += `+${this.build.join('.')}`\n }\n return this\n }\n}\n\nmodule.exports = SemVer\n", "const SemVer = require('../classes/semver')\nconst parse = (version, options, throwErrors = false) => {\n if (version instanceof SemVer) {\n return version\n }\n try {\n return new SemVer(version, options)\n } catch (er) {\n if (!throwErrors) {\n return null\n }\n throw er\n }\n}\n\nmodule.exports = parse\n", "const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n", "const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["createRequire", "path", "url", "init_cjs", "__esmMin", "require_debug", "__commonJSMin", "exports", "module", "init_cjs", "debug", "args", "require_constants", "__commonJSMin", "exports", "module", "init_cjs", "SEMVER_SPEC_VERSION", "MAX_SAFE_INTEGER", "MAX_SAFE_COMPONENT_LENGTH", "MAX_SAFE_BUILD_LENGTH", "RELEASE_TYPES", "require_re", "__commonJSMin", "exports", "module", "init_cjs", "MAX_SAFE_COMPONENT_LENGTH", "MAX_SAFE_BUILD_LENGTH", "MAX_LENGTH", "debug", "re", "safeRe", "src", "t", "R", "LETTERDASHNUMBER", "safeRegexReplacements", "makeSafeRegex", "__name", "value", "token", "max", "createToken", "name", "isGlobal", "safe", "index", "require_parse_options", "__commonJSMin", "exports", "module", "init_cjs", "looseOption", "emptyOpts", "parseOptions", "__name", "options", "require_identifiers", "__commonJSMin", "exports", "module", "init_cjs", "numeric", "compareIdentifiers", "__name", "a", "b", "anum", "bnum", "rcompareIdentifiers", "require_semver", "__commonJSMin", "exports", "module", "init_cjs", "debug", "MAX_LENGTH", "MAX_SAFE_INTEGER", "re", "t", "parseOptions", "compareIdentifiers", "SemVer", "_SemVer", "__name", "version", "options", "m", "id", "num", "other", "i", "a", "b", "release", "identifier", "identifierBase", "match", "base", "prerelease", "require_parse", "__commonJSMin", "exports", "module", "init_cjs", "SemVer", "parse", "__name", "version", "options", "throwErrors", "er", "require_valid", "__commonJSMin", "exports", "module", "init_cjs", "parse", "valid", "__name", "version", "options", "v", "require_clean", "__commonJSMin", "exports", "module", "init_cjs", "parse", "clean", "__name", "version", "options", "s"]
|
|
7
|
-
}
|
package/dist/chunk-BWIVLBZY.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import{E as ae,b as ne,r as ie,s as se}from"./chunk-ZN6HRN6U.js";import{e as _}from"./chunk-PRAA2FG3.js";import{$ as f,D as H,F as oe,G as T,P as x,U as b,Z as L,_ as G,b as E,e as g}from"./chunk-HVJWUXJL.js";import{a as n,e as Ee,h as a}from"./chunk-56W5U2JG.js";a();a();import Te from"node:net";import Le from"node:os";var N=class extends Error{static{n(this,"Locked")}constructor(r){super(`${r} is locked`)}},y={old:new Set,young:new Set},$e=1e3*15;var $,Be=n(()=>{let e=Le.networkInterfaces(),r=new Set([void 0,"0.0.0.0"]);for(let t of Object.values(e))for(let o of t)r.add(o.address);return r},"getLocalHosts"),ce=n(e=>new Promise((r,t)=>{let o=Te.createServer();o.unref(),o.on("error",t),o.listen(e,()=>{let{port:i}=o.address();o.close(()=>{r(i)})})}),"checkAvailablePort"),le=n(async(e,r)=>{if(e.host||e.port===0)return ce(e);for(let t of r)try{await ce({port:e.port,host:t})}catch(o){if(!["EADDRNOTAVAIL","EINVAL"].includes(o.code))throw o}return e.port},"getAvailablePort"),Ce=n(function*(e){e&&(yield*e),yield 0},"portCheckSequence");async function j(e){let r,t=new Set;if(e&&(e.port&&(r=typeof e.port=="number"?[e.port]:e.port),e.exclude)){let i=e.exclude;if(typeof i[Symbol.iterator]!="function")throw new TypeError("The `exclude` option must be an iterable.");for(let c of i){if(typeof c!="number")throw new TypeError("Each item in the `exclude` option must be a number corresponding to the port you want excluded.");if(!Number.isSafeInteger(c))throw new TypeError(`Number ${c} in the exclude option is not a safe integer and can't be used`)}t=new Set(i)}$===void 0&&($=setTimeout(()=>{$=void 0,y.old=y.young,y.young=new Set},$e),$.unref&&$.unref());let o=Be();for(let i of Ce(r))try{if(t.has(i))continue;let c=await le({...e,port:i},o);for(;y.old.has(c)||y.young.has(c);){if(i!==0)throw new N(i);c=await le({...e,port:i},o)}return y.young.add(c),c}catch(c){if(!["EADDRINUSE","EACCES"].includes(c.code)&&!(c instanceof N))throw c}throw new Error("No available ports found")}n(j,"getPorts");import te from"node:assert";import Ir from"node:http";a();import k from"node:process";import{Buffer as Ye}from"node:buffer";import he from"node:path";import{fileURLToPath as Xe}from"node:url";import qe from"node:child_process";import J,{constants as ge}from"node:fs/promises";a();function w(e,r,t){let o=n(i=>Object.defineProperty(e,r,{value:i,enumerable:!0,writable:!0}),"define");return Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get(){let i=t();return o(i),i},set(i){o(i)}}),e}n(w,"defineLazyProperty");a();import{promisify as _e}from"node:util";import X from"node:process";import{execFile as je}from"node:child_process";a();import{promisify as We}from"node:util";import Ie from"node:process";import{execFile as Ne}from"node:child_process";var Re=We(Ne);async function z(){if(Ie.platform!=="darwin")throw new Error("macOS only");let{stdout:e}=await Re("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(e)?.groups.id??"com.apple.Safari"}n(z,"defaultBrowserId");a();a();import ke from"node:process";import{promisify as Fe}from"node:util";import{execFile as Oe,execFileSync as Vr}from"node:child_process";var Ue=Fe(Oe);async function ue(e,{humanReadableOutput:r=!0}={}){if(ke.platform!=="darwin")throw new Error("macOS only");let t=r?[]:["-ss"],{stdout:o}=await Ue("osascript",["-e",e,t]);return o.trim()}n(ue,"runAppleScript");async function K(e){return ue(`tell application "Finder" to set app_path to application file id "${e}" as string
|
|
2
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}n(K,"bundleName");a();import{promisify as Me}from"node:util";import{execFile as De}from"node:child_process";var He=Me(De),Ge={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},MSEdgeDHTML:{name:"Edge",id:"com.microsoft.edge"},MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"}},R=class extends Error{static{n(this,"UnknownBrowserError")}};async function Y(e=He){let{stdout:r}=await e("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),t=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(r);if(!t)throw new R(`Cannot find Windows browser in stdout: ${JSON.stringify(r)}`);let{id:o}=t.groups,i=Ge[o];if(!i)throw new R(`Unknown browser ID: ${o}`);return i}n(Y,"defaultBrowser");var ze=_e(je),Ke=n(e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,r=>r.toUpperCase()),"titleize");async function q(){if(X.platform==="darwin"){let e=await z();return{name:await K(e),id:e}}if(X.platform==="linux"){let{stdout:e}=await ze("xdg-mime",["query","default","x-scheme-handler/http"]),r=e.trim();return{name:Ke(r.replace(/.desktop$/,"").replace("-"," ")),id:r}}if(X.platform==="win32")return Y();throw new Error("Only macOS, Linux, and Windows are supported")}n(q,"defaultBrowser");var V=he.dirname(Xe(import.meta.url)),de=he.join(V,"xdg-open"),{platform:v,arch:pe}=k,Je=(()=>{let e="/mnt/",r;return async function(){if(r)return r;let t="/etc/wsl.conf",o=!1;try{await J.access(t,ge.F_OK),o=!0}catch{}if(!o)return e;let i=await J.readFile(t,{encoding:"utf8"}),c=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(i);return c?(r=c.groups.mountPoint.trim(),r=r.endsWith("/")?r:`${r}/`,r):e}})(),fe=n(async(e,r)=>{let t;for(let o of e)try{return await r(o)}catch(i){t=i}throw t},"pTryEach"),F=n(async e=>{if(e={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...e},Array.isArray(e.app))return fe(e.app,u=>F({...e,app:u}));let{name:r,arguments:t=[]}=e.app??{};if(t=[...t],Array.isArray(r))return fe(r,u=>F({...e,app:{name:u,arguments:t}}));if(r==="browser"||r==="browserPrivate"){let u={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","microsoft-edge.desktop":"edge"},l={chrome:"--incognito",firefox:"--private-window",edge:"--inPrivate"},d=await q();if(d.id in u){let h=u[d.id];return r==="browserPrivate"&&t.push(l[h]),F({...e,app:{name:S[h],arguments:t}})}throw new Error(`${d.name} is not supported as a default browser`)}let o,i=[],c={};if(v==="darwin")o="open",e.wait&&i.push("--wait-apps"),e.background&&i.push("--background"),e.newInstance&&i.push("--new"),r&&i.push("-a",r);else if(v==="win32"||T&&!oe()&&!r){let u=await Je();o=T?`${u}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`:`${k.env.SYSTEMROOT||k.env.windir||"C:\\Windows"}\\System32\\WindowsPowerShell\\v1.0\\powershell`,i.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),T||(c.windowsVerbatimArguments=!0);let l=["Start"];e.wait&&l.push("-Wait"),r?(l.push(`"\`"${r}\`""`),e.target&&t.push(e.target)):e.target&&l.push(`"${e.target}"`),t.length>0&&(t=t.map(d=>`"\`"${d}\`""`),l.push("-ArgumentList",t.join(","))),e.target=Ye.from(l.join(" "),"utf16le").toString("base64")}else{if(r)o=r;else{let u=!V||V==="/",l=!1;try{await J.access(de,ge.X_OK),l=!0}catch{}o=k.versions.electron??(v==="android"||u||!l)?"xdg-open":de}t.length>0&&i.push(...t),e.wait||(c.stdio="ignore",c.detached=!0)}v==="darwin"&&t.length>0&&i.push("--args",...t),e.target&&i.push(e.target);let p=qe.spawn(o,i,c);return e.wait?new Promise((u,l)=>{p.once("error",l),p.once("close",d=>{if(!e.allowNonzeroExitCode&&d>0){l(new Error(`Exited with code ${d}`));return}u(p)})}):(p.unref(),p)},"baseOpen"),Ve=n((e,r)=>{if(typeof e!="string")throw new TypeError("Expected a `target`");return F({...r,target:e})},"open");function me(e){if(typeof e=="string"||Array.isArray(e))return e;let{[pe]:r}=e;if(!r)throw new Error(`${pe} is not supported`);return r}n(me,"detectArchBinary");function Q({[v]:e},{wsl:r}){if(r&&T)return me(r);if(!e)throw new Error(`${v} is not supported`);return me(e)}n(Q,"detectPlatformBinary");var S={};w(S,"chrome",()=>Q({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{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"]}}));w(S,"firefox",()=>Q({darwin:"firefox",win32:"C:\\Program Files\\Mozilla Firefox\\firefox.exe",linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));w(S,"edge",()=>Q({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));w(S,"browser",()=>"browser");w(S,"browserPrivate",()=>"browserPrivate");var we=Ve;a();import Cr from"node:assert";a();import I from"node:process";a();a();var U={};Ee(U,{beep:()=>Pr,clearScreen:()=>br,clearTerminal:()=>yr,cursorBackward:()=>nr,cursorDown:()=>tr,cursorForward:()=>or,cursorGetPosition:()=>ar,cursorHide:()=>ur,cursorLeft:()=>ye,cursorMove:()=>rr,cursorNextLine:()=>cr,cursorPrevLine:()=>lr,cursorRestorePosition:()=>sr,cursorSavePosition:()=>ir,cursorShow:()=>dr,cursorTo:()=>er,cursorUp:()=>be,enterAlternativeScreen:()=>vr,eraseDown:()=>hr,eraseEndLine:()=>fr,eraseLine:()=>ve,eraseLines:()=>pr,eraseScreen:()=>Z,eraseStartLine:()=>mr,eraseUp:()=>gr,exitAlternativeScreen:()=>Sr,iTerm:()=>Tr,image:()=>Er,link:()=>Ar,scrollDown:()=>xr,scrollUp:()=>wr});a();import ee from"node:process";a();var O=globalThis.window?.document!==void 0,It=globalThis.process?.versions?.node!==void 0,Nt=globalThis.process?.versions?.bun!==void 0,Rt=globalThis.Deno?.version?.deno!==void 0,kt=globalThis.process?.versions?.electron!==void 0,Ft=globalThis.navigator?.userAgent?.includes("jsdom")===!0,Ot=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,Ut=typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope,Mt=typeof SharedWorkerGlobalScope<"u"&&globalThis instanceof SharedWorkerGlobalScope,Dt=typeof ServiceWorkerGlobalScope<"u"&&globalThis instanceof ServiceWorkerGlobalScope,B=globalThis.navigator?.userAgentData?.platform,Ht=B==="macOS"||globalThis.navigator?.platform==="MacIntel"||globalThis.navigator?.userAgent?.includes(" Mac ")===!0||globalThis.process?.platform==="darwin",Gt=B==="Windows"||globalThis.navigator?.platform==="Win32"||globalThis.process?.platform==="win32",_t=B==="Linux"||globalThis.navigator?.platform?.startsWith("Linux")===!0||globalThis.navigator?.userAgent?.includes(" Linux ")===!0||globalThis.process?.platform==="linux",jt=B==="iOS"||globalThis.navigator?.platform==="MacIntel"&&globalThis.navigator?.maxTouchPoints>1||/iPad|iPhone|iPod/.test(globalThis.navigator?.platform),zt=B==="Android"||globalThis.navigator?.platform==="Android"||globalThis.navigator?.userAgent?.includes(" Android ")===!0||globalThis.process?.platform==="android";var s="\x1B[",W="\x1B]",P="\x07",C=";",xe=!O&&ee.env.TERM_PROGRAM==="Apple_Terminal",Qe=!O&&ee.platform==="win32",Ze=O?()=>{throw new Error("`process.cwd()` only works in Node.js, not the browser.")}:ee.cwd,er=n((e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof r!="number"?s+(e+1)+"G":s+(r+1)+C+(e+1)+"H"},"cursorTo"),rr=n((e,r)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let t="";return e<0?t+=s+-e+"D":e>0&&(t+=s+e+"C"),r<0?t+=s+-r+"A":r>0&&(t+=s+r+"B"),t},"cursorMove"),be=n((e=1)=>s+e+"A","cursorUp"),tr=n((e=1)=>s+e+"B","cursorDown"),or=n((e=1)=>s+e+"C","cursorForward"),nr=n((e=1)=>s+e+"D","cursorBackward"),ye=s+"G",ir=xe?"\x1B7":s+"s",sr=xe?"\x1B8":s+"u",ar=s+"6n",cr=s+"E",lr=s+"F",ur=s+"?25l",dr=s+"?25h",pr=n(e=>{let r="";for(let t=0;t<e;t++)r+=ve+(t<e-1?be():"");return e&&(r+=ye),r},"eraseLines"),fr=s+"K",mr=s+"1K",ve=s+"2K",hr=s+"J",gr=s+"1J",Z=s+"2J",wr=s+"S",xr=s+"T",br="\x1Bc",yr=Qe?`${Z}${s}0f`:`${Z}${s}3J${s}H`,vr=s+"?1049h",Sr=s+"?1049l",Pr=P,Ar=n((e,r)=>[W,"8",C,C,r,P,e,W,"8",C,C,P].join(""),"link"),Er=n((e,r={})=>{let t=`${W}1337;File=inline=1`;return r.width&&(t+=`;width=${r.width}`),r.height&&(t+=`;height=${r.height}`),r.preserveAspectRatio===!1&&(t+=";preserveAspectRatio=0"),t+":"+Buffer.from(e).toString("base64")+P},"image"),Tr={setCwd:n((e=Ze())=>`${W}50;CurrentDir=${e}${P}`,"setCwd"),annotation(e,r={}){let t=`${W}1337;`,o=r.x!==void 0,i=r.y!==void 0;if((o||i)&&!(o&&i&&r.length!==void 0))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replaceAll("|",""),t+=r.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",r.length>0?t+=(o?[e,r.length,r.x,r.y]:[r.length,e]).join("|"):t+=e,t+P}};import Lr from"node:assert";import $r from"node:events";import m from"node:process";import Se from"node:readline";var M=class e extends $r{static{n(this,"Prompt")}static active=!1;value=void 0;firstRender=!0;done=!1;closed=!1;aborted=!1;exited=!1;close;constructor(){super(),Lr(!e.active,"only one prompt can be active at a time"),e.active=!0;let r=Se.createInterface({input:m.stdin,escapeCodeTimeout:50});Se.emitKeypressEvents(m.stdin,r),m.stdin.isTTY&&m.stdin.setRawMode(!0);let t=["SelectPrompt"].includes(this.constructor.name),o=n((i,c)=>{let p=Br(c,t);p===!1?this._(i,c):p&&typeof this[p]=="function"?this[p](c):this.bell()},"keypress");this.close=()=>{m.stdin.removeListener("keypress",o),m.stdin.isTTY&&m.stdin.setRawMode(!1),r.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0,e.active=!1},m.stdin.on("keypress",o)}_(r,t){}onRender(){}fire(){this.emit("state",{value:this.value,aborted:this.aborted,exited:this.exited})}bell(){b.writeStdout(U.beep)}render(){this.onRender(),this.firstRender&&(this.firstRender=!1)}},Br=n((e,r)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl)switch(e.name){case"a":return"first";case"c":case"d":return"abort";case"e":return"last";case"g":return"reset"}if(r){if(e.name==="j")return"down";if(e.name==="k")return"up"}switch(e.name){case"return":case"enter":return"submit";case"backspace":return"delete";case"delete":return"deleteForward";case"abort":return"abort";case"escape":return"exit";case"tab":return"next";case"pagedown":return"nextPage";case"pageup":return"prevPage";case"home":return"home";case"end":return"end";case"up":return"up";case"down":return"down";case"right":return"right";case"left":return"left";default:return!1}}},"getPromptAction"),ao=n((e,r,t)=>{t=t||r;let o=Math.min(r-t,e-Math.floor(t/2));o<0&&(o=0);let i=Math.min(o+t,r);return{startIndex:o,endIndex:i}},"entriesToDisplay");var Pe=n(e=>{let r;if(typeof e=="string"?r={content:e}:r=e,r=H(r,{ensureEmptyLineAbove:!0,ensureNewLine:!0,exitWhenNo:!0}),!b.isInteractive){let t=r.whenNotInteractive??(()=>{f(r),f({ensureEmptyLineAbove:!0,content:"Aborting because ggt is not running in an interactive terminal."}),I.exit(1)});return Promise.resolve(t())}return new Promise(t=>{let o=new re(r);o.on("submit",t),o.on("exit",()=>I.exit(0)),o.on("abort",()=>I.exit(1))})},"confirm"),re=class extends M{static{n(this,"Confirm")}value=void 0;defaultValue=!1;options;constructor(r){super(),this.options=H(r,{exitWhenNo:!0,ensureEmptyLineAbove:!0}),this.render()}reset(){this.value=this.defaultValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=!1,this.done=this.aborted=!0,this.fire(),this.render(!1),this.close(),this.options.exitWhenNo&&I.exit(0)}submit(){this.value=this.value??!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.close(),this.options.exitWhenNo&&!this.value&&I.exit(0)}_(r,t){if(r.toLowerCase()==="y"){this.value=!0,this.submit();return}if(r.toLowerCase()==="n"){this.value=!1,this.submit();return}this.bell()}render(r=this.value){if(super.render(),this.done){b.persistPrompt(G({...this.options,content:`${this.options.content} ${r?E.bold.greenBright("Yes."):E.bold.redBright("No.")}`}));return}b.updatePrompt(G({...this.options,content:`${this.options.content} ${this.defaultValue?E.blueBright("[Y/n] "):E.blueBright("[y/N] ")}`}))}};var Wr=g.object({id:g.union([g.string(),g.number()]).transform(Number),name:g.string().nullish(),email:g.string()}),D=n(async e=>{let r=ie(e);if(r)try{let t=await ae({context:{ctx:e},url:`https://${x.domains.services}/auth/api/current-user`,headers:r,responseType:"json",resolveBodyOnly:!0}),o=Wr.parse(t);return e.log.info("loaded user",{user:{id:o.id}},{user:o}),ne(o),o}catch(t){se(e,t);return}},"getUser"),Wo=n(async(e,r)=>{let t=await D(e);return t||(e.log.info("prompting user to log in"),f({ensureEmptyLineAbove:!0,content:`You must be logged in to use "ggt ${r}".`}),await Pe({ensureEmptyLineAbove:!0,content:"Would you like to log in?"}),await Ae(e,{_:[]}),t=await D(e),Cr(t,"missing user after successful login"),t)},"getUserOrLogin");var jo=n(()=>L`
|
|
3
|
-
Log in to your account.
|
|
4
|
-
|
|
5
|
-
{bold Usage}
|
|
6
|
-
ggt login
|
|
7
|
-
`,"usage"),Nr=n(async e=>{let r;try{let t=await j(),o=new Promise((c,p)=>{r=Ir.createServer(async(u,l)=>{let d=new URL(`https://${x.domains.services}/auth/cli`);try{te(u.url,"missing url");let h=new URL(u.url,`http://localhost:${t}`).searchParams.get("session");te(h,"missing session"),_(e,h);let A=await D(e);te(A,"missing user after successful login"),A.name?f({ensureEmptyLineAbove:!0,content:L`Hello, ${A.name} {gray (${A.email})}`}):f({ensureEmptyLineAbove:!0,content:`Hello, ${A.email}`}),d.searchParams.set("success","true"),c()}catch(h){_(e,void 0),d.searchParams.set("success","false"),p(h)}finally{l.writeHead(303,{Location:d.toString()}),l.end()}}),e.log.info("starting login server",{port:t}),r.listen(t)}),i=new URL(`https://${x.domains.services}/auth/login`);i.searchParams.set("returnTo",`https://${x.domains.services}/auth/cli/callback?port=${t}`);try{e.log.info("opening browser",{url:i.toString()}),await we(i.toString()),f({ensureEmptyLineAbove:!0,content:L`
|
|
8
|
-
We've opened Gadget's login page using your default browser.
|
|
9
|
-
|
|
10
|
-
Please log in and then return to this terminal.
|
|
11
|
-
`})}catch(c){e.log.error("failed to open browser",{error:c}),f({ensureEmptyLineAbove:!0,content:L`
|
|
12
|
-
Please open the following URL in your browser and log in:
|
|
13
|
-
|
|
14
|
-
{gray ${i.toString()}}
|
|
15
|
-
|
|
16
|
-
Once logged in, return to this terminal.
|
|
17
|
-
`})}await o}finally{r?.close()}},"run"),Ae=Nr;export{M as a,ao as b,Pe as c,we as d,jo as e,Nr as f,Ae as g,D as h,Wo as i};
|
|
18
|
-
//# sourceMappingURL=chunk-BWIVLBZY.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/commands/login.ts", "../node_modules/.pnpm/get-port@7.1.0/node_modules/get-port/index.js", "../node_modules/.pnpm/open@10.1.0/node_modules/open/index.js", "../node_modules/.pnpm/define-lazy-prop@3.0.0/node_modules/define-lazy-prop/index.js", "../node_modules/.pnpm/default-browser@5.2.1/node_modules/default-browser/index.js", "../node_modules/.pnpm/default-browser-id@5.0.0/node_modules/default-browser-id/index.js", "../node_modules/.pnpm/bundle-name@4.1.0/node_modules/bundle-name/index.js", "../node_modules/.pnpm/run-applescript@7.0.0/node_modules/run-applescript/index.js", "../node_modules/.pnpm/default-browser@5.2.1/node_modules/default-browser/windows.js", "../src/services/user/user.ts", "../src/services/output/confirm.ts", "../src/services/output/prompt.ts", "../node_modules/.pnpm/ansi-escapes@7.0.0/node_modules/ansi-escapes/index.js", "../node_modules/.pnpm/ansi-escapes@7.0.0/node_modules/ansi-escapes/base.js", "../node_modules/.pnpm/environment@1.1.0/node_modules/environment/index.js"],
|
|
4
|
-
"sourcesContent": ["import getPort from \"get-port\";\nimport assert from \"node:assert\";\nimport http, { type Server } from \"node:http\";\nimport open from \"open\";\nimport type { Run, Usage } from \"../services/command/command.js\";\nimport { config } from \"../services/config/config.js\";\nimport { println } from \"../services/output/print.js\";\nimport { sprint } from \"../services/output/sprint.js\";\nimport { writeSession } from \"../services/user/session.js\";\nimport { getUser } from \"../services/user/user.js\";\n\nexport const usage: Usage = () => sprint`\n Log in to your account.\n\n {bold Usage}\n ggt login\n`;\n\nexport const run: Run = async (ctx): Promise<void> => {\n let server: Server | undefined;\n\n try {\n const port = await getPort();\n const receiveSession = new Promise<void>((resolve, reject) => {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n server = http.createServer(async (req, res) => {\n const landingPage = new URL(`https://${config.domains.services}/auth/cli`);\n\n try {\n assert(req.url, \"missing url\");\n const session = new URL(req.url, `http://localhost:${port}`).searchParams.get(\"session\");\n assert(session, \"missing session\");\n\n writeSession(ctx, session);\n\n const user = await getUser(ctx);\n assert(user, \"missing user after successful login\");\n\n if (user.name) {\n println({ ensureEmptyLineAbove: true, content: sprint`Hello, ${user.name} {gray (${user.email})}` });\n } else {\n println({ ensureEmptyLineAbove: true, content: `Hello, ${user.email}` });\n }\n\n landingPage.searchParams.set(\"success\", \"true\");\n resolve();\n } catch (error) {\n writeSession(ctx, undefined);\n landingPage.searchParams.set(\"success\", \"false\");\n reject(error as Error);\n } finally {\n res.writeHead(303, { Location: landingPage.toString() });\n res.end();\n }\n });\n\n ctx.log.info(\"starting login server\", { port });\n server.listen(port);\n });\n\n // open the login page in the user's default browser have it\n // redirect to the cli callback route. The cli callback route will\n // send the session to the server we just started.\n const url = new URL(`https://${config.domains.services}/auth/login`);\n url.searchParams.set(\"returnTo\", `https://${config.domains.services}/auth/cli/callback?port=${port}`);\n\n try {\n ctx.log.info(\"opening browser\", { url: url.toString() });\n await open(url.toString());\n println({\n ensureEmptyLineAbove: true,\n content: sprint`\n We've opened Gadget's login page using your default browser.\n\n Please log in and then return to this terminal.\n `,\n });\n } catch (error) {\n ctx.log.error(\"failed to open browser\", { error });\n println({\n ensureEmptyLineAbove: true,\n content: sprint`\n Please open the following URL in your browser and log in:\n\n {gray ${url.toString()}}\n\n Once logged in, return to this terminal.\n `,\n });\n }\n\n await receiveSession;\n } finally {\n server?.close();\n }\n};\n\n// alias\nexport const login = run;\n", "import net from 'node:net';\nimport os from 'node:os';\n\nclass Locked extends Error {\n\tconstructor(port) {\n\t\tsuper(`${port} is locked`);\n\t}\n}\n\nconst lockedPorts = {\n\told: new Set(),\n\tyoung: new Set(),\n};\n\n// On this interval, the old locked ports are discarded,\n// the young locked ports are moved to old locked ports,\n// and a new young set for locked ports are created.\nconst releaseOldLockedPortsIntervalMs = 1000 * 15;\n\nconst minPort = 1024;\nconst maxPort = 65_535;\n\n// Lazily create timeout on first use\nlet timeout;\n\nconst getLocalHosts = () => {\n\tconst interfaces = os.networkInterfaces();\n\n\t// Add undefined value for createServer function to use default host,\n\t// and default IPv4 host in case createServer defaults to IPv6.\n\tconst results = new Set([undefined, '0.0.0.0']);\n\n\tfor (const _interface of Object.values(interfaces)) {\n\t\tfor (const config of _interface) {\n\t\t\tresults.add(config.address);\n\t\t}\n\t}\n\n\treturn results;\n};\n\nconst checkAvailablePort = options =>\n\tnew Promise((resolve, reject) => {\n\t\tconst server = net.createServer();\n\t\tserver.unref();\n\t\tserver.on('error', reject);\n\n\t\tserver.listen(options, () => {\n\t\t\tconst {port} = server.address();\n\t\t\tserver.close(() => {\n\t\t\t\tresolve(port);\n\t\t\t});\n\t\t});\n\t});\n\nconst getAvailablePort = async (options, hosts) => {\n\tif (options.host || options.port === 0) {\n\t\treturn checkAvailablePort(options);\n\t}\n\n\tfor (const host of hosts) {\n\t\ttry {\n\t\t\tawait checkAvailablePort({port: options.port, host}); // eslint-disable-line no-await-in-loop\n\t\t} catch (error) {\n\t\t\tif (!['EADDRNOTAVAIL', 'EINVAL'].includes(error.code)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn options.port;\n};\n\nconst portCheckSequence = function * (ports) {\n\tif (ports) {\n\t\tyield * ports;\n\t}\n\n\tyield 0; // Fall back to 0 if anything else failed\n};\n\nexport default async function getPorts(options) {\n\tlet ports;\n\tlet exclude = new Set();\n\n\tif (options) {\n\t\tif (options.port) {\n\t\t\tports = typeof options.port === 'number' ? [options.port] : options.port;\n\t\t}\n\n\t\tif (options.exclude) {\n\t\t\tconst excludeIterable = options.exclude;\n\n\t\t\tif (typeof excludeIterable[Symbol.iterator] !== 'function') {\n\t\t\t\tthrow new TypeError('The `exclude` option must be an iterable.');\n\t\t\t}\n\n\t\t\tfor (const element of excludeIterable) {\n\t\t\t\tif (typeof element !== 'number') {\n\t\t\t\t\tthrow new TypeError('Each item in the `exclude` option must be a number corresponding to the port you want excluded.');\n\t\t\t\t}\n\n\t\t\t\tif (!Number.isSafeInteger(element)) {\n\t\t\t\t\tthrow new TypeError(`Number ${element} in the exclude option is not a safe integer and can't be used`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\texclude = new Set(excludeIterable);\n\t\t}\n\t}\n\n\tif (timeout === undefined) {\n\t\ttimeout = setTimeout(() => {\n\t\t\ttimeout = undefined;\n\n\t\t\tlockedPorts.old = lockedPorts.young;\n\t\t\tlockedPorts.young = new Set();\n\t\t}, releaseOldLockedPortsIntervalMs);\n\n\t\t// Does not exist in some environments (Electron, Jest jsdom env, browser, etc).\n\t\tif (timeout.unref) {\n\t\t\ttimeout.unref();\n\t\t}\n\t}\n\n\tconst hosts = getLocalHosts();\n\n\tfor (const port of portCheckSequence(ports)) {\n\t\ttry {\n\t\t\tif (exclude.has(port)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tlet availablePort = await getAvailablePort({...options, port}, hosts); // eslint-disable-line no-await-in-loop\n\t\t\twhile (lockedPorts.old.has(availablePort) || lockedPorts.young.has(availablePort)) {\n\t\t\t\tif (port !== 0) {\n\t\t\t\t\tthrow new Locked(port);\n\t\t\t\t}\n\n\t\t\t\tavailablePort = await getAvailablePort({...options, port}, hosts); // eslint-disable-line no-await-in-loop\n\t\t\t}\n\n\t\t\tlockedPorts.young.add(availablePort);\n\n\t\t\treturn availablePort;\n\t\t} catch (error) {\n\t\t\tif (!['EADDRINUSE', 'EACCES'].includes(error.code) && !(error instanceof Locked)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new Error('No available ports found');\n}\n\nexport function portNumbers(from, to) {\n\tif (!Number.isInteger(from) || !Number.isInteger(to)) {\n\t\tthrow new TypeError('`from` and `to` must be integer numbers');\n\t}\n\n\tif (from < minPort || from > maxPort) {\n\t\tthrow new RangeError(`'from' must be between ${minPort} and ${maxPort}`);\n\t}\n\n\tif (to < minPort || to > maxPort) {\n\t\tthrow new RangeError(`'to' must be between ${minPort} and ${maxPort}`);\n\t}\n\n\tif (from > to) {\n\t\tthrow new RangeError('`to` must be greater than or equal to `from`');\n\t}\n\n\tconst generator = function * (from, to) {\n\t\tfor (let port = from; port <= to; port++) {\n\t\t\tyield port;\n\t\t}\n\t};\n\n\treturn generator(from, to);\n}\n\nexport function clearLockedPorts() {\n\tlockedPorts.old.clear();\n\tlockedPorts.young.clear();\n}\n", "import process from 'node:process';\nimport {Buffer} from 'node:buffer';\nimport path from 'node:path';\nimport {fileURLToPath} from 'node:url';\nimport childProcess from 'node:child_process';\nimport fs, {constants as fsConstants} from 'node:fs/promises';\nimport isWsl from 'is-wsl';\nimport defineLazyProperty from 'define-lazy-prop';\nimport defaultBrowser from 'default-browser';\nimport isInsideContainer from 'is-inside-container';\n\n// Path to included `xdg-open`.\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\nconst localXdgOpenPath = path.join(__dirname, 'xdg-open');\n\nconst {platform, arch} = process;\n\n/**\nGet the mount point for fixed drives in WSL.\n\n@inner\n@returns {string} The mount point.\n*/\nconst getWslDrivesMountPoint = (() => {\n\t// Default value for \"root\" param\n\t// according to https://docs.microsoft.com/en-us/windows/wsl/wsl-config\n\tconst defaultMountPoint = '/mnt/';\n\n\tlet mountPoint;\n\n\treturn async function () {\n\t\tif (mountPoint) {\n\t\t\t// Return memoized mount point value\n\t\t\treturn mountPoint;\n\t\t}\n\n\t\tconst configFilePath = '/etc/wsl.conf';\n\n\t\tlet isConfigFileExists = false;\n\t\ttry {\n\t\t\tawait fs.access(configFilePath, fsConstants.F_OK);\n\t\t\tisConfigFileExists = true;\n\t\t} catch {}\n\n\t\tif (!isConfigFileExists) {\n\t\t\treturn defaultMountPoint;\n\t\t}\n\n\t\tconst configContent = await fs.readFile(configFilePath, {encoding: 'utf8'});\n\t\tconst configMountPoint = /(?<!#.*)root\\s*=\\s*(?<mountPoint>.*)/g.exec(configContent);\n\n\t\tif (!configMountPoint) {\n\t\t\treturn defaultMountPoint;\n\t\t}\n\n\t\tmountPoint = configMountPoint.groups.mountPoint.trim();\n\t\tmountPoint = mountPoint.endsWith('/') ? mountPoint : `${mountPoint}/`;\n\n\t\treturn mountPoint;\n\t};\n})();\n\nconst pTryEach = async (array, mapper) => {\n\tlet latestError;\n\n\tfor (const item of array) {\n\t\ttry {\n\t\t\treturn await mapper(item); // eslint-disable-line no-await-in-loop\n\t\t} catch (error) {\n\t\t\tlatestError = error;\n\t\t}\n\t}\n\n\tthrow latestError;\n};\n\nconst baseOpen = async options => {\n\toptions = {\n\t\twait: false,\n\t\tbackground: false,\n\t\tnewInstance: false,\n\t\tallowNonzeroExitCode: false,\n\t\t...options,\n\t};\n\n\tif (Array.isArray(options.app)) {\n\t\treturn pTryEach(options.app, singleApp => baseOpen({\n\t\t\t...options,\n\t\t\tapp: singleApp,\n\t\t}));\n\t}\n\n\tlet {name: app, arguments: appArguments = []} = options.app ?? {};\n\tappArguments = [...appArguments];\n\n\tif (Array.isArray(app)) {\n\t\treturn pTryEach(app, appName => baseOpen({\n\t\t\t...options,\n\t\t\tapp: {\n\t\t\t\tname: appName,\n\t\t\t\targuments: appArguments,\n\t\t\t},\n\t\t}));\n\t}\n\n\tif (app === 'browser' || app === 'browserPrivate') {\n\t\t// IDs from default-browser for macOS and windows are the same\n\t\tconst ids = {\n\t\t\t'com.google.chrome': 'chrome',\n\t\t\t'google-chrome.desktop': 'chrome',\n\t\t\t'org.mozilla.firefox': 'firefox',\n\t\t\t'firefox.desktop': 'firefox',\n\t\t\t'com.microsoft.msedge': 'edge',\n\t\t\t'com.microsoft.edge': 'edge',\n\t\t\t'microsoft-edge.desktop': 'edge',\n\t\t};\n\n\t\t// Incognito flags for each browser in `apps`.\n\t\tconst flags = {\n\t\t\tchrome: '--incognito',\n\t\t\tfirefox: '--private-window',\n\t\t\tedge: '--inPrivate',\n\t\t};\n\n\t\tconst browser = await defaultBrowser();\n\t\tif (browser.id in ids) {\n\t\t\tconst browserName = ids[browser.id];\n\n\t\t\tif (app === 'browserPrivate') {\n\t\t\t\tappArguments.push(flags[browserName]);\n\t\t\t}\n\n\t\t\treturn baseOpen({\n\t\t\t\t...options,\n\t\t\t\tapp: {\n\t\t\t\t\tname: apps[browserName],\n\t\t\t\t\targuments: appArguments,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tthrow new Error(`${browser.name} is not supported as a default browser`);\n\t}\n\n\tlet command;\n\tconst cliArguments = [];\n\tconst childProcessOptions = {};\n\n\tif (platform === 'darwin') {\n\t\tcommand = 'open';\n\n\t\tif (options.wait) {\n\t\t\tcliArguments.push('--wait-apps');\n\t\t}\n\n\t\tif (options.background) {\n\t\t\tcliArguments.push('--background');\n\t\t}\n\n\t\tif (options.newInstance) {\n\t\t\tcliArguments.push('--new');\n\t\t}\n\n\t\tif (app) {\n\t\t\tcliArguments.push('-a', app);\n\t\t}\n\t} else if (platform === 'win32' || (isWsl && !isInsideContainer() && !app)) {\n\t\tconst mountPoint = await getWslDrivesMountPoint();\n\n\t\tcommand = isWsl\n\t\t\t? `${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`\n\t\t\t: `${process.env.SYSTEMROOT || process.env.windir || 'C:\\\\Windows'}\\\\System32\\\\WindowsPowerShell\\\\v1.0\\\\powershell`;\n\n\t\tcliArguments.push(\n\t\t\t'-NoProfile',\n\t\t\t'-NonInteractive',\n\t\t\t'-ExecutionPolicy',\n\t\t\t'Bypass',\n\t\t\t'-EncodedCommand',\n\t\t);\n\n\t\tif (!isWsl) {\n\t\t\tchildProcessOptions.windowsVerbatimArguments = true;\n\t\t}\n\n\t\tconst encodedArguments = ['Start'];\n\n\t\tif (options.wait) {\n\t\t\tencodedArguments.push('-Wait');\n\t\t}\n\n\t\tif (app) {\n\t\t\t// Double quote with double quotes to ensure the inner quotes are passed through.\n\t\t\t// Inner quotes are delimited for PowerShell interpretation with backticks.\n\t\t\tencodedArguments.push(`\"\\`\"${app}\\`\"\"`);\n\t\t\tif (options.target) {\n\t\t\t\tappArguments.push(options.target);\n\t\t\t}\n\t\t} else if (options.target) {\n\t\t\tencodedArguments.push(`\"${options.target}\"`);\n\t\t}\n\n\t\tif (appArguments.length > 0) {\n\t\t\tappArguments = appArguments.map(argument => `\"\\`\"${argument}\\`\"\"`);\n\t\t\tencodedArguments.push('-ArgumentList', appArguments.join(','));\n\t\t}\n\n\t\t// Using Base64-encoded command, accepted by PowerShell, to allow special characters.\n\t\toptions.target = Buffer.from(encodedArguments.join(' '), 'utf16le').toString('base64');\n\t} else {\n\t\tif (app) {\n\t\t\tcommand = app;\n\t\t} else {\n\t\t\t// When bundled by Webpack, there's no actual package file path and no local `xdg-open`.\n\t\t\tconst isBundled = !__dirname || __dirname === '/';\n\n\t\t\t// Check if local `xdg-open` exists and is executable.\n\t\t\tlet exeLocalXdgOpen = false;\n\t\t\ttry {\n\t\t\t\tawait fs.access(localXdgOpenPath, fsConstants.X_OK);\n\t\t\t\texeLocalXdgOpen = true;\n\t\t\t} catch {}\n\n\t\t\tconst useSystemXdgOpen = process.versions.electron\n\t\t\t\t?? (platform === 'android' || isBundled || !exeLocalXdgOpen);\n\t\t\tcommand = useSystemXdgOpen ? 'xdg-open' : localXdgOpenPath;\n\t\t}\n\n\t\tif (appArguments.length > 0) {\n\t\t\tcliArguments.push(...appArguments);\n\t\t}\n\n\t\tif (!options.wait) {\n\t\t\t// `xdg-open` will block the process unless stdio is ignored\n\t\t\t// and it's detached from the parent even if it's unref'd.\n\t\t\tchildProcessOptions.stdio = 'ignore';\n\t\t\tchildProcessOptions.detached = true;\n\t\t}\n\t}\n\n\tif (platform === 'darwin' && appArguments.length > 0) {\n\t\tcliArguments.push('--args', ...appArguments);\n\t}\n\n\t// This has to come after `--args`.\n\tif (options.target) {\n\t\tcliArguments.push(options.target);\n\t}\n\n\tconst subprocess = childProcess.spawn(command, cliArguments, childProcessOptions);\n\n\tif (options.wait) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tsubprocess.once('error', reject);\n\n\t\t\tsubprocess.once('close', exitCode => {\n\t\t\t\tif (!options.allowNonzeroExitCode && exitCode > 0) {\n\t\t\t\t\treject(new Error(`Exited with code ${exitCode}`));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tresolve(subprocess);\n\t\t\t});\n\t\t});\n\t}\n\n\tsubprocess.unref();\n\n\treturn subprocess;\n};\n\nconst open = (target, options) => {\n\tif (typeof target !== 'string') {\n\t\tthrow new TypeError('Expected a `target`');\n\t}\n\n\treturn baseOpen({\n\t\t...options,\n\t\ttarget,\n\t});\n};\n\nexport const openApp = (name, options) => {\n\tif (typeof name !== 'string' && !Array.isArray(name)) {\n\t\tthrow new TypeError('Expected a valid `name`');\n\t}\n\n\tconst {arguments: appArguments = []} = options ?? {};\n\tif (appArguments !== undefined && appArguments !== null && !Array.isArray(appArguments)) {\n\t\tthrow new TypeError('Expected `appArguments` as Array type');\n\t}\n\n\treturn baseOpen({\n\t\t...options,\n\t\tapp: {\n\t\t\tname,\n\t\t\targuments: appArguments,\n\t\t},\n\t});\n};\n\nfunction detectArchBinary(binary) {\n\tif (typeof binary === 'string' || Array.isArray(binary)) {\n\t\treturn binary;\n\t}\n\n\tconst {[arch]: archBinary} = binary;\n\n\tif (!archBinary) {\n\t\tthrow new Error(`${arch} is not supported`);\n\t}\n\n\treturn archBinary;\n}\n\nfunction detectPlatformBinary({[platform]: platformBinary}, {wsl}) {\n\tif (wsl && isWsl) {\n\t\treturn detectArchBinary(wsl);\n\t}\n\n\tif (!platformBinary) {\n\t\tthrow new Error(`${platform} is not supported`);\n\t}\n\n\treturn detectArchBinary(platformBinary);\n}\n\nexport const apps = {};\n\ndefineLazyProperty(apps, 'chrome', () => detectPlatformBinary({\n\tdarwin: 'google chrome',\n\twin32: 'chrome',\n\tlinux: ['google-chrome', 'google-chrome-stable', 'chromium'],\n}, {\n\twsl: {\n\t\tia32: '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe',\n\t\tx64: ['/mnt/c/Program Files/Google/Chrome/Application/chrome.exe', '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe'],\n\t},\n}));\n\ndefineLazyProperty(apps, 'firefox', () => detectPlatformBinary({\n\tdarwin: 'firefox',\n\twin32: 'C:\\\\Program Files\\\\Mozilla Firefox\\\\firefox.exe',\n\tlinux: 'firefox',\n}, {\n\twsl: '/mnt/c/Program Files/Mozilla Firefox/firefox.exe',\n}));\n\ndefineLazyProperty(apps, 'edge', () => detectPlatformBinary({\n\tdarwin: 'microsoft edge',\n\twin32: 'msedge',\n\tlinux: ['microsoft-edge', 'microsoft-edge-dev'],\n}, {\n\twsl: '/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe',\n}));\n\ndefineLazyProperty(apps, 'browser', () => 'browser');\n\ndefineLazyProperty(apps, 'browserPrivate', () => 'browserPrivate');\n\nexport default open;\n", "export default function defineLazyProperty(object, propertyName, valueGetter) {\n\tconst define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});\n\n\tObject.defineProperty(object, propertyName, {\n\t\tconfigurable: true,\n\t\tenumerable: true,\n\t\tget() {\n\t\t\tconst result = valueGetter();\n\t\t\tdefine(result);\n\t\t\treturn result;\n\t\t},\n\t\tset(value) {\n\t\t\tdefine(value);\n\t\t}\n\t});\n\n\treturn object;\n}\n", "import {promisify} from 'node:util';\nimport process from 'node:process';\nimport {execFile} from 'node:child_process';\nimport defaultBrowserId from 'default-browser-id';\nimport bundleName from 'bundle-name';\nimport windows from './windows.js';\n\nconst execFileAsync = promisify(execFile);\n\n// Inlined: https://github.com/sindresorhus/titleize/blob/main/index.js\nconst titleize = string => string.toLowerCase().replaceAll(/(?:^|\\s|-)\\S/g, x => x.toUpperCase());\n\nexport default async function defaultBrowser() {\n\tif (process.platform === 'darwin') {\n\t\tconst id = await defaultBrowserId();\n\t\tconst name = await bundleName(id);\n\t\treturn {name, id};\n\t}\n\n\tif (process.platform === 'linux') {\n\t\tconst {stdout} = await execFileAsync('xdg-mime', ['query', 'default', 'x-scheme-handler/http']);\n\t\tconst id = stdout.trim();\n\t\tconst name = titleize(id.replace(/.desktop$/, '').replace('-', ' '));\n\t\treturn {name, id};\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn windows();\n\t}\n\n\tthrow new Error('Only macOS, Linux, and Windows are supported');\n}\n", "import {promisify} from 'node:util';\nimport process from 'node:process';\nimport {execFile} from 'node:child_process';\n\nconst execFileAsync = promisify(execFile);\n\nexport default async function defaultBrowserId() {\n\tif (process.platform !== 'darwin') {\n\t\tthrow new Error('macOS only');\n\t}\n\n\tconst {stdout} = await execFileAsync('defaults', ['read', 'com.apple.LaunchServices/com.apple.launchservices.secure', 'LSHandlers']);\n\n\t// `(?!-)` is to prevent matching `LSHandlerRoleAll = \"-\";`.\n\tconst match = /LSHandlerRoleAll = \"(?!-)(?<id>[^\"]+?)\";\\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout);\n\n\treturn match?.groups.id ?? 'com.apple.Safari';\n}\n", "import {runAppleScript} from 'run-applescript';\n\nexport default async function bundleName(bundleId) {\n\treturn runAppleScript(`tell application \"Finder\" to set app_path to application file id \"${bundleId}\" as string\\ntell application \"System Events\" to get value of property list item \"CFBundleName\" of property list file (app_path & \":Contents:Info.plist\")`);\n}\n", "import process from 'node:process';\nimport {promisify} from 'node:util';\nimport {execFile, execFileSync} from 'node:child_process';\n\nconst execFileAsync = promisify(execFile);\n\nexport async function runAppleScript(script, {humanReadableOutput = true} = {}) {\n\tif (process.platform !== 'darwin') {\n\t\tthrow new Error('macOS only');\n\t}\n\n\tconst outputArguments = humanReadableOutput ? [] : ['-ss'];\n\n\tconst {stdout} = await execFileAsync('osascript', ['-e', script, outputArguments]);\n\treturn stdout.trim();\n}\n\nexport function runAppleScriptSync(script, {humanReadableOutput = true} = {}) {\n\tif (process.platform !== 'darwin') {\n\t\tthrow new Error('macOS only');\n\t}\n\n\tconst outputArguments = humanReadableOutput ? [] : ['-ss'];\n\n\tconst stdout = execFileSync('osascript', ['-e', script, ...outputArguments], {\n\t\tencoding: 'utf8',\n\t\tstdio: ['ignore', 'pipe', 'ignore'],\n\t\ttimeout: 500,\n\t});\n\n\treturn stdout.trim();\n}\n", "import {promisify} from 'node:util';\nimport {execFile} from 'node:child_process';\n\nconst execFileAsync = promisify(execFile);\n\n// Windows doesn't have browser IDs in the same way macOS/Linux does so we give fake\n// ones that look real and match the macOS/Linux versions for cross-platform apps.\nconst windowsBrowserProgIds = {\n\tAppXq0fevzme2pys62n3e0fbqa7peapykr8v: {name: 'Edge', id: 'com.microsoft.edge.old'},\n\tMSEdgeDHTML: {name: 'Edge', id: 'com.microsoft.edge'}, // On macOS, it's \"com.microsoft.edgemac\"\n\tMSEdgeHTM: {name: 'Edge', id: 'com.microsoft.edge'}, // Newer Edge/Win10 releases\n\t'IE.HTTP': {name: 'Internet Explorer', id: 'com.microsoft.ie'},\n\tFirefoxURL: {name: 'Firefox', id: 'org.mozilla.firefox'},\n\tChromeHTML: {name: 'Chrome', id: 'com.google.chrome'},\n\tBraveHTML: {name: 'Brave', id: 'com.brave.Browser'},\n\tBraveBHTML: {name: 'Brave Beta', id: 'com.brave.Browser.beta'},\n\tBraveSSHTM: {name: 'Brave Nightly', id: 'com.brave.Browser.nightly'},\n};\n\nexport class UnknownBrowserError extends Error {}\n\nexport default async function defaultBrowser(_execFileAsync = execFileAsync) {\n\tconst {stdout} = await _execFileAsync('reg', [\n\t\t'QUERY',\n\t\t' HKEY_CURRENT_USER\\\\Software\\\\Microsoft\\\\Windows\\\\Shell\\\\Associations\\\\UrlAssociations\\\\http\\\\UserChoice',\n\t\t'/v',\n\t\t'ProgId',\n\t]);\n\n\tconst match = /ProgId\\s*REG_SZ\\s*(?<id>\\S+)/.exec(stdout);\n\tif (!match) {\n\t\tthrow new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout)}`);\n\t}\n\n\tconst {id} = match.groups;\n\n\tconst browser = windowsBrowserProgIds[id];\n\tif (!browser) {\n\t\tthrow new UnknownBrowserError(`Unknown browser ID: ${id}`);\n\t}\n\n\treturn browser;\n}\n", "import assert from \"node:assert\";\nimport { z } from \"zod\";\nimport { login } from \"../../commands/login.js\";\nimport type { Command } from \"../command/command.js\";\nimport type { Context } from \"../command/context.js\";\nimport { config } from \"../config/config.js\";\nimport { maybeLoadAuthHeaders, swallowUnauthorized } from \"../http/auth.js\";\nimport { http } from \"../http/http.js\";\nimport { confirm } from \"../output/confirm.js\";\nimport { println } from \"../output/print.js\";\nimport { setSentryUser } from \"../output/sentry.js\";\n\nconst User = z.object({\n id: z.union([z.string(), z.number()]).transform(Number),\n name: z.string().nullish(),\n email: z.string(),\n});\n\nexport type User = z.infer<typeof User>;\n\n/**\n * Retrieves the currently logged in user from Gadgets API.\n *\n * @returns A Promise that resolves to a User object representing the\n * current user, or undefined if the user is not authenticated.\n */\nexport const getUser = async (ctx: Context): Promise<User | undefined> => {\n const headers = maybeLoadAuthHeaders(ctx);\n if (!headers) {\n return undefined;\n }\n\n try {\n const json = await http({\n context: { ctx },\n url: `https://${config.domains.services}/auth/api/current-user`,\n headers,\n responseType: \"json\",\n resolveBodyOnly: true,\n });\n\n const user = User.parse(json);\n ctx.log.info(\"loaded user\", { user: { id: user.id } }, { user });\n\n setSentryUser(user);\n\n return user;\n } catch (error) {\n swallowUnauthorized(ctx, error);\n return undefined;\n }\n};\n\n/**\n * Retrieves the current user or prompts the user to log in if not\n * already logged in.\n *\n * @param ctx - The current context.\n * @returns A Promise that resolves to the current user.\n */\nexport const getUserOrLogin = async (ctx: Context, command: Command): Promise<User> => {\n let user = await getUser(ctx);\n if (user) {\n return user;\n }\n\n ctx.log.info(\"prompting user to log in\");\n println({\n ensureEmptyLineAbove: true,\n content: `You must be logged in to use \"ggt ${command}\".`,\n });\n\n await confirm({ ensureEmptyLineAbove: true, content: \"Would you like to log in?\" });\n await login(ctx, { _: [] });\n\n user = await getUser(ctx);\n assert(user, \"missing user after successful login\");\n\n return user;\n};\n", "import chalk from \"chalk\";\nimport process from \"node:process\";\nimport type { Promisable } from \"type-fest\";\nimport { defaults } from \"../util/object.js\";\nimport type { PartialExcept } from \"../util/types.js\";\nimport { output } from \"./output.js\";\nimport { println, type PrintOptions } from \"./print.js\";\nimport { Prompt, type StdinKey } from \"./prompt.js\";\nimport { sprintln } from \"./sprint.js\";\n\nexport type ConfirmOptions = PrintOptions & {\n /**\n * If `true`, ggt will exit if the user selects \"No\".\n *\n * @default true\n */\n exitWhenNo?: boolean;\n\n /**\n * What to do if ggt is not running in an interactive terminal.\n *\n * @default ```\n * println(options)(text);\n * println({ ensureEmptyLineAbove: true })`\n * Aborting because ggt is not running in an interactive terminal.\n * `;\n * process.exit(1);\n * ```\n */\n whenNotInteractive?: () => Promisable<void>;\n};\n\nexport type confirm = typeof confirm;\n\nexport const confirm = (contentOrOptions: string | ConfirmOptions): Promise<void> => {\n let options: ConfirmOptions;\n if (typeof contentOrOptions === \"string\") {\n options = { content: contentOrOptions };\n } else {\n options = contentOrOptions;\n }\n\n options = defaults(options, {\n ensureEmptyLineAbove: true,\n ensureNewLine: true,\n exitWhenNo: true,\n });\n\n if (!output.isInteractive) {\n const whenNotInteractive =\n options.whenNotInteractive ??\n (() => {\n println(options);\n println({ ensureEmptyLineAbove: true, content: \"Aborting because ggt is not running in an interactive terminal.\" });\n process.exit(1);\n });\n\n return Promise.resolve(whenNotInteractive());\n }\n\n return new Promise((resolve) => {\n const conf = new Confirm(options);\n conf.on(\"submit\", resolve);\n conf.on(\"exit\", () => process.exit(0));\n conf.on(\"abort\", () => process.exit(1));\n });\n};\n\n/**\n * Inspired by `prompts`:\n * https://github.com/terkelg/prompts/blob/e0519913ec4fcc6746bb3d97d8cd0960c3f3ffde/lib/elements/confirm.js\n *\n * MIT License\n *\n * Copyright (c) 2018 Terkel Gjervig Nielsen\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport class Confirm extends Prompt {\n override value: boolean | undefined = undefined;\n defaultValue = false;\n options;\n\n constructor(options: PartialExcept<ConfirmOptions, \"content\">) {\n super();\n\n this.options = defaults(options, {\n exitWhenNo: true,\n ensureEmptyLineAbove: true,\n });\n\n this.render();\n }\n\n reset(): void {\n this.value = this.defaultValue;\n this.fire();\n this.render();\n }\n\n exit(): void {\n this.abort();\n }\n\n abort(): void {\n this.value = false;\n this.done = this.aborted = true;\n this.fire();\n this.render(false);\n this.close();\n\n if (this.options.exitWhenNo) {\n process.exit(0);\n }\n }\n\n submit(): void {\n this.value = this.value ?? false;\n this.done = true;\n this.aborted = false;\n this.fire();\n this.render();\n this.close();\n\n if (this.options.exitWhenNo && !this.value) {\n process.exit(0);\n }\n }\n\n override _(char: string, _key: StdinKey): void {\n if (char.toLowerCase() === \"y\") {\n this.value = true;\n this.submit();\n return;\n }\n\n if (char.toLowerCase() === \"n\") {\n this.value = false;\n this.submit();\n return;\n }\n\n this.bell();\n }\n\n override render(value = this.value): void {\n super.render();\n\n if (this.done) {\n output.persistPrompt(\n sprintln({\n ...this.options,\n content: `${this.options.content} ${value ? chalk.bold.greenBright(\"Yes.\") : chalk.bold.redBright(\"No.\")}`,\n }),\n );\n return;\n }\n\n output.updatePrompt(\n sprintln({\n ...this.options,\n content: `${this.options.content} ${this.defaultValue ? chalk.blueBright(\"[Y/n] \") : chalk.blueBright(\"[y/N] \")}`,\n }),\n );\n }\n}\n", "import ansiEscapes from \"ansi-escapes\";\nimport assert from \"node:assert\";\nimport EventEmitter from \"node:events\";\nimport process from \"node:process\";\nimport readline from \"node:readline\";\nimport { output } from \"./output.js\";\n\n/**\n * Inspired by `prompts`:\n * https://github.com/terkelg/prompts/blob/e0519913ec4fcc6746bb3d97d8cd0960c3f3ffde/lib/elements/prompt.js\n *\n * MIT License\n *\n * Copyright (c) 2018 Terkel Gjervig Nielsen\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport class Prompt extends EventEmitter {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [action: string]: any; // (key: StdinKey) => void;\n\n static active = false;\n\n // state\n value: unknown = undefined;\n firstRender = true;\n done = false;\n closed = false;\n aborted = false;\n exited = false;\n\n // methods that rely on constructor closure\n close: () => void;\n\n constructor() {\n super();\n assert(!Prompt.active, \"only one prompt can be active at a time\");\n Prompt.active = true;\n\n const rl = readline.createInterface({ input: process.stdin, escapeCodeTimeout: 50 });\n readline.emitKeypressEvents(process.stdin, rl);\n\n if (process.stdin.isTTY) {\n process.stdin.setRawMode(true);\n }\n\n const isSelect = [\"SelectPrompt\"].includes(this.constructor.name);\n const keypress = (str: string, key: StdinKey): void => {\n const action = getPromptAction(key, isSelect);\n if (action === false) {\n this._(str, key);\n } else if (action && typeof this[action] === \"function\") {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n this[action](key);\n } else {\n this.bell();\n }\n };\n\n this.close = () => {\n process.stdin.removeListener(\"keypress\", keypress);\n if (process.stdin.isTTY) {\n process.stdin.setRawMode(false);\n }\n\n rl.close();\n this.emit(this.aborted ? \"abort\" : this.exited ? \"exit\" : \"submit\", this.value);\n this.closed = true;\n Prompt.active = false;\n };\n\n process.stdin.on(\"keypress\", keypress);\n }\n\n _(_str: string, _key: StdinKey): void {\n // noop\n }\n\n onRender(): void {\n // noop\n }\n\n fire(): void {\n this.emit(\"state\", {\n value: this.value,\n aborted: this.aborted,\n exited: this.exited,\n });\n }\n\n bell(): void {\n output.writeStdout(ansiEscapes.beep);\n }\n\n render(): void {\n this.onRender();\n if (this.firstRender) {\n this.firstRender = false;\n }\n }\n}\n\nexport type PromptAction =\n | \"abort\"\n | \"exit\"\n | \"submit\"\n | \"next\"\n | \"nextPage\"\n | \"prevPage\"\n | \"home\"\n | \"end\"\n | \"up\"\n | \"down\"\n | \"right\"\n | \"left\"\n | \"reset\"\n | \"delete\"\n | \"deleteForward\"\n | \"first\"\n | \"last\";\n\nexport type StdinKey = {\n name: string;\n ctrl: boolean;\n meta: boolean;\n};\n\nconst getPromptAction = (key: StdinKey, isSelect: boolean): PromptAction | false | undefined => {\n if (key.meta && key.name !== \"escape\") {\n return;\n }\n\n if (key.ctrl) {\n switch (key.name) {\n case \"a\":\n return \"first\";\n case \"c\":\n case \"d\":\n return \"abort\";\n case \"e\":\n return \"last\";\n case \"g\":\n return \"reset\";\n }\n }\n\n if (isSelect) {\n if (key.name === \"j\") {\n return \"down\";\n }\n if (key.name === \"k\") {\n return \"up\";\n }\n }\n\n switch (key.name) {\n case \"return\":\n case \"enter\":\n return \"submit\";\n case \"backspace\":\n return \"delete\";\n case \"delete\":\n return \"deleteForward\";\n case \"abort\":\n return \"abort\";\n case \"escape\":\n return \"exit\";\n case \"tab\":\n return \"next\";\n case \"pagedown\":\n return \"nextPage\";\n case \"pageup\":\n return \"prevPage\";\n case \"home\":\n return \"home\";\n case \"end\":\n return \"end\";\n case \"up\":\n return \"up\";\n case \"down\":\n return \"down\";\n case \"right\":\n return \"right\";\n case \"left\":\n return \"left\";\n default:\n return false;\n }\n};\n\n/**\n * Determine what entries should be displayed on the screen, based on the\n * currently selected index and the maximum visible. Used in list-based\n * prompts like `select` and `multiselect`.\n *\n * @param cursor - the currently selected entry\n * @param total - the total entries available to display\n * @param [maxVisible] - the number of entries that can be displayed\n */\nexport const entriesToDisplay = (cursor: number, total: number, maxVisible: number): { startIndex: number; endIndex: number } => {\n maxVisible = maxVisible || total;\n\n let startIndex = Math.min(total - maxVisible, cursor - Math.floor(maxVisible / 2));\n if (startIndex < 0) {\n startIndex = 0;\n }\n\n const endIndex = Math.min(startIndex + maxVisible, total);\n\n return { startIndex, endIndex };\n};\n", "export * from './base.js';\nexport * as default from './base.js';\n", "import process from 'node:process';\nimport {isBrowser} from 'environment';\n\nconst ESC = '\\u001B[';\nconst OSC = '\\u001B]';\nconst BEL = '\\u0007';\nconst SEP = ';';\n\nconst isTerminalApp = !isBrowser && process.env.TERM_PROGRAM === 'Apple_Terminal';\nconst isWindows = !isBrowser && process.platform === 'win32';\n\nconst cwdFunction = isBrowser ? () => {\n\tthrow new Error('`process.cwd()` only works in Node.js, not the browser.');\n} : process.cwd;\n\nexport const cursorTo = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tif (typeof y !== 'number') {\n\t\treturn ESC + (x + 1) + 'G';\n\t}\n\n\treturn ESC + (y + 1) + SEP + (x + 1) + 'H';\n};\n\nexport const cursorMove = (x, y) => {\n\tif (typeof x !== 'number') {\n\t\tthrow new TypeError('The `x` argument is required');\n\t}\n\n\tlet returnValue = '';\n\n\tif (x < 0) {\n\t\treturnValue += ESC + (-x) + 'D';\n\t} else if (x > 0) {\n\t\treturnValue += ESC + x + 'C';\n\t}\n\n\tif (y < 0) {\n\t\treturnValue += ESC + (-y) + 'A';\n\t} else if (y > 0) {\n\t\treturnValue += ESC + y + 'B';\n\t}\n\n\treturn returnValue;\n};\n\nexport const cursorUp = (count = 1) => ESC + count + 'A';\nexport const cursorDown = (count = 1) => ESC + count + 'B';\nexport const cursorForward = (count = 1) => ESC + count + 'C';\nexport const cursorBackward = (count = 1) => ESC + count + 'D';\n\nexport const cursorLeft = ESC + 'G';\nexport const cursorSavePosition = isTerminalApp ? '\\u001B7' : ESC + 's';\nexport const cursorRestorePosition = isTerminalApp ? '\\u001B8' : ESC + 'u';\nexport const cursorGetPosition = ESC + '6n';\nexport const cursorNextLine = ESC + 'E';\nexport const cursorPrevLine = ESC + 'F';\nexport const cursorHide = ESC + '?25l';\nexport const cursorShow = ESC + '?25h';\n\nexport const eraseLines = count => {\n\tlet clear = '';\n\n\tfor (let i = 0; i < count; i++) {\n\t\tclear += eraseLine + (i < count - 1 ? cursorUp() : '');\n\t}\n\n\tif (count) {\n\t\tclear += cursorLeft;\n\t}\n\n\treturn clear;\n};\n\nexport const eraseEndLine = ESC + 'K';\nexport const eraseStartLine = ESC + '1K';\nexport const eraseLine = ESC + '2K';\nexport const eraseDown = ESC + 'J';\nexport const eraseUp = ESC + '1J';\nexport const eraseScreen = ESC + '2J';\nexport const scrollUp = ESC + 'S';\nexport const scrollDown = ESC + 'T';\n\nexport const clearScreen = '\\u001Bc';\n\nexport const clearTerminal = isWindows\n\t? `${eraseScreen}${ESC}0f`\n\t// 1. Erases the screen (Only done in case `2` is not supported)\n\t// 2. Erases the whole screen including scrollback buffer\n\t// 3. Moves cursor to the top-left position\n\t// More info: https://www.real-world-systems.com/docs/ANSIcode.html\n\t:\t`${eraseScreen}${ESC}3J${ESC}H`;\n\nexport const enterAlternativeScreen = ESC + '?1049h';\nexport const exitAlternativeScreen = ESC + '?1049l';\n\nexport const beep = BEL;\n\nexport const link = (text, url) => [\n\tOSC,\n\t'8',\n\tSEP,\n\tSEP,\n\turl,\n\tBEL,\n\ttext,\n\tOSC,\n\t'8',\n\tSEP,\n\tSEP,\n\tBEL,\n].join('');\n\nexport const image = (data, options = {}) => {\n\tlet returnValue = `${OSC}1337;File=inline=1`;\n\n\tif (options.width) {\n\t\treturnValue += `;width=${options.width}`;\n\t}\n\n\tif (options.height) {\n\t\treturnValue += `;height=${options.height}`;\n\t}\n\n\tif (options.preserveAspectRatio === false) {\n\t\treturnValue += ';preserveAspectRatio=0';\n\t}\n\n\treturn returnValue + ':' + Buffer.from(data).toString('base64') + BEL;\n};\n\nexport const iTerm = {\n\tsetCwd: (cwd = cwdFunction()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,\n\n\tannotation(message, options = {}) {\n\t\tlet returnValue = `${OSC}1337;`;\n\n\t\tconst hasX = options.x !== undefined;\n\t\tconst hasY = options.y !== undefined;\n\t\tif ((hasX || hasY) && !(hasX && hasY && options.length !== undefined)) {\n\t\t\tthrow new Error('`x`, `y` and `length` must be defined when `x` or `y` is defined');\n\t\t}\n\n\t\tmessage = message.replaceAll('|', '');\n\n\t\treturnValue += options.isHidden ? 'AddHiddenAnnotation=' : 'AddAnnotation=';\n\n\t\tif (options.length > 0) {\n\t\t\treturnValue += (\n\t\t\t\thasX\n\t\t\t\t\t? [message, options.length, options.x, options.y]\n\t\t\t\t\t: [options.length, message]\n\t\t\t).join('|');\n\t\t} else {\n\t\t\treturnValue += message;\n\t\t}\n\n\t\treturn returnValue + BEL;\n\t},\n};\n", "/* globals WorkerGlobalScope, DedicatedWorkerGlobalScope, SharedWorkerGlobalScope, ServiceWorkerGlobalScope */\n\nexport const isBrowser = globalThis.window?.document !== undefined;\n\nexport const isNode = globalThis.process?.versions?.node !== undefined;\n\nexport const isBun = globalThis.process?.versions?.bun !== undefined;\n\nexport const isDeno = globalThis.Deno?.version?.deno !== undefined;\n\nexport const isElectron = globalThis.process?.versions?.electron !== undefined;\n\nexport const isJsDom = globalThis.navigator?.userAgent?.includes('jsdom') === true;\n\nexport const isWebWorker = typeof WorkerGlobalScope !== 'undefined' && globalThis instanceof WorkerGlobalScope;\n\nexport const isDedicatedWorker = typeof DedicatedWorkerGlobalScope !== 'undefined' && globalThis instanceof DedicatedWorkerGlobalScope;\n\nexport const isSharedWorker = typeof SharedWorkerGlobalScope !== 'undefined' && globalThis instanceof SharedWorkerGlobalScope;\n\nexport const isServiceWorker = typeof ServiceWorkerGlobalScope !== 'undefined' && globalThis instanceof ServiceWorkerGlobalScope;\n\n// Note: I'm intentionally not DRYing up the other variables to keep them \"lazy\".\nconst platform = globalThis.navigator?.userAgentData?.platform;\n\nexport const isMacOs = platform === 'macOS'\n\t|| globalThis.navigator?.platform === 'MacIntel' // Even on Apple silicon Macs.\n\t|| globalThis.navigator?.userAgent?.includes(' Mac ') === true\n\t|| globalThis.process?.platform === 'darwin';\n\nexport const isWindows = platform === 'Windows'\n\t|| globalThis.navigator?.platform === 'Win32'\n\t|| globalThis.process?.platform === 'win32';\n\nexport const isLinux = platform === 'Linux'\n\t|| globalThis.navigator?.platform?.startsWith('Linux') === true\n\t|| globalThis.navigator?.userAgent?.includes(' Linux ') === true\n\t|| globalThis.process?.platform === 'linux';\n\nexport const isIos = platform === 'iOS'\n\t|| (globalThis.navigator?.platform === 'MacIntel' && globalThis.navigator?.maxTouchPoints > 1)\n\t|| /iPad|iPhone|iPod/.test(globalThis.navigator?.platform);\n\nexport const isAndroid = platform === 'Android'\n\t|| globalThis.navigator?.platform === 'Android'\n\t|| globalThis.navigator?.userAgent?.includes(' Android ') === true\n\t|| globalThis.process?.platform === 'android';\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["init_cjs", "init_cjs", "net", "os", "Locked", "__name", "port", "lockedPorts", "releaseOldLockedPortsIntervalMs", "timeout", "getLocalHosts", "__name", "interfaces", "os", "results", "_interface", "config", "checkAvailablePort", "options", "resolve", "reject", "server", "net", "port", "getAvailablePort", "hosts", "host", "error", "portCheckSequence", "ports", "getPorts", "exclude", "excludeIterable", "element", "lockedPorts", "releaseOldLockedPortsIntervalMs", "availablePort", "Locked", "assert", "http", "init_cjs", "process", "Buffer", "path", "fileURLToPath", "childProcess", "fs", "fsConstants", "init_cjs", "defineLazyProperty", "object", "propertyName", "valueGetter", "define", "__name", "value", "result", "init_cjs", "promisify", "process", "execFile", "init_cjs", "promisify", "process", "execFile", "execFileAsync", "promisify", "execFile", "defaultBrowserId", "process", "stdout", "__name", "init_cjs", "init_cjs", "process", "promisify", "execFile", "execFileSync", "execFileAsync", "promisify", "execFile", "runAppleScript", "script", "humanReadableOutput", "process", "outputArguments", "stdout", "__name", "bundleName", "bundleId", "runAppleScript", "__name", "init_cjs", "promisify", "execFile", "execFileAsync", "promisify", "execFile", "windowsBrowserProgIds", "UnknownBrowserError", "__name", "defaultBrowser", "_execFileAsync", "stdout", "match", "id", "browser", "execFileAsync", "promisify", "execFile", "titleize", "__name", "string", "x", "defaultBrowser", "process", "id", "defaultBrowserId", "bundleName", "stdout", "__dirname", "path", "fileURLToPath", "localXdgOpenPath", "platform", "arch", "process", "getWslDrivesMountPoint", "defaultMountPoint", "mountPoint", "configFilePath", "isConfigFileExists", "fs", "fsConstants", "configContent", "configMountPoint", "pTryEach", "__name", "array", "mapper", "latestError", "item", "error", "baseOpen", "options", "singleApp", "app", "appArguments", "appName", "ids", "flags", "browser", "defaultBrowser", "browserName", "apps", "command", "cliArguments", "childProcessOptions", "is_wsl_default", "isInsideContainer", "encodedArguments", "argument", "Buffer", "isBundled", "exeLocalXdgOpen", "subprocess", "childProcess", "resolve", "reject", "exitCode", "open", "target", "detectArchBinary", "binary", "arch", "archBinary", "__name", "detectPlatformBinary", "platform", "platformBinary", "wsl", "is_wsl_default", "apps", "defineLazyProperty", "open_default", "open", "init_cjs", "assert", "init_cjs", "process", "init_cjs", "init_cjs", "base_exports", "__export", "beep", "clearScreen", "clearTerminal", "cursorBackward", "cursorDown", "cursorForward", "cursorGetPosition", "cursorHide", "cursorLeft", "cursorMove", "cursorNextLine", "cursorPrevLine", "cursorRestorePosition", "cursorSavePosition", "cursorShow", "cursorTo", "cursorUp", "enterAlternativeScreen", "eraseDown", "eraseEndLine", "eraseLine", "eraseLines", "eraseScreen", "eraseStartLine", "eraseUp", "exitAlternativeScreen", "iTerm", "image", "link", "scrollDown", "scrollUp", "init_cjs", "process", "init_cjs", "isBrowser", "isNode", "isBun", "isDeno", "isElectron", "isJsDom", "isWebWorker", "isDedicatedWorker", "isSharedWorker", "isServiceWorker", "platform", "isMacOs", "isWindows", "isLinux", "isIos", "isAndroid", "ESC", "OSC", "BEL", "SEP", "isTerminalApp", "isBrowser", "process", "isWindows", "cwdFunction", "cursorTo", "__name", "x", "y", "cursorMove", "returnValue", "cursorUp", "count", "cursorDown", "cursorForward", "cursorBackward", "cursorLeft", "cursorSavePosition", "cursorRestorePosition", "cursorGetPosition", "cursorNextLine", "cursorPrevLine", "cursorHide", "cursorShow", "eraseLines", "clear", "i", "eraseLine", "eraseEndLine", "eraseStartLine", "eraseDown", "eraseUp", "eraseScreen", "scrollUp", "scrollDown", "clearScreen", "clearTerminal", "enterAlternativeScreen", "exitAlternativeScreen", "beep", "link", "text", "url", "image", "data", "options", "iTerm", "cwd", "message", "hasX", "hasY", "assert", "EventEmitter", "process", "readline", "Prompt", "_Prompt", "EventEmitter", "__name", "assert", "rl", "readline", "process", "isSelect", "keypress", "str", "key", "action", "getPromptAction", "_str", "_key", "output", "base_exports", "entriesToDisplay", "cursor", "total", "maxVisible", "startIndex", "endIndex", "confirm", "__name", "contentOrOptions", "options", "defaults", "output", "whenNotInteractive", "println", "process", "resolve", "conf", "Confirm", "Prompt", "char", "_key", "value", "sprintln", "source_default", "User", "z", "getUser", "__name", "ctx", "headers", "maybeLoadAuthHeaders", "json", "http", "config", "user", "setSentryUser", "error", "swallowUnauthorized", "getUserOrLogin", "command", "println", "confirm", "login", "assert", "usage", "__name", "sprint", "run", "ctx", "server", "port", "getPorts", "receiveSession", "resolve", "reject", "http", "req", "res", "landingPage", "config", "assert", "session", "writeSession", "user", "getUser", "println", "error", "url", "open_default", "login"]
|
|
7
|
-
}
|