@take-out/cli 0.0.39

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.
Files changed (331) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +274 -0
  3. package/cli.mjs +3 -0
  4. package/dist/cjs/cli.cjs +71 -0
  5. package/dist/cjs/cli.js +70 -0
  6. package/dist/cjs/cli.js.map +6 -0
  7. package/dist/cjs/cli.native.js +79 -0
  8. package/dist/cjs/cli.native.js.map +6 -0
  9. package/dist/cjs/commands/changed.cjs +212 -0
  10. package/dist/cjs/commands/changed.js +214 -0
  11. package/dist/cjs/commands/changed.js.map +6 -0
  12. package/dist/cjs/commands/changed.native.js +289 -0
  13. package/dist/cjs/commands/changed.native.js.map +6 -0
  14. package/dist/cjs/commands/docs.cjs +388 -0
  15. package/dist/cjs/commands/docs.js +313 -0
  16. package/dist/cjs/commands/docs.js.map +6 -0
  17. package/dist/cjs/commands/docs.native.js +476 -0
  18. package/dist/cjs/commands/docs.native.js.map +6 -0
  19. package/dist/cjs/commands/env-setup.cjs +90 -0
  20. package/dist/cjs/commands/env-setup.js +78 -0
  21. package/dist/cjs/commands/env-setup.js.map +6 -0
  22. package/dist/cjs/commands/env-setup.native.js +85 -0
  23. package/dist/cjs/commands/env-setup.native.js.map +6 -0
  24. package/dist/cjs/commands/onboard.cjs +479 -0
  25. package/dist/cjs/commands/onboard.js +631 -0
  26. package/dist/cjs/commands/onboard.js.map +6 -0
  27. package/dist/cjs/commands/onboard.native.js +608 -0
  28. package/dist/cjs/commands/onboard.native.js.map +6 -0
  29. package/dist/cjs/commands/run.cjs +148 -0
  30. package/dist/cjs/commands/run.js +116 -0
  31. package/dist/cjs/commands/run.js.map +6 -0
  32. package/dist/cjs/commands/run.native.js +140 -0
  33. package/dist/cjs/commands/run.native.js.map +6 -0
  34. package/dist/cjs/commands/script.cjs +379 -0
  35. package/dist/cjs/commands/script.js +339 -0
  36. package/dist/cjs/commands/script.js.map +6 -0
  37. package/dist/cjs/commands/script.native.js +449 -0
  38. package/dist/cjs/commands/script.native.js.map +6 -0
  39. package/dist/cjs/commands/sync.cjs +190 -0
  40. package/dist/cjs/commands/sync.js +168 -0
  41. package/dist/cjs/commands/sync.js.map +6 -0
  42. package/dist/cjs/commands/sync.native.js +211 -0
  43. package/dist/cjs/commands/sync.native.js.map +6 -0
  44. package/dist/cjs/constants/ascii.cjs +36 -0
  45. package/dist/cjs/constants/ascii.js +30 -0
  46. package/dist/cjs/constants/ascii.js.map +6 -0
  47. package/dist/cjs/constants/ascii.native.js +36 -0
  48. package/dist/cjs/constants/ascii.native.js.map +6 -0
  49. package/dist/cjs/index.cjs +64 -0
  50. package/dist/cjs/index.js +55 -0
  51. package/dist/cjs/index.js.map +6 -0
  52. package/dist/cjs/index.native.js +94 -0
  53. package/dist/cjs/index.native.js.map +6 -0
  54. package/dist/cjs/types.cjs +16 -0
  55. package/dist/cjs/types.js +14 -0
  56. package/dist/cjs/types.js.map +6 -0
  57. package/dist/cjs/types.native.js +15 -0
  58. package/dist/cjs/types.native.js.map +6 -0
  59. package/dist/cjs/utils/env-categories.cjs +272 -0
  60. package/dist/cjs/utils/env-categories.js +296 -0
  61. package/dist/cjs/utils/env-categories.js.map +6 -0
  62. package/dist/cjs/utils/env-categories.native.js +317 -0
  63. package/dist/cjs/utils/env-categories.native.js.map +6 -0
  64. package/dist/cjs/utils/env-setup.cjs +181 -0
  65. package/dist/cjs/utils/env-setup.js +190 -0
  66. package/dist/cjs/utils/env-setup.js.map +6 -0
  67. package/dist/cjs/utils/env-setup.native.js +264 -0
  68. package/dist/cjs/utils/env-setup.native.js.map +6 -0
  69. package/dist/cjs/utils/env.cjs +118 -0
  70. package/dist/cjs/utils/env.js +97 -0
  71. package/dist/cjs/utils/env.js.map +6 -0
  72. package/dist/cjs/utils/env.native.js +128 -0
  73. package/dist/cjs/utils/env.native.js.map +6 -0
  74. package/dist/cjs/utils/files.cjs +215 -0
  75. package/dist/cjs/utils/files.js +164 -0
  76. package/dist/cjs/utils/files.js.map +6 -0
  77. package/dist/cjs/utils/files.native.js +266 -0
  78. package/dist/cjs/utils/files.native.js.map +6 -0
  79. package/dist/cjs/utils/parallel-runner.cjs +99 -0
  80. package/dist/cjs/utils/parallel-runner.js +84 -0
  81. package/dist/cjs/utils/parallel-runner.js.map +6 -0
  82. package/dist/cjs/utils/parallel-runner.native.js +123 -0
  83. package/dist/cjs/utils/parallel-runner.native.js.map +6 -0
  84. package/dist/cjs/utils/ports.cjs +101 -0
  85. package/dist/cjs/utils/ports.js +81 -0
  86. package/dist/cjs/utils/ports.js.map +6 -0
  87. package/dist/cjs/utils/ports.native.js +130 -0
  88. package/dist/cjs/utils/ports.native.js.map +6 -0
  89. package/dist/cjs/utils/prerequisites.cjs +119 -0
  90. package/dist/cjs/utils/prerequisites.js +107 -0
  91. package/dist/cjs/utils/prerequisites.js.map +6 -0
  92. package/dist/cjs/utils/prerequisites.native.js +127 -0
  93. package/dist/cjs/utils/prerequisites.native.js.map +6 -0
  94. package/dist/cjs/utils/prompts.cjs +161 -0
  95. package/dist/cjs/utils/prompts.js +162 -0
  96. package/dist/cjs/utils/prompts.js.map +6 -0
  97. package/dist/cjs/utils/prompts.native.js +179 -0
  98. package/dist/cjs/utils/prompts.native.js.map +6 -0
  99. package/dist/cjs/utils/script-listing.cjs +113 -0
  100. package/dist/cjs/utils/script-listing.js +108 -0
  101. package/dist/cjs/utils/script-listing.js.map +6 -0
  102. package/dist/cjs/utils/script-listing.native.js +174 -0
  103. package/dist/cjs/utils/script-listing.native.js.map +6 -0
  104. package/dist/cjs/utils/sync.cjs +85 -0
  105. package/dist/cjs/utils/sync.js +70 -0
  106. package/dist/cjs/utils/sync.js.map +6 -0
  107. package/dist/cjs/utils/sync.native.js +84 -0
  108. package/dist/cjs/utils/sync.native.js.map +6 -0
  109. package/dist/cjs/utils/welcome.cjs +50 -0
  110. package/dist/cjs/utils/welcome.js +42 -0
  111. package/dist/cjs/utils/welcome.js.map +6 -0
  112. package/dist/cjs/utils/welcome.native.js +47 -0
  113. package/dist/cjs/utils/welcome.native.js.map +6 -0
  114. package/dist/esm/cli.js +79 -0
  115. package/dist/esm/cli.js.map +6 -0
  116. package/dist/esm/cli.mjs +71 -0
  117. package/dist/esm/cli.mjs.map +1 -0
  118. package/dist/esm/cli.native.js +69 -0
  119. package/dist/esm/cli.native.js.map +1 -0
  120. package/dist/esm/commands/changed.js +194 -0
  121. package/dist/esm/commands/changed.js.map +6 -0
  122. package/dist/esm/commands/changed.mjs +178 -0
  123. package/dist/esm/commands/changed.mjs.map +1 -0
  124. package/dist/esm/commands/changed.native.js +273 -0
  125. package/dist/esm/commands/changed.native.js.map +1 -0
  126. package/dist/esm/commands/docs.js +306 -0
  127. package/dist/esm/commands/docs.js.map +6 -0
  128. package/dist/esm/commands/docs.mjs +353 -0
  129. package/dist/esm/commands/docs.mjs.map +1 -0
  130. package/dist/esm/commands/docs.native.js +516 -0
  131. package/dist/esm/commands/docs.native.js.map +1 -0
  132. package/dist/esm/commands/env-setup.js +56 -0
  133. package/dist/esm/commands/env-setup.js.map +6 -0
  134. package/dist/esm/commands/env-setup.mjs +56 -0
  135. package/dist/esm/commands/env-setup.mjs.map +1 -0
  136. package/dist/esm/commands/env-setup.native.js +59 -0
  137. package/dist/esm/commands/env-setup.native.js.map +1 -0
  138. package/dist/esm/commands/onboard.js +645 -0
  139. package/dist/esm/commands/onboard.js.map +6 -0
  140. package/dist/esm/commands/onboard.mjs +445 -0
  141. package/dist/esm/commands/onboard.mjs.map +1 -0
  142. package/dist/esm/commands/onboard.native.js +584 -0
  143. package/dist/esm/commands/onboard.native.js.map +1 -0
  144. package/dist/esm/commands/run.js +95 -0
  145. package/dist/esm/commands/run.js.map +6 -0
  146. package/dist/esm/commands/run.mjs +114 -0
  147. package/dist/esm/commands/run.mjs.map +1 -0
  148. package/dist/esm/commands/run.native.js +133 -0
  149. package/dist/esm/commands/run.native.js.map +1 -0
  150. package/dist/esm/commands/script.js +338 -0
  151. package/dist/esm/commands/script.js.map +6 -0
  152. package/dist/esm/commands/script.mjs +336 -0
  153. package/dist/esm/commands/script.mjs.map +1 -0
  154. package/dist/esm/commands/script.native.js +445 -0
  155. package/dist/esm/commands/script.native.js.map +1 -0
  156. package/dist/esm/commands/sync.js +158 -0
  157. package/dist/esm/commands/sync.js.map +6 -0
  158. package/dist/esm/commands/sync.mjs +155 -0
  159. package/dist/esm/commands/sync.mjs.map +1 -0
  160. package/dist/esm/commands/sync.native.js +173 -0
  161. package/dist/esm/commands/sync.native.js.map +1 -0
  162. package/dist/esm/constants/ascii.js +14 -0
  163. package/dist/esm/constants/ascii.js.map +6 -0
  164. package/dist/esm/constants/ascii.mjs +12 -0
  165. package/dist/esm/constants/ascii.mjs.map +1 -0
  166. package/dist/esm/constants/ascii.native.js +12 -0
  167. package/dist/esm/constants/ascii.native.js.map +1 -0
  168. package/dist/esm/index.js +83 -0
  169. package/dist/esm/index.js.map +6 -0
  170. package/dist/esm/index.mjs +7 -0
  171. package/dist/esm/index.mjs.map +1 -0
  172. package/dist/esm/index.native.js +7 -0
  173. package/dist/esm/index.native.js.map +1 -0
  174. package/dist/esm/types.js +1 -0
  175. package/dist/esm/types.js.map +6 -0
  176. package/dist/esm/types.mjs +2 -0
  177. package/dist/esm/types.mjs.map +1 -0
  178. package/dist/esm/types.native.js +2 -0
  179. package/dist/esm/types.native.js.map +1 -0
  180. package/dist/esm/utils/env-categories.js +272 -0
  181. package/dist/esm/utils/env-categories.js.map +6 -0
  182. package/dist/esm/utils/env-categories.mjs +233 -0
  183. package/dist/esm/utils/env-categories.mjs.map +1 -0
  184. package/dist/esm/utils/env-categories.native.js +246 -0
  185. package/dist/esm/utils/env-categories.native.js.map +1 -0
  186. package/dist/esm/utils/env-setup.js +173 -0
  187. package/dist/esm/utils/env-setup.js.map +6 -0
  188. package/dist/esm/utils/env-setup.mjs +146 -0
  189. package/dist/esm/utils/env-setup.mjs.map +1 -0
  190. package/dist/esm/utils/env-setup.native.js +243 -0
  191. package/dist/esm/utils/env-setup.native.js.map +1 -0
  192. package/dist/esm/utils/env.js +83 -0
  193. package/dist/esm/utils/env.js.map +6 -0
  194. package/dist/esm/utils/env.mjs +90 -0
  195. package/dist/esm/utils/env.mjs.map +1 -0
  196. package/dist/esm/utils/env.native.js +99 -0
  197. package/dist/esm/utils/env.native.js.map +1 -0
  198. package/dist/esm/utils/files.js +150 -0
  199. package/dist/esm/utils/files.js.map +6 -0
  200. package/dist/esm/utils/files.mjs +187 -0
  201. package/dist/esm/utils/files.mjs.map +1 -0
  202. package/dist/esm/utils/files.native.js +247 -0
  203. package/dist/esm/utils/files.native.js.map +1 -0
  204. package/dist/esm/utils/parallel-runner.js +69 -0
  205. package/dist/esm/utils/parallel-runner.js.map +6 -0
  206. package/dist/esm/utils/parallel-runner.mjs +76 -0
  207. package/dist/esm/utils/parallel-runner.mjs.map +1 -0
  208. package/dist/esm/utils/parallel-runner.native.js +109 -0
  209. package/dist/esm/utils/parallel-runner.native.js.map +1 -0
  210. package/dist/esm/utils/ports.js +65 -0
  211. package/dist/esm/utils/ports.js.map +6 -0
  212. package/dist/esm/utils/ports.mjs +74 -0
  213. package/dist/esm/utils/ports.mjs.map +1 -0
  214. package/dist/esm/utils/ports.native.js +93 -0
  215. package/dist/esm/utils/ports.native.js.map +1 -0
  216. package/dist/esm/utils/prerequisites.js +91 -0
  217. package/dist/esm/utils/prerequisites.js.map +6 -0
  218. package/dist/esm/utils/prerequisites.mjs +91 -0
  219. package/dist/esm/utils/prerequisites.mjs.map +1 -0
  220. package/dist/esm/utils/prerequisites.native.js +97 -0
  221. package/dist/esm/utils/prerequisites.native.js.map +1 -0
  222. package/dist/esm/utils/prompts.js +139 -0
  223. package/dist/esm/utils/prompts.js.map +6 -0
  224. package/dist/esm/utils/prompts.mjs +112 -0
  225. package/dist/esm/utils/prompts.mjs.map +1 -0
  226. package/dist/esm/utils/prompts.native.js +115 -0
  227. package/dist/esm/utils/prompts.native.js.map +1 -0
  228. package/dist/esm/utils/script-listing.js +91 -0
  229. package/dist/esm/utils/script-listing.js.map +6 -0
  230. package/dist/esm/utils/script-listing.mjs +76 -0
  231. package/dist/esm/utils/script-listing.mjs.map +1 -0
  232. package/dist/esm/utils/script-listing.native.js +151 -0
  233. package/dist/esm/utils/script-listing.native.js.map +1 -0
  234. package/dist/esm/utils/sync.js +50 -0
  235. package/dist/esm/utils/sync.js.map +6 -0
  236. package/dist/esm/utils/sync.mjs +48 -0
  237. package/dist/esm/utils/sync.mjs.map +1 -0
  238. package/dist/esm/utils/sync.native.js +53 -0
  239. package/dist/esm/utils/sync.native.js.map +1 -0
  240. package/dist/esm/utils/welcome.js +21 -0
  241. package/dist/esm/utils/welcome.js.map +6 -0
  242. package/dist/esm/utils/welcome.mjs +15 -0
  243. package/dist/esm/utils/welcome.mjs.map +1 -0
  244. package/dist/esm/utils/welcome.native.js +18 -0
  245. package/dist/esm/utils/welcome.native.js.map +1 -0
  246. package/docs/aggregates.md +579 -0
  247. package/docs/cloudflare-dev-tunnel.md +41 -0
  248. package/docs/database.md +203 -0
  249. package/docs/docs.md +8 -0
  250. package/docs/emitters.md +562 -0
  251. package/docs/hot-updater.md +223 -0
  252. package/docs/native-hot-update.md +252 -0
  253. package/docs/one-components.md +234 -0
  254. package/docs/one-hooks.md +570 -0
  255. package/docs/one-routes.md +660 -0
  256. package/docs/package-json.md +115 -0
  257. package/docs/react-native-navigation-flow.md +184 -0
  258. package/docs/scripts.md +147 -0
  259. package/docs/sync-prompt.md +208 -0
  260. package/docs/tamagui.md +478 -0
  261. package/docs/testing-integration.md +564 -0
  262. package/docs/triggers.md +450 -0
  263. package/docs/zero.md +719 -0
  264. package/package.json +76 -0
  265. package/scripts/seed.ts +209 -0
  266. package/src/cli.ts +147 -0
  267. package/src/commands/changed.ts +313 -0
  268. package/src/commands/docs.ts +582 -0
  269. package/src/commands/env-setup.ts +69 -0
  270. package/src/commands/onboard.ts +1391 -0
  271. package/src/commands/run.ts +173 -0
  272. package/src/commands/script.ts +587 -0
  273. package/src/commands/sync.ts +305 -0
  274. package/src/constants/ascii.ts +17 -0
  275. package/src/index.ts +63 -0
  276. package/src/types.ts +59 -0
  277. package/src/utils/env-categories.ts +245 -0
  278. package/src/utils/env-setup.ts +338 -0
  279. package/src/utils/env.ts +127 -0
  280. package/src/utils/files.ts +302 -0
  281. package/src/utils/parallel-runner.ts +129 -0
  282. package/src/utils/ports.ts +77 -0
  283. package/src/utils/prerequisites.ts +137 -0
  284. package/src/utils/prompts.ts +197 -0
  285. package/src/utils/script-listing.ts +214 -0
  286. package/src/utils/sync.ts +101 -0
  287. package/src/withOpSqliteStatic.cjs +51 -0
  288. package/types/cli.d.ts +7 -0
  289. package/types/cli.d.ts.map +1 -0
  290. package/types/commands/changed.d.ts +14 -0
  291. package/types/commands/changed.d.ts.map +1 -0
  292. package/types/commands/docs.d.ts +5 -0
  293. package/types/commands/docs.d.ts.map +1 -0
  294. package/types/commands/env-setup.d.ts +25 -0
  295. package/types/commands/env-setup.d.ts.map +1 -0
  296. package/types/commands/onboard.d.ts +16 -0
  297. package/types/commands/onboard.d.ts.map +1 -0
  298. package/types/commands/run.d.ts +8 -0
  299. package/types/commands/run.d.ts.map +1 -0
  300. package/types/commands/script.d.ts +28 -0
  301. package/types/commands/script.d.ts.map +1 -0
  302. package/types/commands/sync.d.ts +5 -0
  303. package/types/commands/sync.d.ts.map +1 -0
  304. package/types/constants/ascii.d.ts +6 -0
  305. package/types/constants/ascii.d.ts.map +1 -0
  306. package/types/index.d.ts +12 -0
  307. package/types/index.d.ts.map +1 -0
  308. package/types/types.d.ts +54 -0
  309. package/types/types.d.ts.map +1 -0
  310. package/types/utils/env-categories.d.ts +8 -0
  311. package/types/utils/env-categories.d.ts.map +1 -0
  312. package/types/utils/env-setup.d.ts +10 -0
  313. package/types/utils/env-setup.d.ts.map +1 -0
  314. package/types/utils/env.d.ts +19 -0
  315. package/types/utils/env.d.ts.map +1 -0
  316. package/types/utils/files.d.ts +47 -0
  317. package/types/utils/files.d.ts.map +1 -0
  318. package/types/utils/parallel-runner.d.ts +15 -0
  319. package/types/utils/parallel-runner.d.ts.map +1 -0
  320. package/types/utils/ports.d.ts +16 -0
  321. package/types/utils/ports.d.ts.map +1 -0
  322. package/types/utils/prerequisites.d.ts +11 -0
  323. package/types/utils/prerequisites.d.ts.map +1 -0
  324. package/types/utils/prompts.d.ts +30 -0
  325. package/types/utils/prompts.d.ts.map +1 -0
  326. package/types/utils/script-listing.d.ts +7 -0
  327. package/types/utils/script-listing.d.ts.map +1 -0
  328. package/types/utils/sync.d.ts +16 -0
  329. package/types/utils/sync.d.ts.map +1 -0
  330. package/types/utils/welcome.d.ts +6 -0
  331. package/types/utils/welcome.d.ts.map +1 -0
@@ -0,0 +1,243 @@
1
+ import { writeFileSync } from "fs";
2
+ import { resolve } from "path";
3
+ import * as clack from "@clack/prompts";
4
+ import pc from "picocolors";
5
+ import { updateEnvVariable, readEnvVariable, envFileExists, copyEnvFile } from "./env.native.js";
6
+ import { envCategories } from "./env-categories.native.js";
7
+ function _instanceof(left, right) {
8
+ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
9
+ }
10
+ async function setupProductionEnv(cwd) {
11
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
12
+ envFile = options.envFile || ".env.production",
13
+ fullPath = resolve(cwd, envFile),
14
+ cleanup = function () {
15
+ console.info(`
16
+ ` + pc.yellow("Setup interrupted. You can resume anytime with:")), console.info(pc.cyan(" bun takeout env:setup")), console.info(pc.gray(`
17
+ Note: All environment variables are optional for local development.`)), process.exit(0);
18
+ };
19
+ process.on("SIGINT", cleanup), process.on("SIGTERM", cleanup);
20
+ try {
21
+ if (clack.intro(pc.bgCyan(pc.black(" Production Environment Setup "))), console.info(pc.gray("All environment variables are optional.")), console.info(pc.gray(`You can skip any section or re-run this setup anytime.
22
+ `)), !envFileExists(cwd, envFile)) {
23
+ var createFile = await clack.confirm({
24
+ message: `${envFile} doesn't exist. Create it from example?`,
25
+ initialValue: !0
26
+ });
27
+ if (clack.isCancel(createFile) || !createFile) return clack.cancel("Setup cancelled"), process.removeListener("SIGINT", cleanup), process.removeListener("SIGTERM", cleanup), !1;
28
+ var exampleFile = ".env.production.example";
29
+ envFileExists(cwd, exampleFile) ? (copyEnvFile(cwd, exampleFile, envFile), console.info(pc.green(`\u2713 Created ${envFile} from example
30
+ `))) : (writeFileSync(fullPath, `# Production Environment Variables
31
+ `), console.info(pc.green(`\u2713 Created empty ${envFile}
32
+ `)));
33
+ }
34
+ var categoriesToSetup = options.onlyCategory ? envCategories.filter(function (cat) {
35
+ return cat.id === options.onlyCategory;
36
+ }) : envCategories;
37
+ if (categoriesToSetup.length === 0) return clack.cancel(`Category "${options.onlyCategory}" not found`), process.removeListener("SIGINT", cleanup), process.removeListener("SIGTERM", cleanup), !1;
38
+ if (options.interactive !== !1 && !options.onlyCategory) {
39
+ var setupProd = await clack.confirm({
40
+ message: "Do you want to set up production environment variables?",
41
+ initialValue: !1
42
+ });
43
+ if (clack.isCancel(setupProd) || !setupProd) return clack.note(`You can set up production environment later with:
44
+ ${pc.cyan("bun takeout env:setup")}`, pc.yellow("Skipping production setup")), process.removeListener("SIGINT", cleanup), process.removeListener("SIGTERM", cleanup), !0;
45
+ }
46
+ var _iteratorNormalCompletion = !0,
47
+ _didIteratorError = !1,
48
+ _iteratorError = void 0;
49
+ try {
50
+ for (var _iterator = categoriesToSetup[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) var category = _step.value, shouldSetup = await setupCategory(category, envFile, cwd, options);
51
+ } catch (err) {
52
+ _didIteratorError = !0, _iteratorError = err;
53
+ } finally {
54
+ try {
55
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
56
+ } finally {
57
+ if (_didIteratorError) throw _iteratorError;
58
+ }
59
+ }
60
+ var configuredVars = [],
61
+ skippedVars = [],
62
+ _iteratorNormalCompletion1 = !0,
63
+ _didIteratorError1 = !1,
64
+ _iteratorError1 = void 0;
65
+ try {
66
+ for (var _iterator1 = categoriesToSetup[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
67
+ var category1 = _step1.value,
68
+ _iteratorNormalCompletion2 = !0,
69
+ _didIteratorError2 = !1,
70
+ _iteratorError2 = void 0;
71
+ try {
72
+ for (var _iterator2 = category1.variables[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
73
+ var variable = _step2.value,
74
+ value = readEnvVariable(cwd, variable.key, envFile);
75
+ value && value !== "" && !value.includes("your-") ? configuredVars.push(variable.key) : variable.required && skippedVars.push(variable.key);
76
+ }
77
+ } catch (err) {
78
+ _didIteratorError2 = !0, _iteratorError2 = err;
79
+ } finally {
80
+ try {
81
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
82
+ } finally {
83
+ if (_didIteratorError2) throw _iteratorError2;
84
+ }
85
+ }
86
+ }
87
+ } catch (err) {
88
+ _didIteratorError1 = !0, _iteratorError1 = err;
89
+ } finally {
90
+ try {
91
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
92
+ } finally {
93
+ if (_didIteratorError1) throw _iteratorError1;
94
+ }
95
+ }
96
+ return configuredVars.length > 0 ? (clack.outro(pc.green("\u2713 Environment setup complete!")), console.info(pc.gray(`
97
+ Configured ${configuredVars.length} variables in ${envFile}`)), skippedVars.length > 0 && (console.info(pc.yellow(`
98
+ Note: Some required variables were skipped. You'll need to configure these before deploying:`)), skippedVars.forEach(function (v) {
99
+ return console.info(pc.gray(` - ${v}`));
100
+ })), console.info(pc.cyan(`
101
+ You can re-run this setup anytime with:`)), console.info(pc.gray(" bun takeout env:setup")), console.info(pc.cyan(`
102
+ Or set up specific categories:`)), console.info(pc.gray(" bun takeout env:setup --category aws")), console.info(pc.gray(" bun takeout env:setup --category apple"))) : (clack.outro(pc.yellow("No variables configured")), console.info(pc.gray(`
103
+ You can re-run this setup anytime with:`)), console.info(pc.gray(" bun takeout env:setup"))), process.removeListener("SIGINT", cleanup), process.removeListener("SIGTERM", cleanup), !0;
104
+ } catch (error) {
105
+ if (process.removeListener("SIGINT", cleanup), process.removeListener("SIGTERM", cleanup), _instanceof(error, Error) && error.message.includes("cancelled")) return !1;
106
+ throw error;
107
+ }
108
+ }
109
+ async function setupCategory(category, envFile, cwd, options) {
110
+ var spinner = clack.spinner(),
111
+ message = `Set up ${pc.bold(category.name)}?`;
112
+ category.required || (message += pc.gray(" (optional)")), category.setupTime && (message += pc.yellow(` ${category.setupTime}`)), console.info("");
113
+ var setupCategory2 = await clack.confirm({
114
+ message,
115
+ initialValue: category.required
116
+ });
117
+ if (clack.isCancel(setupCategory2) || !setupCategory2) return console.info(pc.gray(` Skipping ${category.name}`)), !1;
118
+ console.info(pc.gray(`
119
+ ${category.description}
120
+ `));
121
+ var _iteratorNormalCompletion = !0,
122
+ _didIteratorError = !1,
123
+ _iteratorError = void 0;
124
+ try {
125
+ for (var _iterator = category.variables[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
126
+ var variable = _step.value;
127
+ await setupVariable(variable, envFile, cwd);
128
+ }
129
+ } catch (err) {
130
+ _didIteratorError = !0, _iteratorError = err;
131
+ } finally {
132
+ try {
133
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
134
+ } finally {
135
+ if (_didIteratorError) throw _iteratorError;
136
+ }
137
+ }
138
+ return !0;
139
+ }
140
+ async function setupVariable(variable, envFile, cwd) {
141
+ var existingValue = readEnvVariable(cwd, variable.key, envFile),
142
+ hasValue = existingValue && existingValue !== "" && !existingValue.includes("your-");
143
+ if (console.info(""), console.info(pc.bold(variable.label)), console.info(pc.gray(variable.description)), hasValue) {
144
+ var update = await clack.confirm({
145
+ message: `${pc.green("\u2713")} Already configured. Update?`,
146
+ initialValue: !1
147
+ });
148
+ if (clack.isCancel(update) || !update) return;
149
+ }
150
+ console.info(""), console.info(pc.cyan("Instructions:")), variable.instructions.split(`
151
+ `).forEach(function (line) {
152
+ console.info(pc.gray(` ${line}`));
153
+ }), console.info("");
154
+ var value;
155
+ if (variable.generator) {
156
+ var generate = await clack.confirm({
157
+ message: `Generate ${variable.label} automatically?`,
158
+ initialValue: !0
159
+ });
160
+ !clack.isCancel(generate) && generate && (value = variable.generator(), console.info(pc.green(`\u2713 Generated ${variable.label}`)));
161
+ }
162
+ if (!value) if (variable.type === "multiline") console.info(pc.gray("Paste content (press Enter twice when done):")), value = await readMultilineInput();else if (variable.type === "secret") {
163
+ var result = await clack.password({
164
+ message: `Enter ${variable.label}:`,
165
+ mask: "*"
166
+ });
167
+ clack.isCancel(result) || (value = result);
168
+ } else {
169
+ var result1 = await clack.text({
170
+ message: `Enter ${variable.label}:`,
171
+ placeholder: variable.placeholder,
172
+ defaultValue: variable.default,
173
+ validate: function (val) {
174
+ if (variable.required && !val) return "This field is required";
175
+ }
176
+ });
177
+ clack.isCancel(result1) || (value = result1);
178
+ }
179
+ value && !clack.isCancel(value) ? (updateEnvVariable(cwd, variable.key, value, envFile), console.info(pc.green(`\u2713 Saved ${variable.key}`))) : variable.required ? console.info(pc.yellow(`\u26A0 Skipped required variable: ${variable.key}`)) : console.info(pc.gray(` Skipped ${variable.key}`));
180
+ }
181
+ async function readMultilineInput() {
182
+ return new Promise(function (resolve2) {
183
+ var lines = [],
184
+ emptyLineCount = 0,
185
+ reader = process.stdin;
186
+ reader.setEncoding("utf8");
187
+ var onData = function (chunk) {
188
+ var chunkLines = chunk.split(`
189
+ `),
190
+ _iteratorNormalCompletion = !0,
191
+ _didIteratorError = !1,
192
+ _iteratorError = void 0;
193
+ try {
194
+ for (var _iterator = chunkLines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
195
+ var line = _step.value;
196
+ if (line === "") {
197
+ if (emptyLineCount++, emptyLineCount >= 2) {
198
+ reader.removeListener("data", onData), resolve2(lines.join(`
199
+ `));
200
+ return;
201
+ }
202
+ } else emptyLineCount === 1 && lines.push(""), emptyLineCount = 0, lines.push(line);
203
+ }
204
+ } catch (err) {
205
+ _didIteratorError = !0, _iteratorError = err;
206
+ } finally {
207
+ try {
208
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
209
+ } finally {
210
+ if (_didIteratorError) throw _iteratorError;
211
+ }
212
+ }
213
+ };
214
+ reader.on("data", onData);
215
+ });
216
+ }
217
+ function listCategories() {
218
+ console.info(pc.bold(`
219
+ Available environment categories:
220
+ `));
221
+ var _iteratorNormalCompletion = !0,
222
+ _didIteratorError = !1,
223
+ _iteratorError = void 0;
224
+ try {
225
+ for (var _iterator = envCategories[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
226
+ var category = _step.value,
227
+ status = category.required ? pc.red("required") : pc.gray("optional");
228
+ console.info(` ${pc.cyan(category.id.padEnd(12))} - ${category.name} ${status}`), console.info(` ${pc.gray(category.description)}`), category.setupTime && console.info(` ${pc.yellow(category.setupTime)}`), console.info("");
229
+ }
230
+ } catch (err) {
231
+ _didIteratorError = !0, _iteratorError = err;
232
+ } finally {
233
+ try {
234
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
235
+ } finally {
236
+ if (_didIteratorError) throw _iteratorError;
237
+ }
238
+ }
239
+ console.info(pc.gray("Run setup for a specific category:")), console.info(pc.cyan(` bun takeout env:setup --category <id>
240
+ `));
241
+ }
242
+ export { listCategories, setupProductionEnv };
243
+ //# sourceMappingURL=env-setup.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["writeFileSync","resolve","clack","pc","updateEnvVariable","readEnvVariable","envFileExists","copyEnvFile","envCategories","_instanceof","left","right","Symbol","hasInstance","setupProductionEnv","cwd","options","arguments","length","envFile","fullPath","cleanup","console","info","yellow","cyan","gray","process","exit","on","intro","bgCyan","black","createFile","confirm","message","initialValue","isCancel","cancel","removeListener","exampleFile","green","categoriesToSetup","onlyCategory","filter","cat","id","interactive","setupProd","note","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","category","value","shouldSetup","setupCategory","err","return","configuredVars","skippedVars","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","category1","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","variables","_step2","variable","key","includes","push","required","outro","forEach","v","error","Error","spinner","bold","name","setupTime","setupCategory2","description","setupVariable","existingValue","hasValue","label","update","instructions","split","line","generator","generate","type","readMultilineInput","result","password","mask","result1","text","placeholder"],"sources":["../../../src/utils/env-setup.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAmCA,aAAA,QAAqB;AACxD,SAASC,OAAA,QAAe;AAExB,YAAYC,KAAA,MAAW;AACvB,OAAOC,EAAA,MAAQ;AAEf,SAASC,iBAAA,EAAmBC,eAAA,EAAiBC,aAAA,EAAeC,WAAA,QAAmB;AAC/E,SAAAC,aAAA;AAAA,SACEC,YAAAC,IAAA,EAAAC,KAAA;EAAA,OAGKA,KAAA,mBAAAC,MAAA,UAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AAWP;AAIE,eAAMG,kBAAkBA,CAAAC,GAAW;EAKjC,IAAAC,OAAQ,GAAAC,SAAK,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAAE,OAAA,GAAAH,OAAA,CAAAG,OAAA;IAAAC,QAAA,GAAAnB,OAAA,CAAAc,GAAA,EAAAI,OAAA;IAAAE,OAAA,YAAAA,CAAA;MAAOC,OAAG,CAAAC,IAAO;AAEtB,IAAApB,EACN,CAAAqB,MAAG,CAAK,qDAAAF,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAsB,IAAA,8BAAAH,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA;AAAA,oEAAuE,IAAAC,OAAA,CAAAC,IAAA;IAAA;EAGnFD,OAAA,CAAAE,EAAA,WAAAR,OAAA,GAAAM,OAAA,CAAAE,EAAA,YAAAR,OAAA;EAEA;IAGA,IAAInB,KAAA,CAAA4B,KAAA,CAAA3B,EAAA,CAAA4B,MAAA,CAAA5B,EAAA,CAAA6B,KAAA,sCAAAV,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,8CAAAJ,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA;AAOF,MAAApB,aANM,CAAMS,GAAG,EAAAI,OAAO,CAAG;MAMpB,IAAAc,UAAc,SAAK/B,KAAO,CAAGgC,OAAA;QAChCC,OAAM,KAAAhB,OAAa,yCAAoB;QACrCiB,YAAY;MAAO,EACnB;MACF,IAAClC,KAAA,CAAAmC,QAAA,CAAAJ,UAAA,MAAAA,UAAA,EAED,OAAI/B,KAAM,CAAAoC,MAAS,kBAAgB,GAAAX,OAAA,CAAAY,cAAA,WAAAlB,OAAA,GAAAM,OAAA,CAAAY,cAAA,YAAAlB,OAAA;MACjC,IAAAmB,WAAM,4BACN;MAKFlC,aAAM,CAAAS,GAAA,EAAAyB,WAAc,KAAAjC,WAAA,CAAAQ,GAAA,EAAAyB,WAAA,EAAArB,OAAA,GAAAG,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAsC,KAAA,mBAAAtB,OAAA;AACpB,QAAInB,aAAc,CAAAoB,QAAK;AAEqB,CAAiB,CAAC,EAAAE,OAG5D,CAAAC,IAAA,CAAApB,EAAA,CAAAsC,KAAc,yBAAUtB,OAAA;AAAA,CAAsC,GAC9D;IAAqD;IAEzD,IAAAuB,iBAAA,GAAA1B,OAAA,CAAA2B,YAAA,GAAAnC,aAAA,CAAAoC,MAAA,WAAAC,GAAA;MAGA,OAAIA,GAAA,CAAAC,EAAA,KAAA9B,OAAoB,CAAA2B,YAAQ;IAIhC,KAAInC,aAAA;IACF,IAAAkC,iBAAM,CAAOxB,MAAA,QAOf,OAAIhB,KAAQ,CAAAoC,MAAA,cAA0BtB,OAAA,CAAQ2B,YAAA,aAAc,GAAAhB,OAAA,CAAAY,cAAA,WAAAlB,OAAA,GAAAM,OAAA,CAAAY,cAAA,YAAAlB,OAAA;IAC1D,IAAAL,OAAM,CAAA+B,WAAY,KAAM,MAAM,CAAA/B,OAAQ,CAAA2B,YAAA;MAAA,IACpCK,SAAS,SAAA9C,KAAA,CAAAgC,OAAA;QACTC,OAAA,2DAAc;QACfC,YAAA;MAED;MACE,IAAAlC,KAAA,CAAAmC,QAAM,CAAAW,SAAA,MAAAA,SAAA,SACJ9C,KAAA,CAAA+C,IAAA;AAAA,EAAsD9C,EAAA,CAAGsB,IAAA,CAAK,uBAAuB,CAAC,IAAAtB,EAAA,CAAAqB,MAAA,gCAAAG,OAAA,CAAAY,cAAA,WAAAlB,OAAA,GAAAM,OAAA,CAAAY,cAAA,YAAAlB,OAAA;IAAA;IACjD,IACvC6B,yBACQ,GAAe;MAAAC,iBACvB,KAAQ;MAAAC,cAAe;IAG3B;MAGA,SAAWC,SAAA,GAAYX,iBAAA,CAAA9B,MAAA,CAAA0C,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA,OACD,IAAMQ,QAAA,GAAAH,KAAc,CAAAI,KAAA,EAAUC,WAAS,GAAK,MAAAC,aAAO,CAAAH,QAAA,EAAAvC,OAAA,EAAAJ,GAAA,EAAAC,OAAA;IAOzE,SAAM8C,GAAA;MAGNX,iBAAW,IAAY,GAAAC,cAAA,GAAAU,GAAA;IACrB;MACE;QACI,CAAAZ,yBAA0B,IAAAG,SAAM,CAAAU,MAAS,IAAO,IAClD,IAAAV,SAAe,CAAAU,MAAK;MAIxB;QAGF,IAAIZ,iBAAe,EAGZ,MAAKC,cAAA;MAAA;IACV;IAGU,IACNY,cAAG;MAAAC,WAAA;MAAAC,0BAAA;MAAAC,kBAAA;MAAAC,eAAA;IAAA,IACD;MAAA,SAAAC,UAAA,GAAA3B,iBAAA,CAAA9B,MAAA,CAAA0C,QAAA,KAAAgB,MAAA,IAAAJ,0BAAA,IAAAI,MAAA,GAAAD,UAAA,CAAAb,IAAA,IAAAC,IAAA,GAAAS,0BAAA;QACF,IAAAK,SAAA,GAAAD,MAAA,CAAAX,KAAA;UAAAa,0BAAA;UAAAC,kBAAA;UAAAC,eAAA;QAEF;UAGmB,SAAAC,UAAA,GAAAJ,SAA4C,CAAAK,SACjE,CAAQhE,MAAK,CAAA0C,QAAQ,KAAAuB,MAAA,IAAAL,0BACR,GAAG,CAAAK,MAAK,GAAAF,UAAA,CAAAnB,IAAA,IAAAC,IAAA,GAAAe,0BAAA;YAAA,IAAAM,QAAA,GAAAD,MAAmC,CAAAlB,KACxD;cAAAA,KAAQ,GAAKtD,eAAQ,CAAAU,GAAA,EAAA+D,QAAA,CAAAC,GAAA,EAAA5D,OAAA;YAIAwC,KAAA,IAAAA,KAAA,YAAAA,KAA4C,CACjEqB,QAAQ,QAAQ,IAAAhB,cAAK,CAAAiB,IAAA,CAAAH,QAA0B,CAAAC,GAGjD,IAAAD,QAAQ,CAAAI,QAAA,IAAejB,WAAU,CAAAgB,IAAO,CACxCH,QAAQ,CAAAC,GAAA;UAEV;QACE,SAAQjB,GAAA;UAGNW,kBAAO,OAAAC,eAAA,GAAAZ,GAAA;QAET,UAAM;UACR;YACF,CAAAU,0BAAA,IAAAG,UAAA,CAAAZ,MAAA,YAAAY,UAAA,CAAAZ,MAAA;UAEA,UAAe;YAMP,IAAAU,kBAAwB,EAG1B,MAAUC,eAAkB;UAC3B;QAQC;MACJ;IACA,SAAAZ,GAAA,EAAc;MACfK,kBAAA,OAAAC,eAAA,GAAAN,GAAA;IAED,UAAU;MACR;QAIF,CAAAI,0BAAqB,IAAAG,UAAA,CAAAN,MAAA,YAAAM,UAAA,CAAAN,MAAA;MAAK,UAAS;QAAgB,IAAAI,kBAAA,EAGnD,MAAWC,eAAY;MACrB;IAGF;IACF,OAAAJ,cAAA,CAAA9C,MAAA,QAAAhB,KAAA,CAAAiF,KAAA,CAAAhF,EAAA,CAAAsC,KAAA,yCAAAnB,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA;AAEA,aAAAsC,cAAe,CAAA9C,MACb,iBAEAC,OACe,MAAA8C,WAAA,CAAA/C,MAAA,SAAAI,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAqB,MAAA;AAEf,6FAEE,IAAiByC,WAAA,CAAAmB,OAAkB,WAAOC,CAAA;MAE5C,OAAA/D,OAAa,CAAEC,IACf,CAAApB,EAAA,CAAAuB,IAAQ,QAAQ2D,CAAA,GAAK;IAInB,KAAA/D,OAAM,CAAAC,IAAS,CAAApB,EAAA,CAAMsB,IAAA;AAAc,wCACR,IAAAH,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,8BAAAJ,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAsB,IAAA;AAAA,+BACX,IAAAH,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,6CAAAJ,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,kDAAAxB,KAAA,CAAAiF,KAAA,CAAAhF,EAAA,CAAAqB,MAAA,8BAAAF,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA;AAAA,wCACf,IAAAJ,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,+BAAAC,OAAA,CAAAY,cAAA,WAAAlB,OAAA,GAAAM,OAAA,CAAAY,cAAA,YAAAlB,OAAA;EAED,SAAIiE,KAAM;IACR,IAAA3D,OAAA,CAAAY,cAAA,WAAAlB,OAAA,GAAAM,OAAA,CAAAY,cAAA,YAAAlB,OAAA,GAAAZ,WAAA,CAAA6E,KAAA,EAAAC,KAAA,KAAAD,KAAA,CAAAnD,OAAA,CAAA6C,QAAA,eAEJ;IAGA,MAAQM,KAAK;EAEmB;AAC9B;AAAiC,eAE3BzB,aAAOA,CAAAH,QAAA,EAAAvC,OAAA,EAAAJ,GAAA,EAAAC,OAAA;EAGf,IAAIwE,OAAA,GAAAtF,KAAA,CAAAsF,OAAA;IAAArD,OAAA,aAAAhC,EAAA,CAAAsF,IAAA,CAAA/B,QAAA,CAAAgC,IAAA;EAEJhC,QAAI,CAAAwB,QAAS,KAAA/C,OAAW,IAAAhC,EAAA,CAAAuB,IAAA,kBAAAgC,QAAA,CAAAiC,SAAA,KAAAxD,OAAA,IAAAhC,EAAA,CAAAqB,MAAA,KAAAkC,QAAA,CAAAiC,SAAA,MAAArE,OAAA,CAAAC,IAAA;EACtB,IAAAqE,cAAM,GAAW,MAAM1F,KAAM,CAAAgC,OAAQ;IAAAC,OACnC;IAAmCC,YACnC,EAAAsB,QAAc,CAAAwB;EAAA,EAChB;EAEA,IAAKhF,KAAM,CAAAmC,QAAS,CAAAuD,cAAa,MAAAA,cACvB,EAGZ,OAAAtE,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,eAAAgC,QAAA,CAAAgC,IAAA;EAEApE,OAAK,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA;AACH,EAAAgC,QAAI,CAAAmC,WAAS;AACX;EACiC,IAAA3C,yBACN;IAAAC,iBAAU;IAAAC,cAAA;EACrC;IAAoC,KAClC,IAAAC,SAAS,GAAAK,QAAS,CAAAkB,SAAc,CAAAhE,MAAA,CAAA0C,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;MAAA,IAChC4B,QAAM,GAAAvB,KAAA,CAAAI,KAAA;MACR,MAACmC,aAAA,CAAAhB,QAAA,EAAA3D,OAAA,EAAAJ,GAAA;IACD;EACU,EAEZ,OAAO+C,GAAA;IACLX,iBAAe,OAAMC,cAAW,GAAAU,GAAA;EAAA,UAC9B;IAAgC,IAChC;MAAsB,CAAAZ,yBACC,IAAAG,SAAA,CAAAU,MAAA,YAAAV,SAAA,CAAAU,MAAA;IAAA,UACvB;MACE,IAAAZ,iBAAa,EACX,MAAAC,cAAO;IAAA;EAEX;EAEF,OAAK;AACK;AAKd,eAAc0C,aAAeA,CAAAhB,QAC3B,EAAA3D,OAAA,EAAAJ,GAAA;EAOJ,IAAAgF,aAAA,GAAA1F,eAAA,CAAAU,GAAA,EAAA+D,QAAA,CAAAC,GAAA,EAAA5D,OAAA;IAAA6E,QAAA,GAAAD,aAAA,IAAAA,aAAA,YAAAA,aAAA,CAAAf,QAAA;EAEA,IAAA1D,OAAA,CAAAC,IAAe,MAAAD,OAAA,CAAAC,IAAsC,CAAApB,EAAA,CAAAsF,IAAA,CAAAX,QAAA,CAAAmB,KAAA,IAAA3E,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAA,CAAAoD,QAAA,CAAAe,WAAA,IAAAG,QAAA;IACnD,IAAAE,MAAW,SAAShG,KAAA,CAAAgC,OAAY;MAC9BC,OAAM,KAAkBhC,EAAC,CAAAsC,KAAA;MACzBL,YAAI;IAEJ;IACA,IAAAlC,KAAO,CAAAmC,QAAA,CAAY6D,MAAM,MAAAA,MAAA,EAEzB;EACE;EAAmC5E,OAAA,CAAAC,IAAA,MAAAD,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAsB,IAAA,oBAAAqD,QAAA,CAAAqB,YAAA,CAAAC,KAAA;AACnC,GAAAhB,OAAA,WAAWiB,IAAA,EAAQ;IACjB/E,OAAA,CAAIC,IAAA,CAAApB,EAAA,CAAAuB,IAAS,MAAA2E,IAAA;EAEX,IAAA/E,OAAA,CADAC,IAAA;EAEE,IAAAoC,KAAA;EACwB,IAAAmB,QAAA,CAAAwB,SAAA;IACxB,IAAAC,QAAA,SAAArG,KAAA,CAAAgC,OAAA;MAAAC,OACF,cAAA2C,QAAA,CAAAmB,KAAA;MAAA7D,YAAA;IAEA;IAON,CAAAlC,KAAA,CAAAmC,QAAA,CAAAkE,QAAA,KAAAA,QAAA,KAAA5C,KAAA,GAAAmB,QAAA,CAAAwB,SAAA,IAAAhF,OAAA,CAAAC,IAAA,CAAApB,EAAA,CAAAsC,KAAA,qBAAAqC,QAAA,CAAAmB,KAAA;EAEA;EACF,IAAC,CAAAtC,KAAA,EACH,IAAAmB,QAAA,CAAA0B,IAAA,kBAEOlF,OAAS,CAAAC,IAAA,CAAApB,EAAA,CAAAuB,IAAuB,mDAAAiC,KAAA,SAAA8C,kBAAA,QACrC,IAAQ3B,QAAQ,CAAA0B,IAAK;IAAA,IAAAE,MAAA,SAAAxG,KAAA,CAAAyG,QAAA;MAAwCxE,OAAA,WAAA2C,QAAA,CAAAmB,KAAA;MAE7DW,IAAA,EAAW;IACT;IACA1G,KAAA,CAAQmC,QAAK,CAAAqE,MAAQ,MAAK/C,KAAA,GAAS+C,MAAG;EAMxC;IAEA,IAAQG,OAAK,GAAG,MAAK3G,KAAA,CAAA4G,IAAA;MAC4C3E,OAAA,WAAA2C,QAAA,CAAAmB,KAAA;MACnEc,WAAA,EAAAjC,QAAA,CAAAiC,WAAA","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ import { randomBytes } from "node:crypto";
2
+ import { copyFileSync, existsSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ function generateSecret(length = 32) {
5
+ return randomBytes(length).toString("hex");
6
+ }
7
+ function envFileExists(cwd, filename = ".env") {
8
+ return existsSync(join(cwd, filename));
9
+ }
10
+ function copyEnvFile(cwd, source, target) {
11
+ const sourcePath = join(cwd, source), targetPath = join(cwd, target);
12
+ if (!existsSync(sourcePath))
13
+ return { success: !1, error: `Source file ${source} not found` };
14
+ if (existsSync(targetPath))
15
+ return { success: !1, error: `Target file ${target} already exists` };
16
+ try {
17
+ return copyFileSync(sourcePath, targetPath), { success: !0 };
18
+ } catch (error) {
19
+ return {
20
+ success: !1,
21
+ error: error instanceof Error ? error.message : "Unknown error"
22
+ };
23
+ }
24
+ }
25
+ function updateEnvVariable(cwd, key, value, filename = ".env") {
26
+ const envPath = join(cwd, filename);
27
+ if (!existsSync(envPath))
28
+ return { success: !1, error: `${filename} not found` };
29
+ try {
30
+ let content = readFileSync(envPath, "utf-8");
31
+ const keyRegex = new RegExp(`^${key}=.*$`, "m");
32
+ return keyRegex.test(content) ? content = content.replace(keyRegex, `${key}=${value}`) : content = content.trimEnd() + `
33
+ ${key}=${value}
34
+ `, writeFileSync(envPath, content, "utf-8"), { success: !0 };
35
+ } catch (error) {
36
+ return {
37
+ success: !1,
38
+ error: error instanceof Error ? error.message : "Unknown error"
39
+ };
40
+ }
41
+ }
42
+ function createEnvLocal(cwd) {
43
+ const envLocalPath = join(cwd, ".env.local");
44
+ if (existsSync(envLocalPath))
45
+ return { success: !0 };
46
+ const template = `# Local environment overrides
47
+ # This file is gitignored and never committed
48
+ # Add your personal secrets and local configuration here
49
+ # These values override .env
50
+
51
+ # Example:
52
+ # BETTER_AUTH_SECRET=your-secret-here
53
+ # AWS_ACCESS_KEY_ID=your-key-here
54
+ `;
55
+ try {
56
+ return writeFileSync(envLocalPath, template, "utf-8"), { success: !0 };
57
+ } catch (error) {
58
+ return {
59
+ success: !1,
60
+ error: error instanceof Error ? error.message : "Unknown error"
61
+ };
62
+ }
63
+ }
64
+ function readEnvVariable(cwd, key, filename = ".env") {
65
+ const envPath = join(cwd, filename);
66
+ if (!existsSync(envPath))
67
+ return null;
68
+ try {
69
+ const content = readFileSync(envPath, "utf-8"), keyRegex = new RegExp(`^${key}=(.*)$`, "m");
70
+ return content.match(keyRegex)?.[1]?.trim().replace(/^["']|["']$/g, "") || null;
71
+ } catch {
72
+ return null;
73
+ }
74
+ }
75
+ export {
76
+ copyEnvFile,
77
+ createEnvLocal,
78
+ envFileExists,
79
+ generateSecret,
80
+ readEnvVariable,
81
+ updateEnvVariable
82
+ };
83
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/env.ts"],
4
+ "mappings": "AAIA,SAAS,mBAAmB;AAC5B,SAAS,cAAc,YAAY,cAAc,qBAAqB;AACtE,SAAS,YAAY;AAEd,SAAS,eAAe,SAAS,IAAY;AAClD,SAAO,YAAY,MAAM,EAAE,SAAS,KAAK;AAC3C;AAEO,SAAS,cAAc,KAAa,WAAW,QAAiB;AACrE,SAAO,WAAW,KAAK,KAAK,QAAQ,CAAC;AACvC;AAEO,SAAS,YACd,KACA,QACA,QACsC;AACtC,QAAM,aAAa,KAAK,KAAK,MAAM,GAC7B,aAAa,KAAK,KAAK,MAAM;AAEnC,MAAI,CAAC,WAAW,UAAU;AACxB,WAAO,EAAE,SAAS,IAAO,OAAO,eAAe,MAAM,aAAa;AAGpE,MAAI,WAAW,UAAU;AACvB,WAAO,EAAE,SAAS,IAAO,OAAO,eAAe,MAAM,kBAAkB;AAGzE,MAAI;AACF,wBAAa,YAAY,UAAU,GAC5B,EAAE,SAAS,GAAK;AAAA,EACzB,SAAS,OAAO;AACd,WAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,IAClD;AAAA,EACF;AACF;AAEO,SAAS,kBACd,KACA,KACA,OACA,WAAW,QAC2B;AACtC,QAAM,UAAU,KAAK,KAAK,QAAQ;AAElC,MAAI,CAAC,WAAW,OAAO;AACrB,WAAO,EAAE,SAAS,IAAO,OAAO,GAAG,QAAQ,aAAa;AAG1D,MAAI;AACF,QAAI,UAAU,aAAa,SAAS,OAAO;AAG3C,UAAM,WAAW,IAAI,OAAO,IAAI,GAAG,QAAQ,GAAG;AAE9C,WAAI,SAAS,KAAK,OAAO,IAEvB,UAAU,QAAQ,QAAQ,UAAU,GAAG,GAAG,IAAI,KAAK,EAAE,IAGrD,UAAU,QAAQ,QAAQ,IAAI;AAAA,EAAK,GAAG,IAAI,KAAK;AAAA,GAGjD,cAAc,SAAS,SAAS,OAAO,GAChC,EAAE,SAAS,GAAK;AAAA,EACzB,SAAS,OAAO;AACd,WAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,IAClD;AAAA,EACF;AACF;AAEO,SAAS,eAAe,KAAmD;AAChF,QAAM,eAAe,KAAK,KAAK,YAAY;AAE3C,MAAI,WAAW,YAAY;AACzB,WAAO,EAAE,SAAS,GAAK;AAGzB,QAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUjB,MAAI;AACF,yBAAc,cAAc,UAAU,OAAO,GACtC,EAAE,SAAS,GAAK;AAAA,EACzB,SAAS,OAAO;AACd,WAAO;AAAA,MACL,SAAS;AAAA,MACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;AAAA,IAClD;AAAA,EACF;AACF;AAEO,SAAS,gBACd,KACA,KACA,WAAW,QACI;AACf,QAAM,UAAU,KAAK,KAAK,QAAQ;AAElC,MAAI,CAAC,WAAW,OAAO;AACrB,WAAO;AAGT,MAAI;AACF,UAAM,UAAU,aAAa,SAAS,OAAO,GACvC,WAAW,IAAI,OAAO,IAAI,GAAG,UAAU,GAAG;AAEhD,WADc,QAAQ,MAAM,QAAQ,IACrB,CAAC,GAAG,KAAK,EAAE,QAAQ,gBAAgB,EAAE,KAAK;AAAA,EAC3D,QAAQ;AACN,WAAO;AAAA,EACT;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,90 @@
1
+ import { randomBytes } from "node:crypto";
2
+ import { copyFileSync, existsSync, readFileSync, writeFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ function generateSecret(length = 32) {
5
+ return randomBytes(length).toString("hex");
6
+ }
7
+ function envFileExists(cwd, filename = ".env") {
8
+ return existsSync(join(cwd, filename));
9
+ }
10
+ function copyEnvFile(cwd, source, target) {
11
+ const sourcePath = join(cwd, source),
12
+ targetPath = join(cwd, target);
13
+ if (!existsSync(sourcePath)) return {
14
+ success: !1,
15
+ error: `Source file ${source} not found`
16
+ };
17
+ if (existsSync(targetPath)) return {
18
+ success: !1,
19
+ error: `Target file ${target} already exists`
20
+ };
21
+ try {
22
+ return copyFileSync(sourcePath, targetPath), {
23
+ success: !0
24
+ };
25
+ } catch (error) {
26
+ return {
27
+ success: !1,
28
+ error: error instanceof Error ? error.message : "Unknown error"
29
+ };
30
+ }
31
+ }
32
+ function updateEnvVariable(cwd, key, value, filename = ".env") {
33
+ const envPath = join(cwd, filename);
34
+ if (!existsSync(envPath)) return {
35
+ success: !1,
36
+ error: `${filename} not found`
37
+ };
38
+ try {
39
+ let content = readFileSync(envPath, "utf-8");
40
+ const keyRegex = new RegExp(`^${key}=.*$`, "m");
41
+ return keyRegex.test(content) ? content = content.replace(keyRegex, `${key}=${value}`) : content = content.trimEnd() + `
42
+ ${key}=${value}
43
+ `, writeFileSync(envPath, content, "utf-8"), {
44
+ success: !0
45
+ };
46
+ } catch (error) {
47
+ return {
48
+ success: !1,
49
+ error: error instanceof Error ? error.message : "Unknown error"
50
+ };
51
+ }
52
+ }
53
+ function createEnvLocal(cwd) {
54
+ const envLocalPath = join(cwd, ".env.local");
55
+ if (existsSync(envLocalPath)) return {
56
+ success: !0
57
+ };
58
+ const template = `# Local environment overrides
59
+ # This file is gitignored and never committed
60
+ # Add your personal secrets and local configuration here
61
+ # These values override .env
62
+
63
+ # Example:
64
+ # BETTER_AUTH_SECRET=your-secret-here
65
+ # AWS_ACCESS_KEY_ID=your-key-here
66
+ `;
67
+ try {
68
+ return writeFileSync(envLocalPath, template, "utf-8"), {
69
+ success: !0
70
+ };
71
+ } catch (error) {
72
+ return {
73
+ success: !1,
74
+ error: error instanceof Error ? error.message : "Unknown error"
75
+ };
76
+ }
77
+ }
78
+ function readEnvVariable(cwd, key, filename = ".env") {
79
+ const envPath = join(cwd, filename);
80
+ if (!existsSync(envPath)) return null;
81
+ try {
82
+ const content = readFileSync(envPath, "utf-8"),
83
+ keyRegex = new RegExp(`^${key}=(.*)$`, "m");
84
+ return content.match(keyRegex)?.[1]?.trim().replace(/^["']|["']$/g, "") || null;
85
+ } catch {
86
+ return null;
87
+ }
88
+ }
89
+ export { copyEnvFile, createEnvLocal, envFileExists, generateSecret, readEnvVariable, updateEnvVariable };
90
+ //# sourceMappingURL=env.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["randomBytes","copyFileSync","existsSync","readFileSync","writeFileSync","join","generateSecret","length","toString","envFileExists","cwd","filename","copyEnvFile","source","target","sourcePath","targetPath","success","error","Error","message","updateEnvVariable","key","value","envPath","content","keyRegex","RegExp","test","replace","trimEnd","createEnvLocal","envLocalPath","template","readEnvVariable","match","trim"],"sources":["../../../src/utils/env.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,WAAA,QAAmB;AAC5B,SAASC,YAAA,EAAcC,UAAA,EAAYC,YAAA,EAAcC,aAAA,QAAqB;AACtE,SAASC,IAAA,QAAY;AAEd,SAASC,eAAeC,MAAA,GAAS,IAAY;EAClD,OAAOP,WAAA,CAAYO,MAAM,EAAEC,QAAA,CAAS,KAAK;AAC3C;AAEO,SAASC,cAAcC,GAAA,EAAaC,QAAA,GAAW,QAAiB;EACrE,OAAOT,UAAA,CAAWG,IAAA,CAAKK,GAAA,EAAKC,QAAQ,CAAC;AACvC;AAEO,SAASC,YACdF,GAAA,EACAG,MAAA,EACAC,MAAA,EACsC;EACtC,MAAMC,UAAA,GAAaV,IAAA,CAAKK,GAAA,EAAKG,MAAM;IAC7BG,UAAA,GAAaX,IAAA,CAAKK,GAAA,EAAKI,MAAM;EAEnC,IAAI,CAACZ,UAAA,CAAWa,UAAU,GACxB,OAAO;IAAEE,OAAA,EAAS;IAAOC,KAAA,EAAO,eAAeL,MAAM;EAAa;EAGpE,IAAIX,UAAA,CAAWc,UAAU,GACvB,OAAO;IAAEC,OAAA,EAAS;IAAOC,KAAA,EAAO,eAAeJ,MAAM;EAAkB;EAGzE,IAAI;IACF,OAAAb,YAAA,CAAac,UAAA,EAAYC,UAAU,GAC5B;MAAEC,OAAA,EAAS;IAAK;EACzB,SAASC,KAAA,EAAO;IACd,OAAO;MACLD,OAAA,EAAS;MACTC,KAAA,EAAOA,KAAA,YAAiBC,KAAA,GAAQD,KAAA,CAAME,OAAA,GAAU;IAClD;EACF;AACF;AAEO,SAASC,kBACdX,GAAA,EACAY,GAAA,EACAC,KAAA,EACAZ,QAAA,GAAW,QAC2B;EACtC,MAAMa,OAAA,GAAUnB,IAAA,CAAKK,GAAA,EAAKC,QAAQ;EAElC,IAAI,CAACT,UAAA,CAAWsB,OAAO,GACrB,OAAO;IAAEP,OAAA,EAAS;IAAOC,KAAA,EAAO,GAAGP,QAAQ;EAAa;EAG1D,IAAI;IACF,IAAIc,OAAA,GAAUtB,YAAA,CAAaqB,OAAA,EAAS,OAAO;IAG3C,MAAME,QAAA,GAAW,IAAIC,MAAA,CAAO,IAAIL,GAAG,QAAQ,GAAG;IAE9C,OAAII,QAAA,CAASE,IAAA,CAAKH,OAAO,IAEvBA,OAAA,GAAUA,OAAA,CAAQI,OAAA,CAAQH,QAAA,EAAU,GAAGJ,GAAG,IAAIC,KAAK,EAAE,IAGrDE,OAAA,GAAUA,OAAA,CAAQK,OAAA,CAAQ,IAAI;AAAA,EAAKR,GAAG,IAAIC,KAAK;AAAA,GAGjDnB,aAAA,CAAcoB,OAAA,EAASC,OAAA,EAAS,OAAO,GAChC;MAAER,OAAA,EAAS;IAAK;EACzB,SAASC,KAAA,EAAO;IACd,OAAO;MACLD,OAAA,EAAS;MACTC,KAAA,EAAOA,KAAA,YAAiBC,KAAA,GAAQD,KAAA,CAAME,OAAA,GAAU;IAClD;EACF;AACF;AAEO,SAASW,eAAerB,GAAA,EAAmD;EAChF,MAAMsB,YAAA,GAAe3B,IAAA,CAAKK,GAAA,EAAK,YAAY;EAE3C,IAAIR,UAAA,CAAW8B,YAAY,GACzB,OAAO;IAAEf,OAAA,EAAS;EAAK;EAGzB,MAAMgB,QAAA,GAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUjB,IAAI;IACF,OAAA7B,aAAA,CAAc4B,YAAA,EAAcC,QAAA,EAAU,OAAO,GACtC;MAAEhB,OAAA,EAAS;IAAK;EACzB,SAASC,KAAA,EAAO;IACd,OAAO;MACLD,OAAA,EAAS;MACTC,KAAA,EAAOA,KAAA,YAAiBC,KAAA,GAAQD,KAAA,CAAME,OAAA,GAAU;IAClD;EACF;AACF;AAEO,SAASc,gBACdxB,GAAA,EACAY,GAAA,EACAX,QAAA,GAAW,QACI;EACf,MAAMa,OAAA,GAAUnB,IAAA,CAAKK,GAAA,EAAKC,QAAQ;EAElC,IAAI,CAACT,UAAA,CAAWsB,OAAO,GACrB,OAAO;EAGT,IAAI;IACF,MAAMC,OAAA,GAAUtB,YAAA,CAAaqB,OAAA,EAAS,OAAO;MACvCE,QAAA,GAAW,IAAIC,MAAA,CAAO,IAAIL,GAAG,UAAU,GAAG;IAEhD,OADcG,OAAA,CAAQU,KAAA,CAAMT,QAAQ,IACrB,CAAC,GAAGU,IAAA,CAAK,EAAEP,OAAA,CAAQ,gBAAgB,EAAE,KAAK;EAC3D,QAAQ;IACN,OAAO;EACT;AACF","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ import { randomBytes } from "crypto";
2
+ import { copyFileSync, existsSync, readFileSync, writeFileSync } from "fs";
3
+ import { join } from "path";
4
+ function _instanceof(left, right) {
5
+ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
6
+ }
7
+ function generateSecret() {
8
+ var length = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 32;
9
+ return randomBytes(length).toString("hex");
10
+ }
11
+ function envFileExists(cwd) {
12
+ var filename = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ".env";
13
+ return existsSync(join(cwd, filename));
14
+ }
15
+ function copyEnvFile(cwd, source, target) {
16
+ var sourcePath = join(cwd, source),
17
+ targetPath = join(cwd, target);
18
+ if (!existsSync(sourcePath)) return {
19
+ success: !1,
20
+ error: `Source file ${source} not found`
21
+ };
22
+ if (existsSync(targetPath)) return {
23
+ success: !1,
24
+ error: `Target file ${target} already exists`
25
+ };
26
+ try {
27
+ return copyFileSync(sourcePath, targetPath), {
28
+ success: !0
29
+ };
30
+ } catch (error) {
31
+ return {
32
+ success: !1,
33
+ error: _instanceof(error, Error) ? error.message : "Unknown error"
34
+ };
35
+ }
36
+ }
37
+ function updateEnvVariable(cwd, key, value) {
38
+ var filename = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ".env",
39
+ envPath = join(cwd, filename);
40
+ if (!existsSync(envPath)) return {
41
+ success: !1,
42
+ error: `${filename} not found`
43
+ };
44
+ try {
45
+ var content = readFileSync(envPath, "utf-8"),
46
+ keyRegex = new RegExp(`^${key}=.*$`, "m");
47
+ return keyRegex.test(content) ? content = content.replace(keyRegex, `${key}=${value}`) : content = content.trimEnd() + `
48
+ ${key}=${value}
49
+ `, writeFileSync(envPath, content, "utf-8"), {
50
+ success: !0
51
+ };
52
+ } catch (error) {
53
+ return {
54
+ success: !1,
55
+ error: _instanceof(error, Error) ? error.message : "Unknown error"
56
+ };
57
+ }
58
+ }
59
+ function createEnvLocal(cwd) {
60
+ var envLocalPath = join(cwd, ".env.local");
61
+ if (existsSync(envLocalPath)) return {
62
+ success: !0
63
+ };
64
+ var template = `# Local environment overrides
65
+ # This file is gitignored and never committed
66
+ # Add your personal secrets and local configuration here
67
+ # These values override .env
68
+
69
+ # Example:
70
+ # BETTER_AUTH_SECRET=your-secret-here
71
+ # AWS_ACCESS_KEY_ID=your-key-here
72
+ `;
73
+ try {
74
+ return writeFileSync(envLocalPath, template, "utf-8"), {
75
+ success: !0
76
+ };
77
+ } catch (error) {
78
+ return {
79
+ success: !1,
80
+ error: _instanceof(error, Error) ? error.message : "Unknown error"
81
+ };
82
+ }
83
+ }
84
+ function readEnvVariable(cwd, key) {
85
+ var filename = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ".env",
86
+ envPath = join(cwd, filename);
87
+ if (!existsSync(envPath)) return null;
88
+ try {
89
+ var _match_,
90
+ content = readFileSync(envPath, "utf-8"),
91
+ keyRegex = new RegExp(`^${key}=(.*)$`, "m"),
92
+ match = content.match(keyRegex);
93
+ return (match == null || (_match_ = match[1]) === null || _match_ === void 0 ? void 0 : _match_.trim().replace(/^["']|["']$/g, "")) || null;
94
+ } catch {
95
+ return null;
96
+ }
97
+ }
98
+ export { copyEnvFile, createEnvLocal, envFileExists, generateSecret, readEnvVariable, updateEnvVariable };
99
+ //# sourceMappingURL=env.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["randomBytes","copyFileSync","existsSync","readFileSync","writeFileSync","join","_instanceof","left","right","Symbol","hasInstance","generateSecret","length","arguments","toString","envFileExists","cwd","filename","copyEnvFile","source","target","sourcePath","targetPath","success","error","Error","message","updateEnvVariable","key","value","envPath","content","keyRegex","RegExp","test","replace","trimEnd","createEnvLocal","envLocalPath","template"],"sources":["../../../src/utils/env.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,WAAA,QAAmB;AAC5B,SAASC,YAAA,EAAcC,UAAA,EAAYC,YAAA,EAAcC,aAAA,QAAqB;AACtE,SAASC,IAAA,QAAY;AAEd,SAASC,YAAAC,IAAe,EAAAC,KAAA,EAAS;EACtC,OAAOA,KAAA,QAAY,WAAQC,MAAS,MAAK,IAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA,MAAAF,KAAA,CAAAC,MAAA,CAAAC,WAAA,EAAAH,IAAA,IAAAA,IAAA,YAAAC,KAAA;AAC3C;AAEO,SAASG,cAAcA,CAAA;EAC5B,IAAAC,MAAO,GAAAC,SAAW,CAAKD,MAAK,QAASC,SAAA,iBAAAA,SAAA;EACvC,OAAAb,WAAA,CAAAY,MAAA,EAAAE,QAAA;AAEO;AAKL,SAAMC,aAAaA,CAAAC,GAAK;EAGxB,IAAIC,QAAC,GAAAJ,SAAW,CAAAD,MAAU,QAAAC,SAAA,iBAAAA,SAAA;EACxB,OAAAX,UAAS,CAAAG,IAAS,CAAAW,GAAO,EAAAC,QAAO;AAGlC;AACE,SAAAC,WAASA,CAAAF,GAAS,EAAOG,MAAA,EAAOC,MAAA;EAGlC,IAAIC,UAAA,GAAAhB,IAAA,CAAAW,GAAA,EAAAG,MAAA;IAAAG,UAAA,GAAAjB,IAAA,CAAAW,GAAA,EAAAI,MAAA;EACF,KAAAlB,UAAA,CAAAmB,UAAa,GAEf,OAAS;IACPE,OAAO;IACLC,KAAA,iBAASL,MAAA;EAAA;EACuC,IAClDjB,UAAA,CAAAoB,UAAA,GACF;IACFC,OAAA;IAEOC,KAAS,iBACdJ,MACA;EAIA;EAEA,IAAI;IACF,OAAOnB,YAAW,CAAAoB,UAAc,EAAGC,UAAQ;MAGzCC,OAAA;IACF;EAGA,SAAMC,KAAA;IAEN,OAAI;MAKoCD,OAAI,EAAK;MAGjDC,KAAA,EAAAlB,WAAc,CAAAkB,KAAS,EAAAC,KAAS,IAAAD,KACzB,CAAEE,OAAA,GAAS;IACpB;EACE;AAAO;AACI,SACTC,iBAAOA,CAAAX,GAAiB,EAAAY,GAAA,EAAAC,KAAQ,EAAM;EAAU,IAClDZ,QAAA,GAAAJ,SAAA,CAAAD,MAAA,QAAAC,SAAA,iBAAAA,SAAA;IAAAiB,OAAA,GAAAzB,IAAA,CAAAW,GAAA,EAAAC,QAAA;EACF,KAAAf,UAAA,CAAA4B,OAAA,GACF;IAEOP,OAAS;IACdC,KAAM,KAAAP,QAAe;EAErB;EACE;IAGF,IAAMc,OAAA,GAAA5B,YAAW,CAAA2B,OAAA;MAAAE,QAAA,OAAAC,MAAA,KAAAL,GAAA;IAAA,OAAAI,QAAA,CAAAE,IAAA,CAAAH,OAAA,IAAAA,OAAA,GAAAA,OAAA,CAAAI,OAAA,CAAAH,QAAA,KAAAJ,GAAA,IAAAC,KAAA,MAAAE,OAAA,GAAAA,OAAA,CAAAK,OAAA;AAAA,EAAAR,GAAA,IAAAC,KAAA;AAAA,GAAAzB,aAAA,CAAA0B,OAAA,EAAAC,OAAA;MAAAR,OAAA;IAAA;EAAA,SAAAC,KAAA;IAAA;MAAAD,OAAA;MAUbC,KAAA,EAAAlB,WAAA,CAAAkB,KAAA,EAAAC,KAAA,IAAAD,KAAA,CAAAE,OAAA;IACF;EAEF;AACE;AAAO,SACLW,cAASA,CAAArB,GAAA;EAAA,IACTsB,YAAO,GAAAjC,IAAA,CAAAW,GAAA,EAAiB,YAAQ,CAAM;EAAU,IAClDd,UAAA,CAAAoC,YAAA,GACF;IACFf,OAAA;EAEO;EAKL,IAAAgB,QAAM;AAEN;AACE;AAGF;AACE;AAGA;AAAyD;AAEzD;AAAO;EAEX","ignoreList":[]}