{"version":3,"file":"index.cjs","names":["child_process","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","execSync","stdio","install","script","encoding","console","error","toString","process","exit","bunSafe","args","options","Array","isArray","join","length","Error","defaults"],"sources":["../src/index.ts"],"sourcesContent":["/// <reference types=\"bun-types\" />\n\nimport * as child_process from 'child_process';\n\nconst has = () => {\n  try {\n    child_process.execSync('bun --version', { stdio: 'ignore' });\n    return true;\n  } catch (e) {\n    return false;\n  }\n};\n\nconst install = () => {\n  try {\n    const script = child_process.execSync('curl https://bun.sh/install', {\n      encoding: 'utf8',\n    });\n\n    child_process.execSync(script, {\n      stdio: 'inherit',\n    });\n  } catch (e: any) {\n    console.error(`\\n> failed to install bun.js:\\n${e.toString()}`);\n    process.exit(1);\n  }\n};\n\nexport type BunSafeOptions = {\n  encoding?: 'utf8' | 'buffer';\n  stdio?: 'overlapped' | 'pipe' | 'ignore' | 'inherit';\n};\n\nexport function bunSafe<Options extends BunSafeOptions>(\n  args: string[] | string,\n  options?: Options,\n) {\n  const script = Array.isArray(args) ? args.join(' ') : args;\n\n  if (!script?.length) {\n    throw new Error('Received empty arguments');\n  }\n\n  if (!has()) install();\n\n  const defaults: any = {\n    encoding: 'utf8',\n    stdio: options?.encoding ? 'ignore' : 'inherit',\n  };\n\n  // @ts-ignore\n  options = { ...defaults, ...options };\n\n  return child_process.execSync(`bun ${script}`, options);\n}\n"],"mappings":"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","ignoreList":[]}