@fredlackey/devutils 0.0.18 → 0.1.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.
Files changed (447) hide show
  1. package/README.md +214 -141
  2. package/package.json +8 -83
  3. package/src/api/loader.js +229 -0
  4. package/src/api/registry.json +62 -0
  5. package/src/cli.js +293 -60
  6. package/src/commands/ai/index.js +16 -0
  7. package/src/commands/ai/launch.js +112 -0
  8. package/src/commands/ai/list.js +54 -0
  9. package/src/commands/ai/resume.js +70 -0
  10. package/src/commands/ai/sessions.js +121 -0
  11. package/src/commands/ai/set.js +131 -0
  12. package/src/commands/ai/show.js +74 -0
  13. package/src/commands/ai/tools.js +46 -0
  14. package/src/commands/alias/add.js +93 -0
  15. package/src/commands/alias/helpers.js +107 -0
  16. package/src/commands/alias/index.js +14 -0
  17. package/src/commands/alias/list.js +55 -0
  18. package/src/commands/alias/remove.js +62 -0
  19. package/src/commands/alias/sync.js +109 -0
  20. package/src/commands/api/disable.js +73 -0
  21. package/src/commands/api/enable.js +148 -0
  22. package/src/commands/api/index.js +15 -0
  23. package/src/commands/api/list.js +66 -0
  24. package/src/commands/api/update.js +87 -0
  25. package/src/commands/auth/index.js +15 -0
  26. package/src/commands/auth/list.js +49 -0
  27. package/src/commands/auth/login.js +384 -0
  28. package/src/commands/auth/logout.js +111 -0
  29. package/src/commands/auth/refresh.js +184 -0
  30. package/src/commands/auth/services.js +169 -0
  31. package/src/commands/auth/status.js +104 -0
  32. package/src/commands/config/export.js +224 -0
  33. package/src/commands/config/get.js +52 -0
  34. package/src/commands/config/import.js +308 -0
  35. package/src/commands/config/index.js +17 -0
  36. package/src/commands/config/init.js +143 -0
  37. package/src/commands/config/reset.js +57 -0
  38. package/src/commands/config/set.js +93 -0
  39. package/src/commands/config/show.js +35 -0
  40. package/src/commands/help.js +338 -0
  41. package/src/commands/identity/add.js +133 -0
  42. package/src/commands/identity/index.js +17 -0
  43. package/src/commands/identity/link.js +76 -0
  44. package/src/commands/identity/list.js +48 -0
  45. package/src/commands/identity/remove.js +72 -0
  46. package/src/commands/identity/show.js +65 -0
  47. package/src/commands/identity/sync.js +172 -0
  48. package/src/commands/identity/unlink.js +57 -0
  49. package/src/commands/ignore/add.js +165 -0
  50. package/src/commands/ignore/index.js +14 -0
  51. package/src/commands/ignore/list.js +89 -0
  52. package/src/commands/ignore/markers.js +43 -0
  53. package/src/commands/ignore/remove.js +164 -0
  54. package/src/commands/ignore/show.js +169 -0
  55. package/src/commands/machine/detect.js +122 -0
  56. package/src/commands/machine/index.js +14 -0
  57. package/src/commands/machine/list.js +74 -0
  58. package/src/commands/machine/set.js +106 -0
  59. package/src/commands/machine/show.js +35 -0
  60. package/src/commands/schema.js +152 -0
  61. package/src/commands/search/collections.js +134 -0
  62. package/src/commands/search/get.js +71 -0
  63. package/src/commands/search/index-cmd.js +54 -0
  64. package/src/commands/search/index.js +21 -0
  65. package/src/commands/search/keyword.js +60 -0
  66. package/src/commands/search/qmd.js +70 -0
  67. package/src/commands/search/query.js +64 -0
  68. package/src/commands/search/semantic.js +62 -0
  69. package/src/commands/search/status.js +46 -0
  70. package/src/commands/status.js +224 -171
  71. package/src/commands/tools/check.js +79 -0
  72. package/src/commands/tools/index.js +14 -0
  73. package/src/commands/tools/install.js +110 -0
  74. package/src/commands/tools/list.js +91 -0
  75. package/src/commands/tools/search.js +60 -0
  76. package/src/commands/update.js +83 -112
  77. package/src/commands/util/add.js +151 -0
  78. package/src/commands/util/index.js +15 -0
  79. package/src/commands/util/list.js +97 -0
  80. package/src/commands/util/remove.js +76 -0
  81. package/src/commands/util/run.js +79 -0
  82. package/src/commands/util/show.js +67 -0
  83. package/src/commands/version.js +21 -88
  84. package/src/installers/_template.js +104 -0
  85. package/src/installers/git.js +150 -0
  86. package/src/installers/homebrew.js +190 -0
  87. package/src/installers/node.js +223 -0
  88. package/src/installers/registry.json +29 -0
  89. package/src/lib/config.js +125 -0
  90. package/src/lib/detect.js +74 -0
  91. package/src/lib/errors.js +114 -0
  92. package/src/lib/github.js +315 -0
  93. package/src/lib/installer.js +225 -0
  94. package/src/lib/output.js +239 -0
  95. package/src/lib/platform.js +112 -0
  96. package/src/lib/platforms/amazon-linux.js +41 -0
  97. package/src/lib/platforms/gitbash.js +46 -0
  98. package/src/lib/platforms/macos.js +45 -0
  99. package/src/lib/platforms/raspbian.js +41 -0
  100. package/src/lib/platforms/ubuntu.js +39 -0
  101. package/src/lib/platforms/windows.js +45 -0
  102. package/src/lib/prompt.js +161 -0
  103. package/src/lib/schema.js +211 -0
  104. package/src/lib/shell.js +75 -0
  105. package/src/patterns/gitignore/claude-code.txt +25 -0
  106. package/src/patterns/gitignore/docker.txt +15 -0
  107. package/src/patterns/gitignore/go.txt +24 -0
  108. package/src/patterns/gitignore/java.txt +38 -0
  109. package/src/patterns/gitignore/jetbrains.txt +26 -0
  110. package/src/patterns/gitignore/linux.txt +18 -0
  111. package/src/patterns/gitignore/macos.txt +27 -0
  112. package/src/patterns/gitignore/node.txt +51 -0
  113. package/src/patterns/gitignore/python.txt +55 -0
  114. package/src/patterns/gitignore/rust.txt +14 -0
  115. package/src/patterns/gitignore/terraform.txt +30 -0
  116. package/src/patterns/gitignore/vscode.txt +15 -0
  117. package/src/patterns/gitignore/windows.txt +25 -0
  118. package/src/utils/clone/index.js +165 -0
  119. package/src/utils/git-push/index.js +230 -0
  120. package/src/utils/git-status/index.js +116 -0
  121. package/src/utils/git-status/unix.sh +75 -0
  122. package/src/utils/registry.json +41 -0
  123. package/bin/dev.js +0 -16
  124. package/files/README.md +0 -0
  125. package/files/claude/.claude/commands/setup-context.md +0 -3
  126. package/files/monorepos/_archive/README.md +0 -36
  127. package/files/monorepos/_legacy/README.md +0 -36
  128. package/files/monorepos/ai-docs/README.md +0 -33
  129. package/files/monorepos/apps/README.md +0 -24
  130. package/files/monorepos/docs/README.md +0 -40
  131. package/files/monorepos/packages/README.md +0 -25
  132. package/files/monorepos/research/README.md +0 -29
  133. package/files/monorepos/scripts/README.md +0 -24
  134. package/src/commands/README.md +0 -41
  135. package/src/commands/configure.js +0 -199
  136. package/src/commands/identity.js +0 -1630
  137. package/src/commands/ignore.js +0 -247
  138. package/src/commands/install.js +0 -526
  139. package/src/commands/setup.js +0 -246
  140. package/src/completion.js +0 -284
  141. package/src/constants.js +0 -45
  142. package/src/ignore/claude-code.txt +0 -10
  143. package/src/ignore/docker.txt +0 -18
  144. package/src/ignore/linux.txt +0 -23
  145. package/src/ignore/macos.txt +0 -36
  146. package/src/ignore/node.txt +0 -55
  147. package/src/ignore/terraform.txt +0 -37
  148. package/src/ignore/vscode.txt +0 -18
  149. package/src/ignore/windows.txt +0 -35
  150. package/src/index.js +0 -0
  151. package/src/installs/README.md +0 -399
  152. package/src/installs/adobe-creative-cloud.js +0 -546
  153. package/src/installs/adobe-creative-cloud.md +0 -605
  154. package/src/installs/appcleaner.js +0 -321
  155. package/src/installs/appcleaner.md +0 -699
  156. package/src/installs/apt-transport-https.js +0 -390
  157. package/src/installs/apt-transport-https.md +0 -678
  158. package/src/installs/atomicparsley.js +0 -642
  159. package/src/installs/atomicparsley.md +0 -795
  160. package/src/installs/aws-cli.js +0 -797
  161. package/src/installs/aws-cli.md +0 -727
  162. package/src/installs/balena-etcher.js +0 -710
  163. package/src/installs/balena-etcher.md +0 -761
  164. package/src/installs/bambu-studio.js +0 -1143
  165. package/src/installs/bambu-studio.md +0 -780
  166. package/src/installs/bash-completion.js +0 -575
  167. package/src/installs/bash-completion.md +0 -833
  168. package/src/installs/bash.js +0 -417
  169. package/src/installs/bash.md +0 -993
  170. package/src/installs/beyond-compare.js +0 -603
  171. package/src/installs/beyond-compare.md +0 -813
  172. package/src/installs/brave-browser.js +0 -968
  173. package/src/installs/brave-browser.md +0 -650
  174. package/src/installs/build-essential.js +0 -529
  175. package/src/installs/build-essential.md +0 -977
  176. package/src/installs/ca-certificates.js +0 -618
  177. package/src/installs/ca-certificates.md +0 -937
  178. package/src/installs/caffeine.js +0 -508
  179. package/src/installs/caffeine.md +0 -839
  180. package/src/installs/camtasia.js +0 -596
  181. package/src/installs/camtasia.md +0 -762
  182. package/src/installs/chatgpt.js +0 -476
  183. package/src/installs/chatgpt.md +0 -814
  184. package/src/installs/chocolatey.js +0 -456
  185. package/src/installs/chocolatey.md +0 -661
  186. package/src/installs/chrome-canary.js +0 -419
  187. package/src/installs/chrome-canary.md +0 -641
  188. package/src/installs/chromium.js +0 -667
  189. package/src/installs/chromium.md +0 -838
  190. package/src/installs/claude-code.js +0 -576
  191. package/src/installs/claude-code.md +0 -1173
  192. package/src/installs/cloudflare-warp.js +0 -900
  193. package/src/installs/cloudflare-warp.md +0 -1047
  194. package/src/installs/comet-browser.js +0 -588
  195. package/src/installs/comet-browser.md +0 -731
  196. package/src/installs/curl.js +0 -379
  197. package/src/installs/curl.md +0 -714
  198. package/src/installs/cursor.js +0 -579
  199. package/src/installs/cursor.md +0 -970
  200. package/src/installs/dbeaver.js +0 -924
  201. package/src/installs/dbeaver.md +0 -939
  202. package/src/installs/dbschema.js +0 -692
  203. package/src/installs/dbschema.md +0 -925
  204. package/src/installs/dependencies.md +0 -453
  205. package/src/installs/development-tools.js +0 -600
  206. package/src/installs/development-tools.md +0 -977
  207. package/src/installs/docker.js +0 -1029
  208. package/src/installs/docker.md +0 -1109
  209. package/src/installs/drawio.js +0 -1019
  210. package/src/installs/drawio.md +0 -795
  211. package/src/installs/elmedia-player.js +0 -347
  212. package/src/installs/elmedia-player.md +0 -556
  213. package/src/installs/ffmpeg.js +0 -889
  214. package/src/installs/ffmpeg.md +0 -852
  215. package/src/installs/file.js +0 -464
  216. package/src/installs/file.md +0 -987
  217. package/src/installs/gemini-cli.js +0 -811
  218. package/src/installs/gemini-cli.md +0 -1153
  219. package/src/installs/git.js +0 -400
  220. package/src/installs/git.md +0 -907
  221. package/src/installs/gitego.js +0 -949
  222. package/src/installs/gitego.md +0 -1172
  223. package/src/installs/go.js +0 -931
  224. package/src/installs/go.md +0 -958
  225. package/src/installs/google-antigravity.js +0 -913
  226. package/src/installs/google-antigravity.md +0 -1075
  227. package/src/installs/google-chrome.js +0 -833
  228. package/src/installs/google-chrome.md +0 -862
  229. package/src/installs/gpg.js +0 -480
  230. package/src/installs/gpg.md +0 -1056
  231. package/src/installs/homebrew.js +0 -1028
  232. package/src/installs/homebrew.md +0 -988
  233. package/src/installs/imageoptim.js +0 -968
  234. package/src/installs/imageoptim.md +0 -1119
  235. package/src/installs/installers.json +0 -4032
  236. package/src/installs/installers.json.tmp +0 -3953
  237. package/src/installs/jq.js +0 -400
  238. package/src/installs/jq.md +0 -809
  239. package/src/installs/keyboard-maestro.js +0 -719
  240. package/src/installs/keyboard-maestro.md +0 -825
  241. package/src/installs/kiro.js +0 -864
  242. package/src/installs/kiro.md +0 -1015
  243. package/src/installs/latex.js +0 -789
  244. package/src/installs/latex.md +0 -1095
  245. package/src/installs/lftp.js +0 -356
  246. package/src/installs/lftp.md +0 -907
  247. package/src/installs/lsb-release.js +0 -346
  248. package/src/installs/lsb-release.md +0 -814
  249. package/src/installs/messenger.js +0 -847
  250. package/src/installs/messenger.md +0 -900
  251. package/src/installs/microsoft-office.js +0 -568
  252. package/src/installs/microsoft-office.md +0 -760
  253. package/src/installs/microsoft-teams.js +0 -801
  254. package/src/installs/microsoft-teams.md +0 -886
  255. package/src/installs/moom.js +0 -326
  256. package/src/installs/moom.md +0 -570
  257. package/src/installs/node.js +0 -904
  258. package/src/installs/node.md +0 -1153
  259. package/src/installs/nordpass.js +0 -716
  260. package/src/installs/nordpass.md +0 -921
  261. package/src/installs/nordvpn.js +0 -892
  262. package/src/installs/nordvpn.md +0 -1052
  263. package/src/installs/nvm.js +0 -995
  264. package/src/installs/nvm.md +0 -1057
  265. package/src/installs/ohmyzsh.js +0 -529
  266. package/src/installs/ohmyzsh.md +0 -1094
  267. package/src/installs/openssh.js +0 -804
  268. package/src/installs/openssh.md +0 -1056
  269. package/src/installs/pandoc.js +0 -662
  270. package/src/installs/pandoc.md +0 -1036
  271. package/src/installs/parallels-desktop.js +0 -431
  272. package/src/installs/parallels-desktop.md +0 -446
  273. package/src/installs/pinentry.js +0 -510
  274. package/src/installs/pinentry.md +0 -1142
  275. package/src/installs/pngyu.js +0 -869
  276. package/src/installs/pngyu.md +0 -896
  277. package/src/installs/postman.js +0 -799
  278. package/src/installs/postman.md +0 -940
  279. package/src/installs/procps.js +0 -425
  280. package/src/installs/procps.md +0 -851
  281. package/src/installs/safari-tech-preview.js +0 -374
  282. package/src/installs/safari-tech-preview.md +0 -533
  283. package/src/installs/sfnt2woff.js +0 -658
  284. package/src/installs/sfnt2woff.md +0 -795
  285. package/src/installs/shellcheck.js +0 -481
  286. package/src/installs/shellcheck.md +0 -1005
  287. package/src/installs/slack.js +0 -741
  288. package/src/installs/slack.md +0 -865
  289. package/src/installs/snagit.js +0 -585
  290. package/src/installs/snagit.md +0 -844
  291. package/src/installs/software-properties-common.js +0 -372
  292. package/src/installs/software-properties-common.md +0 -805
  293. package/src/installs/spotify.js +0 -877
  294. package/src/installs/spotify.md +0 -901
  295. package/src/installs/studio-3t.js +0 -823
  296. package/src/installs/studio-3t.md +0 -918
  297. package/src/installs/sublime-text.js +0 -804
  298. package/src/installs/sublime-text.md +0 -914
  299. package/src/installs/superwhisper.js +0 -706
  300. package/src/installs/superwhisper.md +0 -630
  301. package/src/installs/tailscale.js +0 -745
  302. package/src/installs/tailscale.md +0 -1100
  303. package/src/installs/tar.js +0 -389
  304. package/src/installs/tar.md +0 -946
  305. package/src/installs/termius.js +0 -798
  306. package/src/installs/termius.md +0 -844
  307. package/src/installs/terraform.js +0 -779
  308. package/src/installs/terraform.md +0 -899
  309. package/src/installs/tfenv.js +0 -778
  310. package/src/installs/tfenv.md +0 -1091
  311. package/src/installs/tidal.js +0 -771
  312. package/src/installs/tidal.md +0 -864
  313. package/src/installs/tmux.js +0 -346
  314. package/src/installs/tmux.md +0 -1030
  315. package/src/installs/tree.js +0 -411
  316. package/src/installs/tree.md +0 -833
  317. package/src/installs/unzip.js +0 -460
  318. package/src/installs/unzip.md +0 -879
  319. package/src/installs/vim.js +0 -421
  320. package/src/installs/vim.md +0 -1040
  321. package/src/installs/vlc.js +0 -821
  322. package/src/installs/vlc.md +0 -927
  323. package/src/installs/vscode.js +0 -843
  324. package/src/installs/vscode.md +0 -1002
  325. package/src/installs/wget.js +0 -420
  326. package/src/installs/wget.md +0 -791
  327. package/src/installs/whatsapp.js +0 -729
  328. package/src/installs/whatsapp.md +0 -854
  329. package/src/installs/winpty.js +0 -352
  330. package/src/installs/winpty.md +0 -620
  331. package/src/installs/woff2.js +0 -553
  332. package/src/installs/woff2.md +0 -977
  333. package/src/installs/wsl.js +0 -572
  334. package/src/installs/wsl.md +0 -699
  335. package/src/installs/xcode-clt.js +0 -520
  336. package/src/installs/xcode-clt.md +0 -351
  337. package/src/installs/xcode.js +0 -560
  338. package/src/installs/xcode.md +0 -573
  339. package/src/installs/yarn.js +0 -824
  340. package/src/installs/yarn.md +0 -1074
  341. package/src/installs/yq.js +0 -654
  342. package/src/installs/yq.md +0 -944
  343. package/src/installs/yt-dlp.js +0 -701
  344. package/src/installs/yt-dlp.md +0 -946
  345. package/src/installs/yum-utils.js +0 -297
  346. package/src/installs/yum-utils.md +0 -648
  347. package/src/installs/zoom.js +0 -759
  348. package/src/installs/zoom.md +0 -884
  349. package/src/installs/zsh.js +0 -455
  350. package/src/installs/zsh.md +0 -1008
  351. package/src/scripts/README.md +0 -617
  352. package/src/scripts/STATUS.md +0 -208
  353. package/src/scripts/afk.js +0 -411
  354. package/src/scripts/backup-all.js +0 -746
  355. package/src/scripts/backup-source.js +0 -727
  356. package/src/scripts/brewd.js +0 -389
  357. package/src/scripts/brewi.js +0 -520
  358. package/src/scripts/brewr.js +0 -527
  359. package/src/scripts/brews.js +0 -477
  360. package/src/scripts/brewu.js +0 -504
  361. package/src/scripts/c.js +0 -201
  362. package/src/scripts/ccurl.js +0 -341
  363. package/src/scripts/certbot-crontab-init.js +0 -504
  364. package/src/scripts/certbot-init.js +0 -657
  365. package/src/scripts/ch.js +0 -355
  366. package/src/scripts/claude-danger.js +0 -268
  367. package/src/scripts/clean-dev.js +0 -435
  368. package/src/scripts/clear-dns-cache.js +0 -541
  369. package/src/scripts/clone.js +0 -435
  370. package/src/scripts/code-all.js +0 -437
  371. package/src/scripts/count-files.js +0 -211
  372. package/src/scripts/count-folders.js +0 -211
  373. package/src/scripts/count.js +0 -264
  374. package/src/scripts/d.js +0 -219
  375. package/src/scripts/datauri.js +0 -389
  376. package/src/scripts/delete-files.js +0 -380
  377. package/src/scripts/docker-clean.js +0 -426
  378. package/src/scripts/dp.js +0 -442
  379. package/src/scripts/e.js +0 -390
  380. package/src/scripts/empty-trash.js +0 -513
  381. package/src/scripts/evm.js +0 -444
  382. package/src/scripts/fetch-github-repos.js +0 -456
  383. package/src/scripts/get-channel.js +0 -345
  384. package/src/scripts/get-course.js +0 -399
  385. package/src/scripts/get-dependencies.js +0 -306
  386. package/src/scripts/get-folder.js +0 -799
  387. package/src/scripts/get-tunes.js +0 -426
  388. package/src/scripts/get-video.js +0 -367
  389. package/src/scripts/git-backup.js +0 -577
  390. package/src/scripts/git-clone.js +0 -493
  391. package/src/scripts/git-pup.js +0 -319
  392. package/src/scripts/git-push.js +0 -396
  393. package/src/scripts/h.js +0 -622
  394. package/src/scripts/hide-desktop-icons.js +0 -499
  395. package/src/scripts/hide-hidden-files.js +0 -538
  396. package/src/scripts/install-dependencies-from.js +0 -456
  397. package/src/scripts/ips.js +0 -663
  398. package/src/scripts/iso.js +0 -370
  399. package/src/scripts/killni.js +0 -577
  400. package/src/scripts/ll.js +0 -467
  401. package/src/scripts/local-ip.js +0 -325
  402. package/src/scripts/m.js +0 -524
  403. package/src/scripts/map.js +0 -309
  404. package/src/scripts/mkd.js +0 -351
  405. package/src/scripts/ncu-update-all.js +0 -457
  406. package/src/scripts/nginx-init.js +0 -718
  407. package/src/scripts/npmi.js +0 -382
  408. package/src/scripts/o.js +0 -511
  409. package/src/scripts/org-by-date.js +0 -338
  410. package/src/scripts/p.js +0 -224
  411. package/src/scripts/packages.js +0 -330
  412. package/src/scripts/path.js +0 -225
  413. package/src/scripts/ports.js +0 -597
  414. package/src/scripts/q.js +0 -305
  415. package/src/scripts/refresh-files.js +0 -394
  416. package/src/scripts/remove-smaller-files.js +0 -516
  417. package/src/scripts/rename-files-with-date.js +0 -533
  418. package/src/scripts/resize-image.js +0 -539
  419. package/src/scripts/rm-safe.js +0 -669
  420. package/src/scripts/s.js +0 -540
  421. package/src/scripts/set-git-public.js +0 -365
  422. package/src/scripts/show-desktop-icons.js +0 -475
  423. package/src/scripts/show-hidden-files.js +0 -472
  424. package/src/scripts/tpa.js +0 -280
  425. package/src/scripts/tpo.js +0 -280
  426. package/src/scripts/u.js +0 -505
  427. package/src/scripts/vpush.js +0 -437
  428. package/src/scripts/y.js +0 -283
  429. package/src/utils/README.md +0 -95
  430. package/src/utils/common/apps.js +0 -143
  431. package/src/utils/common/display.js +0 -157
  432. package/src/utils/common/network.js +0 -185
  433. package/src/utils/common/os.js +0 -294
  434. package/src/utils/common/package-manager.js +0 -301
  435. package/src/utils/common/privileges.js +0 -138
  436. package/src/utils/common/shell.js +0 -261
  437. package/src/utils/macos/apps.js +0 -228
  438. package/src/utils/macos/brew.js +0 -315
  439. package/src/utils/ubuntu/apt.js +0 -307
  440. package/src/utils/ubuntu/desktop.js +0 -292
  441. package/src/utils/ubuntu/snap.js +0 -344
  442. package/src/utils/ubuntu/systemd.js +0 -286
  443. package/src/utils/windows/choco.js +0 -465
  444. package/src/utils/windows/env.js +0 -246
  445. package/src/utils/windows/registry.js +0 -269
  446. package/src/utils/windows/shell.js +0 -240
  447. package/src/utils/windows/winget.js +0 -489
@@ -1,533 +0,0 @@
1
- # Installing Safari Technology Preview
2
-
3
- ## Overview
4
-
5
- Safari Technology Preview is Apple's experimental version of the Safari web browser, designed for developers and advanced users who want early access to upcoming web technologies. Released approximately every two weeks, Safari Technology Preview contains the latest WebKit engine updates, experimental web APIs, developer tools enhancements, and potential Safari features before they reach the stable Safari release.
6
-
7
- Safari Technology Preview runs alongside your existing Safari installation, maintaining a separate configuration. This allows you to test new web technologies and debug compatibility issues without affecting your primary browser experience. It integrates with iCloud to sync your bookmarks, favorites, and Reading List from your main Safari installation.
8
-
9
- **Important**: Safari Technology Preview is intended for testing and development purposes. It may contain bugs or exhibit unexpected behavior. Apple does not recommend using it as your primary browser.
10
-
11
- ## Prerequisites
12
-
13
- Before installing Safari Technology Preview, ensure:
14
-
15
- 1. **macOS Sequoia (15.x) or later** - Safari Technology Preview requires macOS 15.0 or newer
16
- 2. **Internet connectivity** - Required to download the installer
17
- 3. **Sufficient disk space** - Approximately 200 MB for installation
18
- 4. **Administrative privileges** - Required for installation via Homebrew
19
-
20
- **Critical Limitation**: Safari Technology Preview is **exclusively available for macOS**. Apple does not release Safari Technology Preview (or any version of Safari) for Windows, Linux, or any other operating system. This is a fundamental platform restriction, not a packaging limitation.
21
-
22
- ## Dependencies
23
-
24
- ### macOS (Homebrew)
25
- - **Required:**
26
- - `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or `dev install homebrew`
27
- - macOS 15.0 (Sequoia) or later - Upgrade via System Settings > General > Software Update
28
- - **Optional:** None
29
- - **Auto-installed:** None
30
-
31
- ### Ubuntu (APT/Snap)
32
- - **Installation not supported on this platform.** Apple does not release Safari or Safari Technology Preview for Linux distributions.
33
-
34
- ### Raspberry Pi OS (APT/Snap)
35
- - **Installation not supported on this platform.** Apple does not release Safari or Safari Technology Preview for Linux distributions.
36
-
37
- ### Amazon Linux (DNF/YUM)
38
- - **Installation not supported on this platform.** Apple does not release Safari or Safari Technology Preview for RPM-based Linux distributions.
39
-
40
- ### Windows (Chocolatey/winget)
41
- - **Installation not supported on this platform.** Apple discontinued Safari for Windows in 2012; Safari Technology Preview has never been available for Windows.
42
-
43
- ### Git Bash (Manual/Portable)
44
- - **Installation not supported on this platform.** Git Bash runs on Windows, where Safari Technology Preview is not available.
45
-
46
- ## Platform-Specific Installation
47
-
48
- ### macOS (Homebrew)
49
-
50
- #### Prerequisites
51
-
52
- - macOS 15.0 (Sequoia) or later
53
- - Homebrew package manager installed
54
- - Terminal access
55
- - Apple Silicon (M1/M2/M3) or Intel processor
56
-
57
- If Homebrew is not installed, install it first:
58
-
59
- ```bash
60
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
61
- ```
62
-
63
- #### Installation Steps
64
-
65
- Run the following command to install Safari Technology Preview:
66
-
67
- ```bash
68
- brew install --cask --quiet safari-technology-preview
69
- ```
70
-
71
- The `--quiet` flag suppresses non-essential output, making the command suitable for automation scripts. The `--cask` flag specifies that this is a macOS application (as opposed to a command-line tool).
72
-
73
- Homebrew automatically detects your Mac's architecture (Apple Silicon or Intel) and downloads the appropriate build.
74
-
75
- #### Verification
76
-
77
- Confirm the installation succeeded by checking that the application exists:
78
-
79
- ```bash
80
- ls -la /Applications/Safari\ Technology\ Preview.app
81
- ```
82
-
83
- Expected output shows the application directory with its contents.
84
-
85
- Launch Safari Technology Preview to verify it opens correctly:
86
-
87
- ```bash
88
- open -a "Safari Technology Preview"
89
- ```
90
-
91
- To check the WebKit version, open Safari Technology Preview and navigate to `Safari Technology Preview > About Safari Technology Preview` in the menu bar.
92
-
93
- #### Troubleshooting
94
-
95
- **Problem**: `Error: Cask 'safari-technology-preview' requires macOS >= 15`
96
-
97
- **Solution**: Safari Technology Preview requires macOS Sequoia (15.0) or later. Upgrade your operating system to install Safari Technology Preview:
98
-
99
- ```bash
100
- # Check your current macOS version
101
- sw_vers -productVersion
102
- ```
103
-
104
- If you are running macOS 14 (Sonoma) or earlier, you must upgrade to macOS 15 or later before installing Safari Technology Preview.
105
-
106
- **Problem**: `brew: command not found`
107
-
108
- **Solution**: Homebrew is not in your PATH. Add it by running:
109
-
110
- ```bash
111
- # For Apple Silicon Macs
112
- eval "$(/opt/homebrew/bin/brew shellenv)"
113
-
114
- # For Intel Macs
115
- eval "$(/usr/local/bin/brew shellenv)"
116
- ```
117
-
118
- For a permanent fix, add the appropriate line to your `~/.zshrc` or `~/.bash_profile`.
119
-
120
- **Problem**: Installation fails with network errors
121
-
122
- **Solution**: Homebrew downloads Safari Technology Preview from Apple's servers. Verify network connectivity and retry:
123
-
124
- ```bash
125
- brew update && brew install --cask --quiet safari-technology-preview
126
- ```
127
-
128
- **Problem**: Quarantine warning when first launching
129
-
130
- **Solution**: macOS may quarantine downloaded applications. Remove the quarantine attribute:
131
-
132
- ```bash
133
- xattr -dr com.apple.quarantine /Applications/Safari\ Technology\ Preview.app
134
- ```
135
-
136
- **Problem**: Safari Technology Preview cannot be opened because Apple cannot check it for malicious software
137
-
138
- **Solution**: Right-click (or Control-click) the Safari Technology Preview app in Finder and select "Open" from the context menu. Click "Open" in the dialog that appears. This only needs to be done once.
139
-
140
- **Problem**: Previous installation exists and causes conflicts
141
-
142
- **Solution**: Uninstall the existing installation before reinstalling:
143
-
144
- ```bash
145
- brew uninstall --cask safari-technology-preview
146
- brew install --cask --quiet safari-technology-preview
147
- ```
148
-
149
- ---
150
-
151
- ### Ubuntu/Debian (APT)
152
-
153
- #### Platform Limitation
154
-
155
- **Safari Technology Preview is NOT available for Ubuntu, Debian, or any Linux distribution.**
156
-
157
- Apple develops Safari Technology Preview exclusively for macOS. Apple has never released Safari for Linux, and there are no official or third-party builds available. This is a deliberate business decision by Apple to keep Safari exclusive to their hardware and operating systems.
158
-
159
- #### Why This Limitation Exists
160
-
161
- Safari is deeply integrated with macOS system frameworks (Core Foundation, Core Graphics, Core Text, Security framework, etc.) that do not exist on Linux. Porting Safari to Linux would require rewriting significant portions of the browser and maintaining two separate codebases, which Apple has chosen not to do.
162
-
163
- #### Recommended Alternative
164
-
165
- For web development testing on Linux, use one of these approaches:
166
-
167
- **Option 1**: Use WebKitGTK, the open-source WebKit port for Linux:
168
-
169
- ```bash
170
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y webkit2gtk-4.0
171
- ```
172
-
173
- WebKitGTK shares the same WebKit rendering engine as Safari but differs in JavaScript engine performance and platform-specific features. It provides a reasonable approximation for testing WebKit compatibility.
174
-
175
- **Option 2**: Use a macOS virtual machine or cloud-based Mac service (such as MacStadium or AWS EC2 Mac instances) to test Safari Technology Preview in a real macOS environment.
176
-
177
- **Option 3**: Use cross-browser testing services like BrowserStack or Sauce Labs, which provide access to Safari on real Mac hardware.
178
-
179
- ---
180
-
181
- ### Raspberry Pi OS (APT)
182
-
183
- #### Platform Limitation
184
-
185
- **Safari Technology Preview is NOT available for Raspberry Pi OS.**
186
-
187
- Apple does not release Safari or Safari Technology Preview for any Linux distribution, including Raspberry Pi OS. Additionally, Raspberry Pi devices use ARM processors running Linux, which Safari has never supported.
188
-
189
- #### Why This Limitation Exists
190
-
191
- Safari is exclusive to Apple platforms. Even if Safari were available for Linux, Raspberry Pi OS would face additional compatibility challenges due to its ARM architecture and limited system resources compared to desktop systems.
192
-
193
- #### Recommended Alternative
194
-
195
- For WebKit-based testing on Raspberry Pi OS, use the Epiphany browser (GNOME Web), which is based on WebKitGTK:
196
-
197
- ```bash
198
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y epiphany-browser
199
- ```
200
-
201
- Verify installation:
202
-
203
- ```bash
204
- epiphany --version
205
- ```
206
-
207
- **Note**: Epiphany uses the WebKit rendering engine but may not reflect the exact behavior of Safari Technology Preview. For accurate Safari testing, use a Mac or a cloud-based Mac testing service.
208
-
209
- ---
210
-
211
- ### Amazon Linux/RHEL (DNF/YUM)
212
-
213
- #### Platform Limitation
214
-
215
- **Safari Technology Preview is NOT available for Amazon Linux, RHEL, CentOS, Fedora, or any RPM-based Linux distribution.**
216
-
217
- Apple develops Safari and Safari Technology Preview exclusively for macOS. There are no official builds for any Linux distribution.
218
-
219
- #### Why This Limitation Exists
220
-
221
- Apple has never released Safari for Linux. Safari relies on macOS-specific system frameworks and APIs that have no equivalents on Linux. Apple's business strategy keeps Safari as a differentiating feature for Mac computers.
222
-
223
- #### Recommended Alternative
224
-
225
- For WebKit testing on Amazon Linux or RHEL systems:
226
-
227
- **Option 1**: Use WebKitGTK (if available in your distribution):
228
-
229
- ```bash
230
- # Amazon Linux 2023 / Fedora
231
- sudo dnf install -y webkit2gtk4.0
232
-
233
- # Amazon Linux 2 / CentOS 7
234
- sudo yum install -y webkitgtk4
235
- ```
236
-
237
- **Option 2**: Deploy a macOS instance on AWS:
238
-
239
- Amazon EC2 offers Mac instances (mac1.metal, mac2.metal) that run macOS. You can install Safari Technology Preview on these instances for testing:
240
-
241
- 1. Launch an EC2 Mac instance
242
- 2. Connect via VNC or SSH with X forwarding
243
- 3. Install Safari Technology Preview using Homebrew
244
-
245
- **Option 3**: Use BrowserStack, Sauce Labs, or similar services that provide Safari access through their testing infrastructure.
246
-
247
- ---
248
-
249
- ### Windows (Chocolatey/winget)
250
-
251
- #### Platform Limitation
252
-
253
- **Safari Technology Preview is NOT available for Windows.**
254
-
255
- Apple discontinued Safari for Windows in 2012 with Safari 5.1.7. Since then, Apple has not released any version of Safari (including Safari Technology Preview) for Windows. The Windows version was deprecated due to low market share and the significant engineering effort required to maintain cross-platform compatibility.
256
-
257
- #### Why This Limitation Exists
258
-
259
- Safari relies heavily on macOS-specific technologies including Core Animation, Core Text, and the macOS Security framework. Maintaining Windows-compatible versions of these technologies proved unsustainable. Apple chose to focus Safari development exclusively on macOS and iOS.
260
-
261
- The last Safari version for Windows (5.1.7) is severely outdated, lacks modern web standards support, and contains known security vulnerabilities. Do not use Safari 5 for Windows under any circumstances.
262
-
263
- #### Recommended Alternative
264
-
265
- For testing Safari compatibility on Windows:
266
-
267
- **Option 1**: Use a cloud-based testing service:
268
-
269
- - BrowserStack (https://www.browserstack.com)
270
- - Sauce Labs (https://saucelabs.com)
271
- - LambdaTest (https://www.lambdatest.com)
272
-
273
- These services provide access to Safari on real Mac hardware through your web browser.
274
-
275
- **Option 2**: Use a macOS virtual machine:
276
-
277
- Run macOS in a virtual machine using VMware Workstation or similar virtualization software. Note that Apple's EULA only permits macOS virtualization on Apple hardware.
278
-
279
- **Option 3**: Use a physical Mac:
280
-
281
- For professional web development requiring Safari testing, consider obtaining a Mac mini, MacBook, or Mac Studio for your testing workflow.
282
-
283
- ---
284
-
285
- ### WSL (Ubuntu)
286
-
287
- #### Platform Limitation
288
-
289
- **Safari Technology Preview is NOT available for WSL (Windows Subsystem for Linux).**
290
-
291
- WSL runs a Linux environment on Windows, but Safari Technology Preview is only available for macOS. Neither Safari nor Safari Technology Preview has ever been released for any Linux distribution.
292
-
293
- #### Why This Limitation Exists
294
-
295
- WSL provides a Linux userland environment, not a macOS environment. Safari requires macOS-specific frameworks that do not exist in Linux or WSL. Even if Safari were available for Linux, it would not run in WSL.
296
-
297
- #### Recommended Alternative
298
-
299
- For WebKit-based testing in WSL:
300
-
301
- **Option 1**: Install WebKitGTK for basic WebKit rendering tests:
302
-
303
- ```bash
304
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y webkit2gtk-4.0
305
- ```
306
-
307
- **Option 2**: Use Playwright or Puppeteer with WebKit:
308
-
309
- Playwright supports WebKit testing on Linux, providing a closer approximation to Safari behavior:
310
-
311
- ```bash
312
- # Install Node.js if not present
313
- curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
314
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y nodejs
315
-
316
- # Install Playwright with WebKit
317
- npx playwright install webkit
318
- ```
319
-
320
- You can then run WebKit-based tests through Playwright's API.
321
-
322
- **Option 3**: Use cloud-based Safari testing services (BrowserStack, Sauce Labs) that provide access to Safari on real Mac hardware.
323
-
324
- ---
325
-
326
- ### Git Bash (Windows)
327
-
328
- #### Platform Limitation
329
-
330
- **Safari Technology Preview is NOT available for Git Bash or Windows.**
331
-
332
- Git Bash is a terminal emulator for Windows that provides a Bash shell and Unix utilities. It runs on Windows, and since Safari Technology Preview is not available for Windows, it cannot be installed or used through Git Bash.
333
-
334
- #### Why This Limitation Exists
335
-
336
- Git Bash provides a Unix-like command-line environment but does not change the underlying operating system. Since Safari Technology Preview requires macOS, and Git Bash runs on Windows, there is no installation path available.
337
-
338
- #### Recommended Alternative
339
-
340
- From Git Bash on Windows, you can interact with cloud-based Safari testing services via their APIs or CLI tools:
341
-
342
- **Using BrowserStack CLI**:
343
-
344
- ```bash
345
- # Download BrowserStack Local binary
346
- curl -L -o /tmp/BrowserStackLocal-win32.zip https://www.browserstack.com/browserstack-local/BrowserStackLocal-win32.zip
347
-
348
- # Extract and use
349
- unzip /tmp/BrowserStackLocal-win32.zip -d /c/tools/browserstack/
350
- /c/tools/browserstack/BrowserStackLocal.exe --key YOUR_ACCESS_KEY
351
- ```
352
-
353
- **Using Playwright** (if Node.js is installed):
354
-
355
- ```bash
356
- npx playwright install webkit
357
- npx playwright test --project=webkit
358
- ```
359
-
360
- Note: Playwright's WebKit on Windows uses a custom WebKit build, not actual Safari. For accurate Safari testing, use a Mac or cloud-based testing service.
361
-
362
- ---
363
-
364
- ## Post-Installation Configuration
365
-
366
- Safari Technology Preview includes several developer-focused features that require configuration.
367
-
368
- ### Enable the Develop Menu
369
-
370
- The Develop menu provides access to web development tools:
371
-
372
- 1. Open Safari Technology Preview
373
- 2. Go to **Safari Technology Preview > Settings** (or press `Cmd + ,`)
374
- 3. Click the **Advanced** tab
375
- 4. Check **Show features for web developers**
376
-
377
- The Develop menu now appears in the menu bar, providing access to:
378
- - Web Inspector
379
- - Responsive Design Mode
380
- - Empty Caches
381
- - Disable JavaScript, Images, and other features
382
- - Experimental Features submenu
383
-
384
- ### Access Experimental Features
385
-
386
- Safari Technology Preview includes experimental web features that may not be enabled by default:
387
-
388
- 1. Open the **Develop** menu
389
- 2. Select **Experimental Features**
390
- 3. Toggle individual features as needed for testing
391
-
392
- These features are subject to change and may be removed or modified in future releases.
393
-
394
- ### Enable Web Inspector
395
-
396
- To inspect web pages and debug JavaScript:
397
-
398
- 1. Open the **Develop** menu
399
- 2. Select **Show Web Inspector** (or press `Cmd + Option + I`)
400
-
401
- Alternatively, right-click any element on a web page and select **Inspect Element**.
402
-
403
- ### Configure for Automation Testing
404
-
405
- For automated testing with tools like Selenium or Playwright:
406
-
407
- ```bash
408
- # Enable Remote Automation
409
- defaults write com.apple.Safari.TechnologyPreview AllowRemoteAutomation -bool true
410
-
411
- # Run Safari Technology Preview with WebDriver
412
- safaridriver --enable
413
- ```
414
-
415
- ---
416
-
417
- ## Common Issues
418
-
419
- ### Issue: Safari Technology Preview is Very Slow
420
-
421
- **Symptoms**: Browser feels sluggish, pages take long to load, or UI is unresponsive.
422
-
423
- **Solution**: Safari Technology Preview may have experimental features enabled that impact performance. Reset experimental features to their defaults:
424
-
425
- 1. Go to **Develop > Experimental Features**
426
- 2. Scroll to the bottom and click **Reset All to Defaults**
427
- 3. Restart Safari Technology Preview
428
-
429
- ### Issue: Websites Display Incorrectly
430
-
431
- **Symptoms**: Pages render differently in Safari Technology Preview than in stable Safari or other browsers.
432
-
433
- **Solution**: This may indicate upcoming rendering changes or experimental feature conflicts:
434
-
435
- 1. Compare the page in stable Safari to confirm it is a Safari Technology Preview-specific issue
436
- 2. Check if any experimental features are affecting rendering
437
- 3. Report the issue to Apple via the **Safari > Report an Issue** menu option
438
-
439
- ### Issue: Extensions Not Working
440
-
441
- **Symptoms**: Safari extensions fail to load or function correctly in Safari Technology Preview.
442
-
443
- **Solution**: Extensions must be compatible with the WebKit version in Safari Technology Preview:
444
-
445
- 1. Check if the extension developer provides a beta version compatible with Safari Technology Preview
446
- 2. Disable problematic extensions via **Safari Technology Preview > Settings > Extensions**
447
- 3. Some extensions may require updates as Safari Technology Preview evolves
448
-
449
- ### Issue: Cannot Sign In to iCloud Features
450
-
451
- **Symptoms**: iCloud Keychain, bookmarks, or other iCloud features are unavailable.
452
-
453
- **Solution**: Safari Technology Preview uses the same iCloud account as your system:
454
-
455
- 1. Ensure you are signed in to iCloud in **System Settings > Apple ID**
456
- 2. Verify that Safari is enabled in **System Settings > Apple ID > iCloud > Apps Using iCloud**
457
- 3. Restart Safari Technology Preview
458
-
459
- ### Issue: Safari Technology Preview Crashes on Launch
460
-
461
- **Symptoms**: Application crashes immediately when opened.
462
-
463
- **Solution**: Reset Safari Technology Preview preferences and data:
464
-
465
- ```bash
466
- # Close Safari Technology Preview if running
467
- osascript -e 'quit app "Safari Technology Preview"'
468
-
469
- # Remove preferences (keeps bookmarks via iCloud)
470
- rm -rf ~/Library/Preferences/com.apple.SafariTechnologyPreview.plist
471
- rm -rf ~/Library/Caches/com.apple.SafariTechnologyPreview/
472
-
473
- # Restart the app
474
- open -a "Safari Technology Preview"
475
- ```
476
-
477
- If crashes persist, reinstall:
478
-
479
- ```bash
480
- brew uninstall --cask safari-technology-preview
481
- brew install --cask --quiet safari-technology-preview
482
- ```
483
-
484
- ---
485
-
486
- ## Updating Safari Technology Preview
487
-
488
- Safari Technology Preview receives updates approximately every two weeks. Homebrew tracks these releases automatically.
489
-
490
- ### Check for Updates
491
-
492
- ```bash
493
- brew outdated --cask | grep safari-technology-preview
494
- ```
495
-
496
- ### Update to Latest Version
497
-
498
- ```bash
499
- brew upgrade --cask --quiet safari-technology-preview
500
- ```
501
-
502
- ### Automatic Updates via Mac App Store
503
-
504
- Safari Technology Preview can also update through the Mac App Store if installed from there. However, Homebrew installations update through Homebrew, not the App Store.
505
-
506
- ---
507
-
508
- ## Uninstallation
509
-
510
- To remove Safari Technology Preview:
511
-
512
- ```bash
513
- brew uninstall --cask safari-technology-preview
514
- ```
515
-
516
- This removes the application but preserves your iCloud-synced data (bookmarks, Reading List). To remove local caches and preferences:
517
-
518
- ```bash
519
- rm -rf ~/Library/Preferences/com.apple.SafariTechnologyPreview.plist
520
- rm -rf ~/Library/Caches/com.apple.SafariTechnologyPreview/
521
- rm -rf ~/Library/Safari\ Technology\ Preview/
522
- ```
523
-
524
- ---
525
-
526
- ## References
527
-
528
- - [Safari Technology Preview - Apple Developer](https://developer.apple.com/safari/technology-preview/)
529
- - [Safari Technology Preview Release Notes](https://developer.apple.com/documentation/safari-technology-preview-release-notes)
530
- - [Homebrew Cask: safari-technology-preview](https://formulae.brew.sh/cask/safari-technology-preview)
531
- - [WebKit Blog - Safari Technology Preview](https://webkit.org/blog/category/safari-technology-preview/)
532
- - [Safari Developer Resources](https://developer.apple.com/safari/resources/)
533
- - [WebKit Project](https://webkit.org/)